Java虚拟机
hoji_James
这个作者很懒,什么都没留下…
展开
-
深入理解Java虚拟机-运行时数据区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。Java虚拟机所管理的内存将会包括一下几个运行时数据区域。 1.程序计数器(线程私有区)记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)2.虚拟机栈(线程私有区)(1)描述的是Java方法执行的内存模型(2)每个方...原创 2018-06-06 20:08:36 · 179 阅读 · 0 评论 -
深入理解Java虚拟机-垃圾收集
前言:Java虚拟机的运行时数据区域如下: 其中,程序计数器、虚拟机栈、和本地方法栈这三个区域属于线程私有的,只存在于线程的声明周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。垃圾回收主要是针对Java堆和方法区进行。一、判断一个对象是否可被回收1.引用计数器法实现:给对象添加一个引用计数器,当对象增加一个引...原创 2018-06-07 20:39:45 · 224 阅读 · 0 评论 -
深入理解Java虚拟机-类加载机制
虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。此外,类是在运行期间动态加载的。一、类的生命周期包括一下7个阶段:备注:其中解析过程在某些情况下可以在初始化阶段之后再开始,这是为了支持Java的动态绑定。加载(Loading)验证(Verification)准备(Preparation)解...原创 2018-06-07 21:00:25 · 247 阅读 · 0 评论