Jave虚拟机
zxzghr
这个作者很懒,什么都没留下…
展开
-
对象的创建
这里只考虑普通的Java对象,不包括数组和CLass对象。当虚拟机遇到new指令时,先检查这个指令的参数是否在常量池中定位到类的符号引用。检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果有没,则先执行类加载过程。 类加载检查通过后,虚拟机为新生对象分配内存-内存大小在类加载成功后即可确定。根据使用的GC收集器是否具有压缩整理功能可分两种方式:一是“指针碰撞”-占用内存和空闲内存在物理...原创 2018-04-30 10:25:30 · 121 阅读 · 0 评论 -
运行时数据区域
方法区和堆属于各线程共享内存区域。虚拟机栈、本地方法栈、程序计数器属于线程私有内有区域。1、程序计数器(Program Counter Register):占用内从空间较小,标识当前线程执行的字节码行号。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器。 如果线程正在执行的是一个java方法,这个计数器记...原创 2018-04-29 23:09:17 · 294 阅读 · 0 评论