笔记,深入理解java虚拟机 Java运行时内存区域 程序计数器,线程独占,当前线程所执行的字节码的行号指示器,每个线程需要记录下执行到哪儿了,下次调度的时候可以继续执行,这个区是唯一不会发生oom的 栈,线程独占,包含虚拟机栈或native method stack,用于存放局部变量的 堆,线程共...
分类:
编程语言 时间:
2015-04-20 16:24:24
阅读次数:
232
简介 了解Java虚拟机内存分布的好处 1.了解Java内存管理的细节,有助于程序员编写出性能更好的程序。比如,在新的线程创建时,JVM会为每个线程创建一个专属的栈 (stack),其栈是先进后出的数据结构,这种方式的特点,让程序员编程时,必须特别注意递归方法要尽量少使用,另外栈的大小也有一定的.....
分类:
编程语言 时间:
2015-04-18 23:18:32
阅读次数:
217
一、关于Java垃圾回收的简介(1)Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。(2)每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性.在这几个区域内不需要过多考虑回收的问题,...
分类:
编程语言 时间:
2015-04-16 17:36:04
阅读次数:
182
想验证你对 jvm 配的一些调优参数有没有起作用吗?想不想实时监控你自定义的线程池的在实际运行时的线程个数、有没有死锁?想不想实时监控你的 Java 应用的堆内存使用情况,并根据峰值等数据设置最适合你的 Xms、Xmx 等参数?想不想找到你的应用的永久区 PermGen 的使用峰值,并根据其去设置合理的 XX:PermSize、XX:MaxPermSize 等参数?如何根据应用实时的运行运行情况合理配置年轻代(Young Generation,即 Eden 区和两个 Survivor 区之和)和年老代(Ol...
分类:
编程语言 时间:
2015-04-15 21:31:02
阅读次数:
197
##4.1 JDK的命令行工具## ###4.1.1 jps:虚拟机进程状况工具### ###4.1.2 jstat:虚拟机统计信息监视工具### ###4.1.3 jinfo:Java配置信息工具### ###4.1.4 jmap:Java内存映射工具### ###4.1.5 jhat:虚拟机堆转...
分类:
其他好文 时间:
2015-04-15 01:05:28
阅读次数:
163
1 class BirthDate { 2 private int day; 3 private int month; 4 private int year; 5 6 public BirthDate(int d, int m, int y) { 7 ...
分类:
编程语言 时间:
2015-04-14 23:14:17
阅读次数:
185
Java虚拟机内存原型寄存器:在程序中无法控制栈:存放基本类型的数据和对象的引用,但是对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放变量非RAM存储:硬盘等永久存储空间Java内存分配中的栈栈的基本单位是帧(或栈帧):每当一...
分类:
编程语言 时间:
2015-04-14 16:20:48
阅读次数:
131
对Mat工具的详细介绍,引用博文:http://my.oschina.net/biezhi/blog/286223下载地址:http://www.eclipse.org/mat/downloads.php官网介绍:http://www.eclipse.org/mat/
分类:
编程语言 时间:
2015-04-13 18:22:31
阅读次数:
146
java虚拟机所管理的内存包括以下几个运行时数据区域,如图所示:
既:程序计数器,Java虚拟机栈,本地方法栈,Java堆和方法区。
程序计数器是一块较小的内存空间,他可以看作是当前线程执行的字节码的行号指示器。
由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时间,一个处理器(对于多核处理器来说是一个内核)都只会执行一个线程中的指令。因此...
分类:
编程语言 时间:
2015-04-12 21:08:15
阅读次数:
185
转载出处:http://www.infoq.com/cn/articles/java-memory-model-2数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型:名称代码示例说明写后读a = 1;b = a;写一个变量之...
分类:
编程语言 时间:
2015-04-12 11:58:00
阅读次数:
125