class文件常量池和运行时常量池比对 在学习JVM过程中,接触到常量池这个概念,后来发现不仅仅有一个运行时常量池概念,还有一个class文件常量池概念,使得本来不懂的我更加迷惑了。要想理解,那么就得对这两者进行比较理解,加深记忆。 那么,我们先看一下JVM运行时数据区: 其中, 程序计数器(PC计数器):是JVM执行程序的流水线,存放一些跳转指令。 本地方法栈:是JVM调用操作系统方法所使用的栈。 虚拟机栈:是JVM调用Java代码所使用的... 2016年07月21日 Java 暂无评论 喜欢 6 阅读 2,475 views 次 阅读全文
Java虚拟机之辨清Java堆 Java堆是和Java应用程序关系最为密切的内存空间,几乎所有的对象都放在堆中。并且Java堆是完全自动化管理的,通过垃圾回收机制,垃圾对象会被自动清理,而不需要显式地释放,c/c++中的free()等为显示地释放内存。 根据垃圾回收机制的不同,Java堆有可能拥有不同的结构。最为常见的一种构成是将整个Java堆分为新生代和老年代。其中,新生代存放新生对象或者年龄不大的对象,老年代则存放老年对象。新生代有... 2016年04月21日 Java 暂无评论 喜欢 1 阅读 642 views 次 阅读全文
初识Java虚拟机的基本结构 Java虚拟机是什么?是做什么的?可能这些问题在我们学习Java之初就伴随这我们。 一般来说我们使用IDE将我们编写好的Java程序,点击运行,在不出错的情况下,就会得到我们想要的结果。那么这期间到底发生了什么?先看下图: 知道的是Java程序通过编译器编译成class文件,那么后面到底发生了什么,就是Java虚拟机的工作。现在我们先要认识Java虚拟机的基本结构。 类加载子系统 类加载子系统负责从文件系统... 2016年04月12日 Java 暂无评论 喜欢 0 阅读 775 views 次 阅读全文
Java工程师成神之路[转] 一、基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://ifeve.com/jmm-faq/ 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Java工具 jps, jstack, jmap, jconsole, jinfo, jhat, javap, … http://kenai.com/projects/btrace http://www.crashub.org/ https://github.com/taobao/TProfiler https://github.com/CSUG/HouseMD http:/... 2016年04月07日 Java 暂无评论 喜欢 0 阅读 914 views 次 阅读全文