前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简述JVM基础(一):走进Java

简述JVM基础(一):走进Java

作者头像
open
发布2020-03-19 17:07:16
3760
发布2020-03-19 17:07:16
举报

一、概述

作为一名Android开发工程师,从用Java写的第一个HelloWorld至今差不多有三年了。一日在家不小心打开了《深入理解Java虚拟机》,就有一种非常想迅速把这本书读完的冲动。我突然才发现做Java开发已有三年之久居然没有真正的去了解它。随着项目的深入,我就必须要对其中的原理非常的了解,才能够做出高性能的程序,也是去避免那些各自无法理解的随机问题的基本功。

说明: 本系列多处摘抄《深入理解Java虚拟机》中内容,主要精简了本书的要点,并叙述自己对本书的理解。本人才疏学浅,文章中有不对的地方,还望批评指教。

二、Java技术体系

  • Java、Groovy、JRuby等运行在Java虚拟机上的语言以及相关的程序都属于Java技术体系中的一员;
  • Java虚拟体系组成:
    • Java程序设计语言
    • 各种硬件平台上的Java虚拟机
    • Class文件格式
    • JavaAPI类库
    • 第三方类库
  • JDK: Java设计语言、Java虚拟机、Java API 类库 统称为JDK(Java Development Kit),为Java程序开发的最小环境;

三、Java发展史

  • 1991年4月,James Gosling(Java之父——詹姆斯·高斯林)在sun公司领导了绿色计划,Java语言前身:Oak(橡树)诞生;
  • 1995年5月23日,Oak改名Java,提出“write Once ,Run Anywhere";
  • 1996年1月23日:Java1.0发布;
  • 2006年12月11日:JDK1.6发布;
  • 2009年2月19日:JDK1.7完成第一个版本,由于各种原因,迭代版本无法按计划发布;
  • 2009年4月20日:Oracle公司宣布正式以74亿美元收购sun公司;

四、Java虚拟机发展史

  • Sun Classic :纯解释器方式来执行Java代码,如果要使用JIT编译器,得加外挂;
  • Sun HotSpot VM:
    • 通过执行计数器找出最有编辑价值的代码,通知JIT编译器以方法为单位进行编译;
    • 在最优化的执行时间和最佳执行性能取得平衡;
    • Sun JDK 和 OpenJDK中所带虚拟机,目前使用最广泛的虚拟机;
    • 热点代码探测技术:
  • Google Android Dalvik VM:
    • Dalvik,来源冰岛的一个小渔村;
    • 不是一个Java虚拟机,没有遵循Java虚拟机规范;
    • 使用寄存器架构,而不是JVM常用的栈架构;
    • 不能直接执行Class文件,但是可以执行有Class文件转化后的dex文件;

五、小结

在Java相关技术中,JVM是Java语言的运行环境,除了我们所熟知的Java,还有Groovy等语言都是运行在JVM之上的。詹姆斯·高斯林是Java的创始人,从Sun到Oracle,经过了很多版本的迭代。对于上层应用的开发者而言,无需关注底层JVM是怎么玩的。从表面上来看,在我们平时的开发中没有很大的帮助。但是了解其中的原理,有助于我们理解Java,理解面向对象编程,有助于我们写出更加优质的代码。

小贴士

本文由原作者井方哥独家授权Open软件开发小组发布,著作权归原作者所有。如需转载请联系原作者申请授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Open软件开发小组 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
  • 二、Java技术体系
  • 三、Java发展史
  • 四、Java虚拟机发展史
  • 五、小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档