《深入理解java虚拟机》学习笔记(1)——走进java

来源:互联网 发布:tensorflow 路径规划 编辑:程序博客网 时间:2024/05/17 00:10

声明:本文及之后的"《深入理解java虚拟机》学习笔记"系列文章以周志明先生编著的《深入理解java虚拟机》第2版为主要依据,结合自身理解与实践,以及其他辅助参考资料进行撰写。本系列文章性质为“学习笔记”,并非java教程,因此文中难免出现个人理解上的错误,还望多多理解和指正。此外,需要提醒的是,阅读本系列学习笔记需要一定的java基础。好了,言归正传,让我们进入主题吧微笑~


1 java的优点

(1)跨平台,“一次编写,到处运行”;

(2)功能强大,小到智能卡,大到移动终端应用、桌面应用,甚至是大型服务器,java都hold住;

(3)相对安全的内存管理和访问机制,提供高效的内存回收机制,且没有C语言中的指针操作,避免了绝大多数的内存泄漏和指针越界问题;

(4)热点代码检测运行时编译及优化,这意味着java程序的性能会随着运行时间的增加而提高,但这并不意味着java程序的性能可以无限提高;

(5)拥有无数来自商业机构和开源社区实现的第三方类库,只要你需要,几乎做任何事情的jar包你都能找到可怜

……


2 java技术体系

(1)Sun公司(现已被Oracle公司收购)官方所定义的java技术体系的组成:

①java程序设计语言

②java虚拟机

③Class文件格式

④java API类库

⑤来自商业机构和开源社区实现的第三方java类库


(2)JDK(Java Development Kit)的组成:

①java程序设计语言

②java虚拟机

③java API类库

注:JDK是支持java程序开发的最小环境


(3)JRE(Java Runtime Environment)的组成:

①java API类库中的子集java SE API

②java虚拟机

注:JRE是java程序运行的标准环境


(4)分类(按照java服务的领域进行划分):

①java Card:支持java小程序(Applets)运行在小内存设备(如智能卡)上的平台;

②java ME(Micro Edition):支持java程序运行在移动终端(如智能手机、pad)上的平台,对java API有所精简,加入了对移动终端的支持;

③java SE(Standard Edition):支持面向桌面级应用(如windows应用)的java平台,提供了完整的java核心API;

④java EE(Enterprise Edition):支持企业级应用(如ERP应用)的java平台,除了提供java SE API之外,还对其进行了大量补充,并提供了相关的部署支持。


3 java发展时间轴(1995年5月23日~?):




4 java虚拟机

最早的java虚拟机是1996年初Sun公司发布JDK1.0中包含的Classic VM。后来出现了Exact VM(发布于Solaris操作系统),但很快被当下主流java虚拟机HotSpot VM所替代。


阅读全文
0 0
原创粉丝点击