摘要: 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。对JVM内存的系统级的调优主要的... 阅读全文
posted @ 2015-06-26 15:19 宫商角徵羽 阅读(216) 评论(2) 推荐(1) 编辑
摘要: JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To ... 阅读全文
posted @ 2015-06-26 15:19 宫商角徵羽 阅读(111) 评论(0) 推荐(0) 编辑
摘要: Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入到符号表注... 阅读全文
posted @ 2015-06-26 15:18 宫商角徵羽 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将... 阅读全文
posted @ 2015-06-26 15:17 宫商角徵羽 阅读(128) 评论(0) 推荐(0) 编辑