从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制
分类:
编程语言 时间:
2015-05-23 22:42:35
阅读次数:
152
JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To ...
分类:
编程语言 时间:
2015-05-23 22:28:43
阅读次数:
210
1.排序算法以及他们的复杂度(平均复杂度) 重点:快速排序2.操作系统的内存有什么作用: 进程管理、内存模型(类比JVM内存模型) 画出来:(loadclass–>JNI到方法接口流程图)。。。Heap,stack,PC count,method,方法接口区?3.解释GC原理4.解释分代收集算法5....
分类:
其他好文 时间:
2015-05-23 14:06:49
阅读次数:
130
本文引用自:深入理解Java虚拟机的第2章内容 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一...
分类:
其他好文 时间:
2015-05-23 11:22:27
阅读次数:
163
jvm参数设置:1. -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:-PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+PrintHeapAtGC2. -agentlib:hprof(按Ctrl+C生成 java.hprof...
分类:
其他好文 时间:
2015-05-22 21:01:30
阅读次数:
121
现象:发现运行在tomcat的应用,不管上多少个vuser模拟请求压力,只会耗用200%的cpu,测出应用的tps很低,近10次每秒。分析:1、网络的瓶颈排除2、执行jstack-l线程号>线程号.loglog如下:3、看出来了0x0000000751968760
的内存变量一个锁住,另一个在获取锁,出现死锁问题。..
分类:
其他好文 时间:
2015-05-20 09:59:01
阅读次数:
149
Java内存管理无非就是对内存进行分配和释放。对于分配来说,基本类型和对象的引用存储到栈中,常量存储到常量池中,对象存储到堆上,这是一般的分配。而对于回收来说要复杂的多,如果回收不好,还可能造成分配出去的内存得不到回收而造成内存泄漏。
这一篇将简单介绍一下Java内存的分配,下一篇将介绍内存的回收及内存泄漏等知识。
1、JVM内存模型
...
分类:
编程语言 时间:
2015-05-18 10:55:01
阅读次数:
152
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器
本质
程序计数器本质上是一块较小的内存空...
分类:
编程语言 时间:
2015-05-15 21:34:05
阅读次数:
170
这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有 比较大的帮助。 废话不想讲了.入主题: 先了解具体的概念: JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和...
分类:
其他好文 时间:
2015-05-15 18:08:47
阅读次数:
192
JVM系列
1.深入JVM之源码编译机制
2.深入JVM之类加载机制
3.深入JVM之类执行机制
4.JVM内存诊断工具 关于类执行机制
关于类执行机制模式机制
关于类执行机制中的模式选择...
分类:
其他好文 时间:
2015-05-15 17:41:35
阅读次数:
119