JAVA虚拟机新生代,包括eden space+2个survivor空间。
新生代用来存放新近创建的对象,新生代的特点是对象更新速度快,在短时间内产生大量的“死亡对象”。对年轻代的垃圾回收称作次级回收 (minor gc)
1、新生代与次级回收
新生代分为三个区域, 一个eden spac , 2个大小相同的survivor, 应用程序只能使用一个eden和一个survivor, 当发生...
分类:
其他好文 时间:
2015-01-23 23:06:50
阅读次数:
300
一、背景知识
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
我们都知道,狗是动物中的一种,那么如果现在有一个Dog类和Animal类,那么他们的关系就是Dog类继承Animal类。
我们经常说,狗是动物,实际上“狗是动物”这句话就是向上转型的一个例子,即把狗(子类)当做动物(父类)来看待。用一句话来总结,向上转型就是父类的引用指向子类的实例。
当父类的引用指向子类对象的时候,父类的引用只可以访问子类继承于父类的那一部分属性和方法以及子类重写的父类的方法。...
分类:
其他好文 时间:
2015-01-18 00:56:07
阅读次数:
209
一、常见的Java内存溢出有以下三种:
1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
JVM在启动的时候会自动设置JVMHeap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提供的-Xmn-Xms -Xmx等选项可进行设置。Heap的大小是Youn...
分类:
编程语言 时间:
2015-01-09 09:15:43
阅读次数:
259
本文将详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存放用new产生的数据◆静态域:存放在对象中用static定义的静态成员◆常量池:存放常量◆非RA...
分类:
编程语言 时间:
2015-01-06 11:40:36
阅读次数:
195