摘要: JVM结构Java编写的代码会按照下图的流程来执行类装载器装载负责装载编译后的字节码,并加载到运行时数据区(Runtime Data Area),然后执行引擎执行会执行这些字节码。类加载器(Class Loader)Java提供了动态的装载特性;它会在运行时的第一次引用到一个class的时候对它进行装载和链接,而不是在编译期进行。JVM的类装载器负责动态装载。Java类装载器有如下几个特点:层级结构:Java里的类装载器被组织成了有父子关系的层级结构。Bootstrap类装载器是所有装载器的父亲。代理模式:基于层级结构,类的装载可以在装载器之间进行代理。当装载器装载一个类时,首先会检查它是否在 阅读全文
posted @ 2013-07-11 16:50 为了生活,加油 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 虚拟机(Virtual Machine)JRE是由Java API和JVM组成的。JVM的主要作用是通过Class Loader来加载Java程序,并且按照Java API来执行加载的程序。虚拟机是通过软件的方式来模拟实现的机器(比如说计算机),它可以像物理机一样运行程序。设计虚拟机的初衷是让Java能够通过它来实现WORA(Write Once Run Anywhere一次编译,到处运行),尽管这个目标现在已经被大多数人忽略了。因此,JVM可以在不修改Java代码的情况下,在所有的硬件环境上运行Java字节码。Java虚拟机的特点如下:基于栈的虚拟机:Intel x86和ARM这两种最常见的 阅读全文
posted @ 2013-07-11 16:37 为了生活,加油 阅读(579) 评论(0) 推荐(0) 编辑
摘要: “C4: The Continuously Concurrent Compacting Collector” (Gil Tene, Balaji Iyengar and Michael Wolf; Proceedings of the International Symposium on Memory Management, 2011): Learn more about the C4 algorithm and shattered object moves. “Garbage-first garbage collection” (David Detlefs, et al., 2004, Proceedings of the 4th international Symposium on Memory Management, 2004): Learn more about the G1 algorithm. (Paid access on the ACM website.) “G1: Java’s Garbage First Garbage Collector” (Eric J. B 阅读全文
posted @ 2013-07-11 15:41 为了生活,加油 阅读(936) 评论(0) 推荐(0) 编辑