
深入理解java虚拟机
iteye_12702
这个作者很懒,什么都没留下…
展开
-
<1> jvm内存区域
[b]一、 java简介[/b] [b]1.1 java技术体系[/b] 从广义上讲,Clojure、JRuby、Groovy等运行于Java虚拟机上的语言及其相关的程序都属于Java技术体系的一员。如果仅从传统意义上来看,Sun官方所定义的java技术体系包括了以下几个组成部分: 1.Java程序设计语言 2.各种硬件平台上的java虚拟机 3.Class文件格式 4.Java AP...2014-08-18 21:57:55 · 80 阅读 · 0 评论 -
<2-1> 垃圾收集算法
[b]2.1 概述[/b] 说起垃圾回收(Garbage Collection, [color=red]GC[/color]),大部分人都把这项技术当做java语言的伴生产物。事实上,[b]GC的历史远远比Java久远[/b],1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的三件事情: [color=red]...2014-08-20 11:08:14 · 112 阅读 · 0 评论 -
<2-2> 垃圾收集器与内存分配
[b]2.4 垃圾收集器[/b] 如果说垃圾收集算法是内存回收的[b]方法论[/b],垃圾收集器就是内存回收的[b]具体实现[/b]。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数共用户根据自己的应用特点和要求组合出各个年代所使用的收集器。这里讨论的收集器基于Sun HotSpot虚拟机1....2014-08-22 10:41:09 · 86 阅读 · 0 评论 -
<3> 虚拟机性能监控与故障处理工具
经过前面对于虚拟机内存分配与回收技术的介绍,我们已经建立了一个比较完善的理论基础。理论总是作为指导实践的工具,能把这些知识投入到实际工作中才是我们的最终目的。 给一个系统定位问题的时候,知识,经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:[color=red]运行日志,异常堆栈,GC日志,线程快照(threaddump/javacore文件)、堆转储快照(heapd...2014-08-23 08:58:47 · 107 阅读 · 0 评论 -
<4-1> 虚拟机类加载机制--类加载过程
[b]4、虚拟机类加载机制 4.1 概述[/b] [color=red]在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能被运行和使用。[/color]虚拟机把描述类的数据从[b]Class文件加载到内存[/b],[b]并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制[/b]。 与那些在编译时需要进行连接工作的语言不...2014-08-25 22:18:15 · 84 阅读 · 0 评论 -
<4-2> 虚拟机类加载机制 -- 类加载器
虚拟机设计团队把[b]类加载阶段[/b]中的"通过一个类的全限定名来获取描述此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类 。[b]实现这个动作的代码模块被称为"类加载器"[/b]。 类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足Java Applet的需求而被开发出来的 。如今Java App...2014-08-27 10:36:25 · 93 阅读 · 0 评论 -
classload抛出的异常
在实际的应用中,jvm类加载过程会抛出这样那样的异常,掌握各种异常产生的原因是很重要的,下面看几个常见异常。 [b]1. ClassNotFoundException[/b] 这是最常见的异常,产生这个异常的原因是[color=red]当前的ClassLoader中加载类时未找到类文件[/color]。对于System ClassLoader的类很容易判断,只要加载的类部在classPat...2014-09-23 22:10:10 · 532 阅读 · 0 评论