diff --git a/notes/Java 虚拟机.md b/notes/Java 虚拟机.md index 3bb9f289..906f4ef6 100644 --- a/notes/Java 虚拟机.md +++ b/notes/Java 虚拟机.md @@ -102,7 +102,7 @@ Class 文件中的常量池(编译器生成的各种字面量和符号引用 ## 直接内存 -在 JDK 1.4 中新加入了 NIO 类,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆里的 DirectByteBuffer 对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了在 Java 堆和 Native 堆中来回复制数据。 +在 JDK 1.4 中新加入了 NIO 类,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆里的 DirectByteBuffer 对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为其避免了在 Java 堆和 Native 堆中来回复制数据。 # 二、垃圾收集 @@ -146,7 +146,7 @@ Java 虚拟机使用该算法来判断对象是否可被回收,在 Java 中 GC ### 3. 引用类型 -无论是通过引用计算算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判定对象是否可被回收都与引用有关。 +无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判定对象是否可被回收都与引用有关。 Java 具有四种强度不同的引用类型。 @@ -256,7 +256,7 @@ finalize() 类似 C++ 的析构函数,用来做关闭外部资源等工作。 一般将 Java 堆分为新生代和老年代。 - 新生代使用:复制算法 -- 老年代使用:标记 - 清理 或者 标记 - 整理 算法 +- 老年代使用:标记 - 清除 或者 标记 - 整理 算法 ## 垃圾收集器