
Java-JVM
IT匠人
38989725@qq.com
展开
-
JVM内存模型及垃圾回收算法
JVM内存模型总体架构图 程序计数器 多线程时,当线程数超过CPU数量或CPU内核数量,线程之间就要根据时间片轮询抢夺CPU时间资源。因此每个线程有要有一个独立的程序计数器,记录下一条要运行的指令。线程私有的内存区域。如果执行的是Java方法,计数器记录正在执行的java字节码地址,如果执行的是native方法,则计数器为空。 虚拟机栈 线程私有的,与线程在同一时间创建。管转载 2017-06-07 18:46:32 · 207 阅读 · 0 评论 -
java反射机制剖析— Class Loader
反射机制总结:为Java提供了运行时加载类的能力,也就是动态性。Class是信息提供者,Class Loader是加载工具,二者都是反射机制最基础的部分。那么所谓的反射就是解除耦合,方式就是通过Class取得未知类的信息,而后实例化。当然Class Loader的所做的工作是隐藏的,是Class对象去调用的。所以无需显示的自己调用。 简介 ClassLoader是负责加转载 2017-07-01 18:01:01 · 260 阅读 · 0 评论 -
jvm方法区的回收
很多人认为方法区(或者HotSpot虚拟机中的永久代)是没有垃圾收集的,Java虚拟机规范中确实说过可以不要求虚拟机在方法区实现垃圾收集,而且在方法区进行垃圾收集的“性价比”一般比较低:在堆中,尤其是在新生代中,常规应用进行一次垃圾收集一般可以回收70%~95%的空间,而永久代的垃圾收集效率远低于此。 永久代的垃圾收集主要回收两部分内容:废弃常量和无用的类。回收废弃常量与回收Java堆中的对转载 2017-07-08 15:53:13 · 275 阅读 · 0 评论 -
Javac编译原理
Javac编译原理 java源代码(符合语言规范)-->javac-->.class(二进制文件)-->jvm-->机器语言(不同平台不同种类) 如何让java的语法规则适应java虚拟机的语法规则?这个任务由javac编译器来完成java语言规范转换成java虚拟机语言规范。 编译流程: 流程: 词法分析器:将源码转换为Token流 将转载 2017-07-28 10:09:56 · 267 阅读 · 0 评论 -
JVM加载class文件的原理浅析
1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.Java中的类大致分为三种: 1.系统类 2.扩展类 3.由程序员自定义的类 3.类装载方式,有两种 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加转载 2017-07-28 10:24:23 · 328 阅读 · 0 评论 -
The Java Virtual Machine Instruction Set
http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html转载 2017-10-18 17:36:56 · 325 阅读 · 0 评论