1. 7.5 内存分区historical

    1. JVM内存分区 1.1. 线程共享 1.1.1. 堆 - 在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。之所以说几乎所有,不是说所有的是因为较新版本的Java(从Java 6的某个更新开始)中,由于JIT编译器的发展和”逃逸分析”技术的逐渐成熟,

  2. 7.9 对象分配规则historical

    1. 规则 - 对象优先分配在Eden区,如果Eden区没有足够的空间时,虚拟机执行一次Minor GC。 - 大对象直接进入老年代(大对象是指需要大量连续内存空间的对象)。这样做的目的是避免在Eden区和两个Survivor区之间发生大量的内存拷贝(新生代采用复制算法收集内存)。 - 长期存活的对

  3. 7.12 逃逸分析historical

    1. 逃逸分析是什么 就是分析一个对象的作用域。 逃逸有两种: - 方法逃逸:在本方法中定义的对象可以被外部方法访问 - 线程逃逸:在本线程中定义的对象可以被其他线程访问 2. 如何开启 逃逸分析的 JVM 参数如下: - 开启逃逸分析:-XX:+DoEscapeAnalysis - 关闭逃逸分析: