java虚拟机
文章平均质量分 83
饭饭的小肚子
菜鸟中的战斗机。
展开
-
java内存区域相关(出自《深入理解java虚拟机》)
运行时数据区域程序计数器(线程私有) 看作当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码的解释器工作时就是通过改变这个计数器来 选取下一条需要执行的字节码指令。java虚拟机栈(线程私有) 描述的是java方法(字节码)执行的内存模型:每个方法在执行时都会创建一个栈帧用于存取局部变量表、操作数栈、动态链接、方法出口等信息。局部变量表中存放编译期可知的数据类型: 基本数原创 2017-08-20 20:07:58 · 197 阅读 · 0 评论 -
java类加载机制--《深入理解java虚拟机》
类生命周期:加载验证 准备 解析 初始化 使用卸载 有且只有五种情况立即对类进行初始化:遇到new、getstatic、putstatic或invokestatic这四条字节码指令时,如果类没有进行过初始化,则立即对类进行“初始化”。使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需触发其初始化。当初始化一个类的时候,如果发现其父原创 2017-08-24 22:16:59 · 184 阅读 · 0 评论 -
java垃圾回收机制相关(出自《深入理解java虚拟机》)
那些内存需要回收?什么时候回收?如何回收?内存运行时区域 程序计数器、虚拟机栈、本地方法栈 三个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而有条不絮地执行着出栈和入栈操作。java堆和方法区为线程共享。一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,运行期得知。(需要垃圾回收机制去回收)判断对象是否存活 引用计数算法 给对象中添原创 2017-08-20 21:52:52 · 178 阅读 · 0 评论