摘要:
可达性分析 通过gc root根节点,从跟节点开始进行引用链的搜索,如果对象搜索不到,就证明这个对象是不可达的,就会在三色标记算法把这个对象标记为白色不可达,最终引发垃圾回收。 gc root是可达性分析的起点,gc root有几种,第一种,虚拟机栈里面引用的对象,也就是栈帧中的本地变量,第二种,本 阅读全文
posted @ 2022-05-21 17:33
我是廖志伟
阅读(42)
评论(0)
推荐(0)
摘要:
文章目录 SerialParNewParallel scavenge复制算法分代收集算法空间分配担保Serial OldParallel old标记整理算法CMS标记清除算法G1 垃圾回收器有多个,先说新生代的三个垃圾回收器,serial,parnew,parallel scavenge,然后再说老 阅读全文
posted @ 2022-05-21 17:26
我是廖志伟
阅读(36)
评论(0)
推荐(0)
摘要:
字节码结构有:魔数,副版本号,主版本号,常量池容量计数器,访问标志,类索引,父类索引,接口索引集合,字段表,方法表,属性表等。 拿魔数来说,它是用来区分文件类型的一种标志,会占用开头的4个字节,之所以需要魔数来区分文件类型,是因为文件名后缀容易被修改,所以为了保证文件的安全性,将文件类型写在文件内部 阅读全文
posted @ 2022-05-21 17:11
我是廖志伟
阅读(16)
评论(0)
推荐(0)
摘要:
文章目录 JDK1.6、JDK1.7、JDK1.8 内存模型演变Java虚拟机栈堆和元空间 JDK1.6、JDK1.7、JDK1.8 内存模型演变 JDK 1.6:有永久代,静态变量存放在永久代上。 JDK 1.7:有永久代,但已经把字符串常量池、静态变量,存放在堆上。逐渐的减少永久代的使用。 JD 阅读全文
posted @ 2022-05-21 17:08
我是廖志伟
阅读(38)
评论(0)
推荐(0)
摘要:
文章目录 定义应用场景对象在JVM中对象的布局JVM通过 synchronized 在对象上加锁实现原理JDK6以前实现步骤 JDK6版本及以后对象从无锁到偏向锁转化的过程轻量级锁升级自旋锁重量级锁 定义 Synchronized是Java语言的关键字,它保证同一时刻被Synchronized修饰的 阅读全文
posted @ 2022-05-21 16:49
我是廖志伟
阅读(38)
评论(0)
推荐(0)
摘要:
文章目录 HashMap底层实现原理以及数据结构第一个扩展点第二个扩展点第三个扩展点第四个扩展点第五个扩展点第六个扩展点 HashMap底层实现原理以及数据结构 向HashMap中添加一个元素时,当前元素的key会调用hashCode方法来决定它在数组中存放的位置。如果这个位置没有其他元素,会把 阅读全文
posted @ 2022-05-21 16:48
我是廖志伟
阅读(42)
评论(0)
推荐(0)
浙公网安备 33010602011771号