随笔分类 -  深入理解JVM虚拟机

摘要:虚拟机把描述类的数据从Class文件夹加载到内存,并对数据进行小燕、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。 下面所说的Class文件不是具体的某个文件,应当是一串二进制的字节流,无论何种形式存在都可以。 类从被加载到虚拟机内存中开始,到卸载出内存为止 阅读全文
posted @ 2016-11-07 15:22 bad_boy_f 阅读(216) 评论(0) 推荐(0)
摘要:这里讨论的收集器基于JDK 1.7 Update 14之后的HotSpot虚拟机。 如果两个收集器之间存在连线,说明可以搭配使用。虚拟机所处的区域,则表示它是属于新生代收集器还是年老代收集器。在这里我们先明确一个观点,我们只是比较各个收集器,并不是挑出一个最好的。因为知道现在为止还没有最好的收集器出 阅读全文
posted @ 2016-11-07 13:51 bad_boy_f 阅读(238) 评论(0) 推荐(0)
摘要:在上面一篇文章中,介绍了java内存运行时区域,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程生灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着进栈出栈的操作,每一个栈帧中分配着多少内存基本上是在类结构确定下来就已知的,因此这几个区域的内存的分配和回收都具有确定性。在方法接受时内存就已经回收 阅读全文
posted @ 2016-11-06 00:17 bad_boy_f 阅读(200) 评论(0) 推荐(0)
摘要:java虚拟机所管理的内存将会包括一下几个运行时数据区域。 程序计数器: 程序计数器是一块较小的内存空间。字节码解析式工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。java虚拟机的多线程是通过线程轮流切换并 阅读全文
posted @ 2016-11-03 21:17 bad_boy_f 阅读(592) 评论(0) 推荐(0)