JVM学习(一)——JAVA与JVM
2017-11-25 13:05
344 查看
JVM学习(一)——JAVA与JVM
关于JVM的学习,一直拖拖拉拉,拖了好久,连一些基本的理念都不清楚,身为一个JAVA开发这真的很不应该。从今天开始起,会坚持更新JVM相关的笔记、博客,以《深入理解Java虚拟机》学习,向作者致敬。JAVA
总所周知,Java是当下非常火爆的一门语言,JAVA开发的程序员在我国可谓是一抓一大片,诚然门槛儿比较低,但是java能够获得如此广泛的认可,它有着许多不可忽视的优点。它摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想
它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题
它实现了热点代码检测和运行时编译优化,这使得java应用能随着运行时间的增加而获得更高的性能
它,拥有无数优秀的开源项目,大名鼎鼎的spring
java在今天之所以会被如此广泛的应用,个人认为有以下几个主要原因
门槛低,算是面向对象编程语言中较为简单的
稳固的生态体系,优秀的框架,出色的设计,spring为代表等节约了企业大量的开发成本
得益于JVM的默默付出
于是今天,我们就来谈谈JVM,java的核心,java的生命。
走进JVM
从广义上来看,clojure、jruby、groovy、Scala都属于JVM上的语言,可以说是java技术体系中的一员。我们可以把java程序设计语言、jvm、java api类库这三部分统称为JDK(Java Development Kit)。另外,也可以把Java API类库中的Java SE API 子集和jvm这两部分统称为JRE (Java Runtime Environment)JVM的发展
1.Sun Classic/Exact VM Sun Classic:世界第一款商用Java虚拟机
Exact VM:准确式GC:虚拟机可以知道内存中的某个位置的数据具体是什么类型。
2.Sun Hotspot VM
1. 目前使用最广泛的JVM
2.热点代码探测技术:通过执行计数器找出最具编译价值的代码。
也是OpenJDK 和SunJDK 所带的虚拟机
3.移动端虚拟机
KVM,CDC/CLDC Hotspot Implenmentation,Squawk VM,JavaInJava,Maxine VM
4.BEA JRockit/IBM J9VM
JRockit:号称世界上最快的Java 虚拟机。它不太关注程序启动速度,内部不包含解析器的实现。其垃圾收集器和missionControl服务套件等部分,在jvm之中处于领先的水准
5.Azul VM/BEA LiquidVM
6.Apache Harmony/Google Android Dalvik VM
dvm是Android中的虚拟机,我也曾写博客做对比过,但是貌似最近随着谷歌换了官方支持语言,一切会有些许改变
目前最流行的Java 虚拟机:
1.HotSpot VM (融合了Jrockit)
2.J9 VM
3.Zing VM
有兴趣的朋友可以去每个了解一下,篇幅太多,这里也不再赘述
相关文章推荐
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- JVM内存大小设置[JAVA学习笔记]
- Java分布式应用学习笔记02再谈JVM
- jdk的配置和JVM内部原理 java 基础学习笔记 第一天
- java之jvm学习笔记二(类装载器的体系结构)
- JAVA学习之JVM加载class
- JAVA虚拟机(JVM)和JAVA垃圾回收机制(JAVA GARBAGE COLLECTION)---因为刚开始学习,有部分语言不太准确,请指出,谢谢!
- java之jvm学习笔记六(实践写自己的安全管理器)
- java之jvm学习笔记十(策略和保护域)
- java之jvm学习笔记八(实践对jar包的代码签名)
- java之jvm学习笔记十三(jvm基本结构)
- 【Java学习笔记】JVM对类的处理
- Java基础学习笔记之一_JVM参考文章
- java之jvm学习笔记三(Class文件检验器)
- JVM学习笔记--Java运行时数据区域
- java之jvm学习笔记十一(访问控制器)
- JVM学习笔记(1、 基本结构;2、Java代码编译和执行的整个过程3、内存管理和垃圾回收 4、 内存调优 )
- java之jvm学习笔记七(jar包的代码认证和签名)
- Java存储结构-JVM规范学习笔记
- JVM学习笔记(二)------Java代码编译和执行的整个过程