摘要: 垃圾回收主要内容: 1. 那些内存需要回收? 2. 什么时候回收? 3. 如何回收? 垃圾回收主要针对运行时数据区那些区域? 运行时数据区的线程私有区域有:虚拟机栈,本地方法栈,程序计数器等; 栈中的栈帧随着方法的进入和退出执行入栈和出栈,每个栈帧的内存分配在编译期就已经确定; 随着线程或方法的结束 阅读全文
posted @ 2017-03-19 23:20 wanhua.wu 阅读(2817) 评论(0) 推荐(1) 编辑
摘要: 1,JVM内存结构 线程私有: ①,程序计数器 定义:当前线程所执行字节码的行号指示器 作用:选取下一条需要执行的字节码指令 (如:分支,循环,跳转,异常处理,线程恢复等依赖该计数器完成) 异常:无异常 注: <1>,每个线程都有一个独立的程序计数器 <2>,对于Native方法,计数器值为空 <3 阅读全文
posted @ 2017-03-19 16:37 wanhua.wu 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.JVM初始化步骤 ①,如果类还没有加载连接,则虚拟机先加载并连接 ②,父类还没有被初始化,则先初始化父类 ③,如果类包含初始化语句,则系统依次执行这些初始化语句 2.类初始化时机 ①,使用new创建类的实例 ②,访问类或接口的静态变量,或者对静态变量进行赋值 ③,调用类的静态方法 ④,反射 ⑤, 阅读全文
posted @ 2017-03-19 14:17 wanhua.wu 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 类加载器 作用:通过类全限定名来获取二进制字节流 用例:类层次划分,OSGi,热部署,代码加密 1,类和类加载器 任意一个类和加载该类的加载器一同确立在虚拟机中的唯一性; 每个类拥有独立的类名称空间; 判断两个类是否相等,必须建立在同一个类加载器加载的前提下;否则会影响:equals, isAssi 阅读全文
posted @ 2017-03-19 00:37 wanhua.wu 阅读(200) 评论(0) 推荐(0) 编辑