myeclipse设置tomcat所占jvm的内存大小解决JAVA内存溢出问题:
windows-->preference-->MyEclipse-->Servers-->Tomcat-->Tomcatx.x-->JDK
在右边的Optional Java VM arguments里加上:-Xms256m -Xmx512m
其中-X是jvm的Head分配的参数
-Xms为初始Heap...
分类:
系统相关 时间:
2015-02-15 19:24:54
阅读次数:
178
【转】:http://blog.sina.com.cn/s/blog_68158ebf0100wp83.html一、Java内存的构成先上一个官方java document里的图:由上图可知,整块区域分为Young Generation、Tenured Generation、PermanentGen...
分类:
编程语言 时间:
2015-02-13 16:02:09
阅读次数:
238
锁的释放-获取建立的happens before 关系锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放-获取的示例代码:[java]copyclass a=; writer(){} reader(){i=a;……}假设线...
分类:
编程语言 时间:
2015-02-09 18:08:33
阅读次数:
263
1 Java内存与垃圾回收调优 2 http://www.importnew.com/14086.html
分类:
其他好文 时间:
2015-02-05 13:25:16
阅读次数:
86
1、堆内存(HeapMemory)和非堆内存(Non-heapMemory) Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配,堆内存(HeapMemory)是在Java虚拟机启动时创建,是Java代码可及的内存,留给开发人员使用的;默认空余堆内存小于40%时,JV....
分类:
编程语言 时间:
2015-02-03 21:00:13
阅读次数:
180
在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况。下面我们来思考下怎么实现?
首先,分析int在java内存中的存储格式。
众所周知,int类型在内存中占4个字节,采用补码方式存储(假如对原码、反码、补码不熟悉,请查阅相关资...
分类:
编程语言 时间:
2015-02-02 09:35:34
阅读次数:
293
volatile型变量的特殊规则volatile是Java虚拟机提供的最轻量级的同步机制,当一个变量被定义成volatile后,它将具备两种特性,第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程改变了这个变量的值后,新值对于其他线程来说是可以立即得知的;第二个语义是禁止指令重排序,...
分类:
编程语言 时间:
2015-02-01 20:24:31
阅读次数:
296
主存储器和工作存储器Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域,这些区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器。方法区存储类信息,常量,字节码等数据,堆内存存储所有生成的对象,方法区和堆内存为所有线程共享,而虚拟机栈是每个线程独有的,也就是说每个线程...
分类:
编程语言 时间:
2015-02-01 20:17:58
阅读次数:
263
活跃数据,有时候也叫做存活数据,指应用处于稳定运行状态下,在Java堆里面长期存活的对象的大小。换一句话说,就是应用在稳定运行的状态下,FullGC之后,Java堆的所占的空间大小(内存的占用情况)。
1、活跃数据计算的重要性
Java应用的活跃数据大小的计算,是我们进行JVM调优的一个必备的过程,如果我们不知道这个系统的活跃数据有多少,那么我们怎么给他分配合适的内存?因此,...
分类:
其他好文 时间:
2015-01-27 16:34:12
阅读次数:
184
我们得到了活跃数据大小,就可以根据活跃数据的情况,配置我们的初始化空间。
下面是我们的应用在稳定阶段的一段FULLGC。生成的代码在最后。
1、活跃数据示例
[Full GC[PSYoungGen: 64K->0K(4416K)] [PSOldGen: 51352K->51352K(56768K)]51416K->51352K(61184K) [PSPermGen: 2085K->2085K...
分类:
其他好文 时间:
2015-01-27 16:24:33
阅读次数:
388