jvm
文章平均质量分 86
梦想的精英
这个作者很懒,什么都没留下…
展开
-
new String("aaa")创建了几个String对象?
String str=new String("aaa"); 这行代码究竟创建了几个String对象呢?答案是2个,而不是3个。由于new String("aaa")相当于"aaa"与一个就是创建出来的放在堆时原实例对象,而另一个就是放在常量池中的 "aaa" 对象,当然这里的str本身只是一个引用,放在栈里,用来指向堆中创建出来的对象。常量池(constant pool)指的转载 2016-09-12 09:25:05 · 4750 阅读 · 0 评论 -
java中OutOfMemoryError的诊断以及Eclipse Memory Analyzer
前几天看见一篇文章关于我们的jvm报的OutOfMemoryError错误,OutOfMemoryError错误常见的错误提示:tomcat:java.lang.OutOfMemoryError: PermGen spacetomcat:java.lang.OutOfMemoryError: Java heap spaceweblogic:Root cause of Servlet原创 2017-01-12 11:34:46 · 426 阅读 · 0 评论 -
jvm 年轻态
聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死转载 2017-09-11 18:48:11 · 590 阅读 · 0 评论