![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解Java虚拟机
jiesi00
这个作者很懒,什么都没留下…
展开
-
垃圾回收
前沿:主流的虚拟机实现都采用了分代收集的思想,把整个堆区划分为新生代和老年代;新生代又被划分成Eden空间、 From Survivor 和 To Survivor 三块区域HotSpot虚拟机比例为8:1:1新生代采用复制算法收集内存,而老年代采用标记-清除算法收集内存。因为新生代比较多并且大都是朝生夕灭的,所以适合复制算法,效率高,实现简单。而老年代的不经常动,比较适合标记-清除方法。h...原创 2019-05-17 14:10:57 · 166 阅读 · 0 评论 -
第七章 类加载过程
1.类加载过程:加载、验证、准备、解析、初始化虚拟机的类加载机制:把描述类的数据从Class文件(或者其他途径)加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。加载:1.通过一个类的全限定名获取定义此类的二进制字节流2.将这个字节流所代表的静态结构转化为方法区的运行时数据结构3.在内存中生成一个代表这个类的java.lang.Class对象(并...原创 2019-05-17 14:22:39 · 239 阅读 · 0 评论 -
十二、十三章 java内存模型、线程安全
原子性 可见行 有序性原子性由Java内存模型来直接保证的原子变量由:read load assign use store write 这些基本数据类型的访问读写synchronized块之间的操作也具备原子性可见行(Visibility)是指当一个线程修改了共享变量的值,其他线程可以立即得知这个修改。Java内存模型是怎么实现可见行呢?利用依赖主内存,一个变量更改了就要同步会主内存,在...原创 2019-05-17 14:23:28 · 233 阅读 · 0 评论