JVM
zhmystic
愿你走出半生,归来仍是少年。
展开
-
初始JVM -- 一 .JAVA内存区域与内存溢出异常
对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄露和溢出方面的问题。不过,也正是因为Java程序员把内存控制的权利交给了JVM,一旦出现内存泄露或溢出方面的异常,那么排查错误将会成为一项异常艰难的工作。 笔者之前开发并没有接触过实质上的JVM实战,目前只是对理论方面做一些了解,所以JVM相关...原创 2018-08-23 11:38:42 · 165 阅读 · 0 评论 -
初识JVM-- 四.虚拟机类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。一.类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载,验证,准备,解析,初始化,使用和卸载七个阶段。 图中,加载,验证,准备,初始化,卸载这五个阶段的顺序是确定的,类的加...原创 2018-08-27 18:45:47 · 191 阅读 · 0 评论 -
初始JVM-- 二.垃圾收集简介
说起垃圾收集(GC),大部分人把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考GC需要完成的三件事情:那些内存需要回收? 什么时候进行回收? 如何回收? 经过半个多世纪的发展,目前内存的动态分配与内存回收技术已经相当成熟,一切看起来都进...原创 2018-08-23 14:25:27 · 116 阅读 · 0 评论