JVM
文章平均质量分 76
赵洪欣
这个作者很懒,什么都没留下…
展开
-
JVM学习(一)之Class类文件结构
JVM将.java文件编译成.class文件即所谓的字节码,然后在不同操作系统上的JVM进行装载、执行,实现java代码的“一处编写,到处运行”。 Class类文件可以理解为一组以8位字节为基础单位的二进制流,无任何分隔符。其伪结构包含无符号数和表: 无符号数属于基本的数据类型,以u1、 u2、 u4、 u8来分别代表1个字节、 2个字节、 4个字节和8个字节的无符号数;表又可以包含无符号数原创 2017-04-03 21:42:36 · 347 阅读 · 0 评论 -
JVM 垃圾回收
Java程序运行的内存管理由JVM来完成,在探究GC前,准备几个简单的问题:如何判断内存可以回收?什么时候回收?如何回收?引用计数法当一个对象被创建,并且将该对象实例分配给一个变量,该变量计数器设置为1。另一个变量引用到这个对象,计数器加1。当一个对象实例的某个引用超过了生命周期或者引用其他对象时,则原对象实例的引用计数器减1。 当引用计数器为零时,对象即可被回收优点:简单高效缺点原创 2017-05-15 22:44:20 · 214 阅读 · 0 评论 -
Java并发编程
缓存一致性协议当某个CPU核心写数据时,如果发现其中有变量被其他CUP核心共享,则会通知那个CUP核心将该变量缓存置为无效,如果用到时再去内存重新读取。如此可以保证多个CPU共享同一变量的一致性。MESI的状态M(Modifed) 数据有效,CPU的数据被修改了,且与内存中不一致,数据目前只存在于当前CPU的缓存中。E(Exclusive) 数据有效,数据与内存中的数据一致,不与其他CPU原创 2017-05-07 15:17:46 · 207 阅读 · 0 评论