《深入理解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所替代。
- 《深入理解java虚拟机》学习笔记(1)——走进java
- 深入理解java虚拟机学习笔记1-走进jajva
- 笔记:深入理解java虚拟机-1走进java
- 《深入理解java虚拟机》学习-第一章-走进java
- [深入理解Java虚拟机]第一章 走进Java
- 深入理解 Java 虚拟机之走进Java
- 走进Java << 深入理解Java虚拟机
- 《深入理解Java虚拟机》-走进Java
- 深入理解JAVA虚拟机读书笔记----走进JAVA
- 走进java--深入理解java虚拟机
- 深入理解Java虚拟机学习笔记1
- Java虚拟机的内存区域——《深入理解Java虚拟机》学习笔记(一)
- 《深入理解Java虚拟机》学习笔记——内存区域
- 《深入理解JAVA虚拟机》——学习笔记
- 深入理解Java虚拟机-学习笔记(1)对象?Object?
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- 《深入理解java虚拟机》学习笔记1——Java内存结构
- 《深入理解java虚拟机》学习笔记1——Java内存结构
- 为没有web选项的eclipse添加web and JavaEE插件
- poj 1753 Flip Game 高斯消元
- switch语句解决ATN取款机问题
- 南阳OJ 852题 蛇形填数(二)
- Codeforces Gym 101158 E. Infallibly Crack Perplexing Cryptarithm (模拟 + 语法分析)
- 《深入理解java虚拟机》学习笔记(1)——走进java
- Codeforces Gym 101158 A. Rearranging a Sequence
- 双向链表c语言实现 doublelinklist.h 和 doublelinklist.c
- c++ 析构函数调用时机
- 表单的使用(新手入门基础学习)
- Codeforces Gym 101158 B. Quality of Check Digits (模拟)
- python中的二维列表(实例)
- 【codeforces 749A】Bachgold Problem
- 单片机实验六