-
jvm的垃圾回收是如何暂停所有线程的
jvm的垃圾回收是如何暂停所有线程的 1. 为什么需要暂停线程? GC 需要对堆内存中的对象做可达性分析(reachability analysis),判断哪些对象是垃圾。如果应用线程(Mutator Threads)还在继续运行,就可能: 在 GC 标记过程中修改对象引用,导致结果不一致; 在对象回收时还在访问已被标记回收的对象。 因此,GC 必须让所有应用线程在某个点暂停,保证堆结构的一致性。…- 67
- 0
-
java-10-features
局部变量类型推断("var") 从 Java 10 开始,我们可以使用关键字 var 来声明局部变量(局部意味着在方法内部)。例如,以下定义是允许的: var i = 10; var hello = "Hello world!"; var list = List.of(1, 2, 3, 4, 5); var httpClient = HttpClient.n…- 96
- 0