Java技术体系

JVM系列随笔主要是对《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》的学习总结

简述

Java优点:

  • 一次编写,到处运行
  • 安全的内存管理和访问机制
  • 热点代码检测和运行时编译及优化
  • 完善的应用程序接口
  • 无数的第三方类库等


广义上讲,能够运行于Java虚拟机上的语言及相关程序都属于Java技术体系。

传统意义上讲,Sun定义的Java技术体系包括:

  • Java程序设计语言

  • 各种硬件平台上的Java虚拟机

  • Class文件格式

  • Java API类库

  • 来自商业机构和开源社区的第三方Java类库

JDK是支持Java开发的最小环境,包括Java程序设计语言,Java虚拟机和Java API类库三部分

JRE是支持Java运行的标准环境,包括Java API中Java SE API和Java虚拟机

下图为Java技术体系所包含的内容1

Java技术体系

主流JVM

  • Sun HotSpot VM
  • BEA JRocket VM
  • IBM J9 VM

Java技术未来

模块化

  • Java SE动态组件支持(Dynamic Component Support for Java SE),即OSGI
  • OpenJDK的Jigsaw子项目推动Java模块化

混合语言

虚拟机不和包括Java在内的任何语言绑定,它只与Class文件关联。因此只要符合Java虚拟机规范,任何一门语言编译出的Class文件都是可以被接受的。

目前在JVM上运行的脚本语言Top5:Groovy,JRuby,Scala,Fantom,Jython

多核并行

JDK1.5引入的java.util.concurrent包实现了粗粒度的并发框架,JDK1.7加入的java.util.concurrent.forkjoin对这一框架进行了重要扩充。

OpenJDK子项目Sumatra利用GPU和APU运算能力,提供Java语言层面的API支持

Hadoop, Scala, Clojure等

进一步丰富的语法

  • 自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环等语法
  • OpenJDK子项目Coin用来收集处理Java语法细节修改

64位虚拟机

64位虚拟机相对于32位存在指针膨胀和各种数据类型对齐问题,多消耗额外10%-30%的内存。JDK 1.6提供了-XX:+UserCompressedOops用于普通对象指针压缩。但是毫无疑问,主流虚拟机终将会发展至64位。


  1. http://docs.oracle.com/javase/8/docs/

转载于:https://www.cnblogs.com/zhiqianye/p/6142347.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值