Java虚拟机
文章平均质量分 90
HEATSNOW_
不喜不悲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(1) Java的运行时数据区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,一般来说,包含下面几个其中绿色部分是由所有线程共享的数据区,橙色部分是线程隔离的数据区。1.程序计数器程序计数器是一块比较小的内存空间,可以看成是当前线程所执行的字节码的行号指示器。也就是用来标识当前线程执行到哪个地方,所以线程隔离就理所当然。Java虚拟机的多线程是各线程轮换执行的,所以,为了能恢复到某个线程正...原创 2018-05-27 21:26:32 · 270 阅读 · 0 评论 -
(5) 类文件结构
使用Java编译器可以将Java代码编译为存储字节码的Class文件,JVM上可以运行字节码文件,事实上,其他的语言也可以利用其相应的编译器编译成Class文件运行在Java虚拟机上。 Class文件是一组以8位字节为基础单位的二进制流,结构中只有两种数据类型:无符号数和表。 无符号数以u1、u2、u4、u8来表示1、2、4和8个字节的无符号数,可以来描述数字、索引引用、数量值...原创 2018-06-04 18:47:06 · 297 阅读 · 0 评论 -
(2) 虚拟机内的对象
Java是一门面向对象的语言,在Java程序运行过程中无时无刻都有对象被创建出来。1.对象的创建 当虚拟机遇到一条new命令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否被加载、解析和初始化过,如果没有,就先执行类的加载过程。虚拟机为新生对象分配内存。对象所需内存在类加载过程中就可以确定,实际对象分配空间就是从Java堆中划分出一块内...原创 2018-06-01 21:26:07 · 248 阅读 · 0 评论 -
(3) 虚拟机中对象的生死判断
Java堆中存在的对象实例,垃圾回收器再进行回收前,首先要判断对象是存货还是死亡。1.引用计数算法所谓的引用计数法,就是给的对象添加一个引用计数器,当对象被引用时,计数值加一,引用失效时,计数值减一。计数器的值为0时就是对象没有被引用。引用计数法简单高效,但是难以解决对象之间的循环引用问题,因此大多数Java虚拟机都没有采用这种算法public class test{ public Obj...原创 2018-06-02 13:20:25 · 290 阅读 · 0 评论
分享