免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: arron刘
打印 上一主题 下一主题

【话题讨论】Java虚拟机规范相关话题讨论(获奖名单已公布-2014-1-14) [复制链接]

论坛徽章:
4
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-02-10 17:22:57技术图书徽章
日期:2014-02-18 08:44:12技术图书徽章
日期:2014-04-29 14:15:42
21 [报告]
发表于 2013-12-26 17:28 |只看该作者
1、Java instanceof 关键字是如何实现的?
官方文档的解释
http://docs.oracle.com/javase/sp ... jvms-6.5.instanceof
其实这说的是设计,具体实现应该是test是否来自同一个类或子类(如果不是primitive的话).

2、如何让JVM快速释放对象的内存?
使用弱引用,允许jvm释放.
显式调用System.gc()通知jvm? 没这么用过.

3、为什么很多语言选择在JVM上实现?JVM在跨平台上有哪些优势?
我认为是看中jvm的生态环境,资源,只要是jvm上的jar,拿来就用多方便.
跨平台的工作交给jvm开发商做,只要jvm支持的架构,动态语言都支持.

论坛徽章:
4
CU十二周年纪念徽章
日期:2013-10-24 15:41:34摩羯座
日期:2013-12-24 13:05:332015亚冠之西悉尼流浪者
日期:2015-10-09 16:03:47fulanqi
日期:2016-06-17 17:54:25
22 [报告]
发表于 2013-12-27 23:25 |只看该作者
回复 17# tempname2

Hi,  你的头像是亮点啊!


   

论坛徽章:
1
申猴
日期:2014-05-19 22:15:39
23 [报告]
发表于 2014-01-02 23:09 |只看该作者

一.Java instanceof 关键字是如何实现的?
obj instanceof type
主要判断左边的对象是否是右边的类的实例,然会boolean类型的实例。
在进行判断时,会将obj入栈,然后将其到常量池索引class表进行比较,如果不匹配,则继续和class的父class比较,直到匹配成功,则返回,否则一直比较知道object失败。

二.如何让JVM快速释放对象的内存?
从不同层面进行考虑:
从代码层面:尽量提高代码质量,避免持有对象引用不释放的情形,多使用软引用和弱引用。
从业务层面:如果一直出现频繁fullgc,这种可能需要通过调整jvm的参数来进行,以便让jvm解决。
从调试层面:如果需要具体分析和调优等,需要通过手动gc()来进行解决

三.为什么很多语言选择在JVM上实现?JVM在跨平台上有哪些优势?
1.jvm本身技术比较成熟,支持多种操作系统,形成一个较好的生态圈,可以很方便的使用。
2.jvm有较好的内存管理,开发者不必关注内存的管理和释放,省去了很多内存开发工作。
3.jvm有较好的jit优异性能,并且有大量的lib库,可以很好的实现跨平台。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP