
深入理解Java虚拟机
文章平均质量分 73
1Q84emo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Java虚拟机(一)-----Java内存区域和内存溢出
Java虚拟机运行时数据区域java在运行时主要可以分为两类,一类是线程独享的,另外就是线程共享的。程序计数器:记录jvm字节码指令的地址,我自己的理解就是每个线程在执行代码的时候,一条命令在字节码文件中对应一条字节码,然后你要执行下一句指令,就需要知道前一条指令的地址,程序计数器就起到记录这个指令地址的作用。需注意,程序计数器不会抛出内存溢出异常OutOfMemoryError虚拟机栈(本地方法栈原创 2017-10-25 16:59:06 · 171 阅读 · 0 评论 -
深入理解Java虚拟机(二)-----垃圾回收(GC)
什么是GCgc指的就是java虚拟机垃圾回收,它回收区域针对的对象是堆内存和方法区,因为栈内存(本地方法栈和虚拟机栈在hotspot虚拟机中统称为栈)它只存活于方法运行时,是由虚拟机自动进行垃圾回收的,不需要程序员关心 Minor GC:对新生代对象的垃圾回收 Full GC(Major GC):对老年代区对象的回收如何判断对象可回收1、引用计数算法(过时):对象被引用,它的引用计数器就会+1,原创 2017-10-25 17:22:14 · 254 阅读 · 0 评论 -
深入理解Java虚拟机(三)-----类文件结构和类加载机制
类文件结构虚拟机在对编译代码的时候会产生字节码的文件,也就是class文件,这个字节码文件的产生是java虚拟机实战跨平台语言操作的重要原因。 首先,这个class文件是一组由8个字节为基础单位的二进制流。它里面依次包括魔数和class文件版本、常量池、访问标志、类索引、父类索引与接口索引集合、字段表集合、方法表集合、属性表集合重点理解常量池和字段表常量池:class文件的资源仓库,它里面存放着很原创 2017-10-26 18:54:21 · 208 阅读 · 0 评论