主存储器和工作存储器Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域,这些区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器。方法区存储类信息,常量,字节码等数据,堆内存存储所有生成的对象,方法区和堆内存为所有线程共享,而虚拟机栈是每个线程独有的,也就是说每个线程...
分类:
编程语言 时间:
2015-02-01 20:17:58
阅读次数:
263
http://www.cnblogs.com/springsource/archive/2013/01/11/2856968.html这个是360图书馆中的那篇!介绍堆内存老年代和新生代很详细http://www.360doc.com/content/13/1001/14/15643_3183819...
分类:
编程语言 时间:
2015-01-26 20:56:35
阅读次数:
215
概述Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。对...
分类:
编程语言 时间:
2015-01-26 13:23:30
阅读次数:
279
系列目录:Java内存模型深度解析:基础部分Java内存模型深度解析:重排序Java内存模型深度解析:顺序一致性Java内存模型深度解析:volatileJava内存模型深度解析:锁Java内存模型深度解析:finalJava内存模型深度解析:总结并发编程模型的分类在并发编程中,我们需要处理两个关键...
分类:
编程语言 时间:
2015-01-26 11:46:11
阅读次数:
277
一、背景知识
1、JVM体系结构
2、JVM运行时数据区
3、JVM内存模型
JVM运行时内存 = 共享内存区 + 线程内存区
3-1、共享内存区
共享内存区 = 持久带 + 堆
持久带 = 方法区 + 其他
堆 = Old Space + Young Space
Young Space = Eden +...
分类:
编程语言 时间:
2015-01-23 11:14:02
阅读次数:
306
一:概念
Java编程语言把内存分成两种,一种叫做栈内存,一种叫做堆内存。
Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动...
分类:
编程语言 时间:
2015-01-23 09:36:46
阅读次数:
218
引用都存在栈中, 属性都在堆中 方法都在公共代码区 当一个堆空间没有引用指向时,就成了垃圾
分类:
编程语言 时间:
2015-01-20 21:46:08
阅读次数:
161
(一)java内存区域概况
jvm运行java程序时把所管理的内存分成几个部分:方法区、java栈、本地方法栈、java堆、pc程序计数器。
class字节码装载解析后,在多线程环境中,方法区和java堆数据共享,每个线程自带pc程序计数器和java栈,栈帧中包含方法的所有状态(局部变量、传参、返回值、运算中间结果等)。对共享数据需要考虑多线程并发问题。
更详细内容可参考《深入理解JVM虚拟...
分类:
编程语言 时间:
2015-01-20 10:34:31
阅读次数:
222
JavaMelody:
JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、
Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。
Javame...
分类:
编程语言 时间:
2015-01-19 21:02:58
阅读次数:
614
在学习java基本数据类型和复杂数据类型的时候,特别是equals()"=="和hashcode()部分时,不是很懂,也停留了很长时间,最后终于有点眉目了。要理解equals()"=="和hashcode(),最好先了解Java内存中堆和栈的知识:下面一段是参考自http://www.cnblogs...
分类:
编程语言 时间:
2015-01-18 22:20:18
阅读次数:
266