精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-05-06
最后修改:2015-05-22
活动时间: 2015.05.06--05.20 欢迎大家就Java虚拟机方面问题在活动时间内在本贴集中提问,期间专家葛一鸣(论坛ID: billykinggym)会对每一个问题认真进行答复。 活动结束后将会抽取5名幸运用户赠送《实战Java虚拟机——JVM故障诊断与性能优化》一本。 书名:《实战Java虚拟机——JVM故障诊断与性能优化》 作者简介: 葛一鸣,国家认证系统分析师,获得Oracle OCP认证。长期从事Java软件开发工作,对Java程序设计、JVM有深入的研究,对设计模式、人工智能、神经网络、数据挖掘等技术有浓厚兴趣,著有《自己动手写神经网路》电子书。 内容简介: 随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 《实战Java虚拟机——JVM故障诊断与性能优化》不仅适合Java程序员,还适合任何一名工作于Java虚拟机之上的研发人员、软件设计师、架构师。 试读样章下载地址:http://download.csdn.net/detail/broadview2006/8663511 书籍购买地址: http://www.amazon.cn/gp/product/B00V34NZBS =============================================================== 获奖名单公布 qing_gee、 empireghost 、demoxshiroki、 fqg05、 hunter0912 请以上用户于2015.06.05之前将您的姓名、电话、邮寄地址通过发送站内信给ITeye管理员或者直接发邮件至webmaster@iteye.com,逾期视为自动放弃奖品哦。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2015-05-06
请教一下葛老师,Java虚拟机怎么学能比较快速入门
|
|
返回顶楼 | |
发表时间:2015-05-06
yingzidd 写道 请教一下葛老师,Java虚拟机怎么学能比较快速入门
我觉得找一本合适的书先做系统性的了解,然后再进行一些自己的实践加深映像吧!看书的话 一般能学的比较快。 |
|
返回顶楼 | |
发表时间:2015-05-06
葛老师,您好,我在试读的章节中看到关于直接内存分配的地方有点疑惑:
nio中使用DirectByteBuffer分配的不是jvm外的内存么,jvmGC的管理范围包括这部分么? |
|
返回顶楼 | |
发表时间:2015-05-07
liuheizi120 写道 葛老师,您好,我在试读的章节中看到关于直接内存分配的地方有点疑惑:
nio中使用DirectByteBuffer分配的不是jvm外的内存么,jvmGC的管理范围包括这部分么? 直接内存是会被GC的。一旦发生GC,直接内存中的垃圾是会被回收的。 |
|
返回顶楼 | |
发表时间:2015-05-07
jvm中的方法区是怎么进行回收的?方法区属于堆内存吗
|
|
返回顶楼 | |
发表时间:2015-05-07
jvm的内存是越大越好吗?最大可以到多大
|
|
返回顶楼 | |
发表时间:2015-05-08
方法区不属于堆内内存。方法区内主要是Class元数据。也是可以回收的。
|
|
返回顶楼 | |
发表时间:2015-05-08
程序员是怎么炼成的 写道 jvm的内存是越大越好吗?最大可以到多大
不是越大越好。一般够用就可以了。太大的堆回收器来 停顿时间也会很长。32位系统上 收到系统限制,一般不能超过2-3G。64位系统上,最好不要超过32G。 |
|
返回顶楼 | |
发表时间:2015-05-08
String str1 = new String("123");
String str2 = new String("123"); System.out.println(str1.intern() == str2.intern()); 对于两个字符串的常量值引用比较,我第一次没有认真看,就认为是不相等的,再重新看作者的解释就恍然大悟了,的确,比较两个在常量池中的引用,自然应该相等,不然就没有任何意义了。 不过我觉得作者对于多线程导致OOM的解答不够全面,因为之前我曾经在我的交易平台中就遇到了这个问题,通过设置-Xmx512m、-Xmx1g -Xss128k显然不是正确的解决办法,在很多时候,发生内存溢出时因为代码逻辑或者代码隐藏有漏洞,而正是这些隐藏漏洞导致出现了OOM,如果这样笼统让大家更改参数去避免bug,可能会误导大家。 小小建议,我只是站在自己的角度思考问题,如有不当,还请谅解。 另外,我想推荐一款IBM的内存溢出分析工具,作者说的两款工具我没有实战过,不过IBM的这款工具的确还是很不错的,是通过Java写的,ftp://public.dhe.ibm.com/software/websphere/appserv/support/tools/HeapAnalyzer/ha456.jar。 |
|
返回顶楼 | |