深入Java虚拟机以及高效Java编程

 通常我们所说的Java虚拟机是JVM规范的一个实现,商业的主要有Sun公司的,IBM的,以及WebLogic的实现(Oracle收购),Apache有一个开源实现。
   编写Java程序的一般程序员是不需要深入了解Java虚拟机规范以及每个实现的内部细节。但是总有程序员或者公司需要深入掌握Java虚拟机的细节。换 句话来说,如果用了N年Java的程序员不了解Java虚拟机的细节,那么还真值得反思。不了解机理,就不知道JVM的启动参数的深刻内涵,就不知道啥叫 性能调优,就知道人云亦云,也没有自己的思考。
   由于Java虚拟机是一个“虚拟的机器”,因此,其一些概念特征更加抽象一些,但是只要是建立在某个操作系统上的实现,那么其上的各类问题,都与普通的 C/C++程序无大的区别。从这个思路去考虑,其实性能问题关键在于虚拟机的运作机制以及特别要提出的垃圾回收(GC)问题。
   先主要说一下GC,C/C++这类语言没有GC的原生支持,但是不代表就不能使用GC技术,可以说C++程序员完全可以在自己的程序里实现一个GC,说白 了GC不就是决定如何管理内存的分配与回收嘛,引用计数其实就是一类GC技术,但是JVM里面的GC需要一个多线程的支持,也就是GC线程,啥时候去启动 GC,啥时候去GC,GC的具体策略,分带GC等等,是一个专业的话题,GC技术在脚本语言里也广泛的应用。Google V8,很多GC策略都是借鉴JVM中常用的GC策略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值