随笔分类 -  Java

获得Java异常的堆栈信息
摘要:View Code 1 public static String getExceptionStack(Exception e) { 2 StackTraceElement[] stackTraceElements = e.getStackTrace(); 3 String result = e.toString() + "\n"; 4 for (int index = stackTraceElements.length - 1; index >= 0; --index) { 5 result += "at [" ... 阅读全文

posted @ 2013-01-22 16:59 哥是技术人 阅读(2995) 评论(0) 推荐(0)

JVM优化
摘要:-Xms与-Xmx最好设置成一样的,避免垃圾回收后JVM重新分配内存-Xmn:年轻代大小,整个堆大小=年轻代大小 + 年老代大小 + 持久代大小,据说设置成-Xmx的四分之一-XX:PermSize:持久代初始值-XX:MaxPermSize:持久代最大值-XX:SurvivorRatio=8:新生代中eden与survivor的空间比例-XX:MaxTenuringThreshold=7:MaxTenuringThreshold这个参数用于控制对象能经历多少次Minor GC才晋升到年老代-XX:GCTimeRatio=19:垃圾回收时间占程序运行时间的百分比,19即是十九分之一(5%)-X 阅读全文

posted @ 2013-01-22 16:53 哥是技术人 阅读(231) 评论(0) 推荐(0)

JVM
摘要:虚拟机中的共划分为三个代:年轻代(Young Generation)、年老点(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。 年轻代:所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区。一个Eden区,两个Survivor区(一般而言)。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到Survivor区(两个中的一个),当这个Survivor区满时,此 阅读全文

posted @ 2013-01-22 16:52 哥是技术人 阅读(267) 评论(0) 推荐(0)

导航