
JVM相关
文章平均质量分 85
ibenben.org
喜欢编程的管理人员...
展开
-
JVM堆大小的调整
Sun HotSpot 1.4.1使用分代收集器,它把堆分为三个主要的域:新域、旧域以及永久域。Jvm生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域并且不认为是堆的一部分。 可使用-Xms和-Xmx 控制整个堆的原始大小或最大值。为控制新域的大小,可使用-XX:N转载 2015-12-17 15:47:25 · 3627 阅读 · 0 评论 -
JVM垃圾回收描述
垃圾回收分多级,0级为全部(Full)的垃圾回收,会回收OLD段中的垃圾;1级或以上为部分垃圾回收,只会回收Young中的垃圾,内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 当一个URL被访问时,内存申请过程如下:JVM会试图为相关Java对象在Eden中初始化一块内存区域当Eden空间足够时,内存申请结束。否则到下一步JVM试图释放在Eden转载 2015-12-17 15:48:27 · 805 阅读 · 0 评论 -
Tomcat heap 配置案例
1GB heap 配置案例CATALINA_OPTS=" -verbose:gc -XX:+PrintGCTimeStamps -Xms1024m -Xmx1024m -XX:NewSize=341m -XX:MaxNewSize=341m -XX:SurvivorRatio=2 -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ThreadStackSize=5原创 2015-12-17 11:41:03 · 1511 阅读 · 0 评论 -
java.lang.OutOfMemoryError: unable to create new native thread
1、问题起因这个异常问题本质原因是我们创建了太多的线程,而能创建的线程数是有限制的,导致了异常的发生。能创建的线程数的具体计算公式如下: (MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threadsMaxProcessMemory 指的是一个进程的最大内存JVMMemory原创 2015-12-17 15:44:42 · 1999 阅读 · 0 评论 -
JVM堆参数简单描述
ms/mx:定义YOUNG+OLD段的总尺寸,ms为JVM启动时YOUNG+OLD的内存大小;mx为最大可占用的YOUNG+OLD内存大小。在用户生产环境上一般将这两个值设为相同,以减少运行期间系统在内存申请上所花的开销。NewSize/MaxNewSize:定义YOUNG段的尺寸,NewSize为JVM启动时YOUNG的内存大小;MaxNewSize为最大可占用的YOUNG内存大小。在用户生产转载 2015-12-17 15:50:39 · 1255 阅读 · 0 评论 -
Javac源码简单分析之Javac简单介绍
一、简单介绍javac 是java语言编程编译器。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。二、源码获取OpenJDK6源码:http://download.java.net/openjdk/jdk6/Javac的源码就在OpenJDK源码里面。或者在优快云下载:http://download.youkuaiyun.com/det原创 2014-05-22 10:53:49 · 5465 阅读 · 0 评论 -
Javac源码简单分析之解析和填充符号表
一、说明符号表是由一组符号地址和符号信息构成的表格。符号表中所登记的信息在编译的不同阶段都要用到,在语义分析(后面的步骤)中,符号表所登记的内容将用于语义检查和产生中间代码,在目标代码生成阶段,党对符号名进行地址分配时,符号表是地址分配的依据。二、主要的类与方法解析和填充符号表这个过程主要由com.sun.tools.javac.comp.Entry及com.sun.tools原创 2014-07-09 11:16:39 · 5286 阅读 · 1 评论