初识 JVM
发展历史
- 1996年,SUN JDK 1.0 Classic VM 发布,纯解释运行,使用外挂进行JIT
- 1997年 JDK1.1 发布。包含了:AWT、内部类、JDBC、RMI、反射
- 1998年 JDK1.2 Solaris Exact VM:JIT 解释器混合,Accurate Memory Management 精确内存管理,数据类型敏感,提升的GC性能。JDK1.2开始 称为Java 2,J2SE J2EE J2ME 的出现,加入Swing Collections
- 2000年 JDK 1.3 Hotspot 作为默认虚拟机发布,加入JavaSound
- 2002年 JDK 1.4 Classic VM退出历史舞台,加入了:Assert 正则表达式 NIO IPV6 日志API 加密类库
- 2004年发布 JDK1.5 即 JDK5 、J2SE 5 、Java 5。加入了:泛型、注解、装箱、枚举、可变长的参数、Foreach循环
- JDK1.6 JDK6。加入了:脚本语言支持、JDBC 4.0、Java编译器 API
- 2011年 JDK7发布,延误项目推出到JDK8。加入了:G1、动态语言增强、64位系统中的压缩指针、NIO 2.0
- 2014年 JDK8发布,Lambda表达式、语法增强 、Java类型注解
- 2017年JDK9,加入了:模块化
大事件
- 使用最为广泛的JVM为HotSpot
- HotSpot 为Longview Technologies开发,被SUN收购
- 2006年,Java开源,并建立OpenJDK
- HotSpot,成为Sun JDK和OpenJDK中所带的虚拟机
- 2008 年,Oracle收购BEA,得到JRockit VM
- 2010年Oracle 收购 Sun,得到Hotspot
- Oracle宣布在JDK8时整合JRockit和Hotspot,优势互补。在Hotspot基础上,移植JRockit优秀特性
规范
- Java语言规范:语法、变量、类型、文法
- JVM规范:Class文件类型、运行时数据、帧栈、虚拟机的启动、虚拟机的指令集
初识 JVM的更多相关文章
- 初识JVM
做了这么久的开发,到目前为止对JVM也只是一些简单的概念上的理解,正好周末于是将JVM的学习提上日程. JVM 概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是 ...
- 初识JVM虚拟机
前言: Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM——Java Virtual Machine(Java虚拟机). 执行Java程序的两个步骤: 由Java语言编写的程序需要进过 ...
- JVM学习笔记之初识JVM(三)
一.JVM在计算机中的位置 JVM调用操作系统,操作系统调用硬件,硬件反馈信息至操作系统,操作系统反馈信息至JVM 二.JVM的体系结构 JVM在执行过程中对内存的管理分为5个区域: 1.PC寄存器 ...
- JVM内核-原理、诊断与优化学习笔记(一):初识JVM
文章目录 JVM的概念 JVM是Java Virtual Machine的简称.意为Java虚拟机 虚拟机 有哪些虚拟机 VMWare或者Visual Box都是使用软件模拟物理CPU的指令集 JVM ...
- 初识JVM:(二)Java的垃圾回收机制详解
声明:本文主要参考https://www.cnblogs.com/codeobj/p/12021041.html 仅供个人学习.研究之用,请勿用于商业用途,如涉及侵权,请及时反馈,立刻删除. 一.Ja ...
- 初识JVM:(一)JVM工作原理和流程
本文主要参考:http://blog.csdn.net/CSDN_980979768/article/details/47281037?locationNum=7&fps=1 声明:主要用于个 ...
- JVM性能优化 (一) 初识JVM
一.我们为什么要对JVM做优化 在本地开发环境中我们很少会遇到需要对JVM进行优化的需求,但是到了生产环境,我们可能会有下面的需求: 运行的应用"卡住了",日志不输出,程序没有反应 ...
- 「入门篇」初识JVM
记录于 2022-01-02 17:25:12 GhostFace 1. 什么是JVM? 概念 来自百度百科 JVM是 Java Virtual Machine(Java虚拟机)的缩写,JVM是一 ...
- 「入门篇」初识JVM (下下) - GC
垃圾收集主要是针对堆和方法区进行:程序计数器.虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于> 线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收. GC - J ...
随机推荐
- java-mybaits-00501-案例-映射分析-订单商品数据模型
1.数据模型分析思路 1.每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程. 2.每张表重要的字段设置 非空字段.外键 ...
- 5.如何调节ubuntu的分辨率
http://jingyan.baidu.com/article/0964eca2351ed58285f5361d.html
- livego
1.安装golang开发环境 https://www.cnblogs.com/eczhou/p/7929693.html 2.livego源码及说明文档 https://github.com/zhou ...
- ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制
公司最近在做视频直播的项目,我这里分配到对直播的视频进行录制,录制的方式是通过rtmpdump对rtmp的视频流进行录制 前置的知识 ffmpeg: 用于实现把录屏工具发出的视频和音频流,转换成我们需 ...
- mysql 主从同步-读写分离
主从同步与读写分离测试 一. 实验环境(主从同步) Master centos 7.3 192.168.138.13 Slave ...
- SDUT1607:Number Sequence(矩阵快速幂)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1607 题目描述 A number seq ...
- Pivot 和 Global 的一些总结
相信大家一定有在 Unity 編輯器上看到這樣功能 這邊會跟大家說明這項功能有什麼用處 Pivot 意思為,輔助編輯的工具標示,會顯示在第一個選取的物件身上. Center 意思為,輔助 ...
- spray-json
spray-json是一个轻量级的,简介的和高效的使用Scala实现的json 它拥有以下特征: 一个简单不可变的模型的json语言元素 一个高效的json解析器 可选择既紧凑又漂亮的json到str ...
- Eclipse jvm启动参数在哪设置
学习并转载自https://jingyan.baidu.com/article/624e7459653ca534e8ba5a26.html Java是一门非常受欢迎的编程语言,Java的开发人员多数使 ...
- eclipse上的.properties文件中文编辑显示处理
最近在对接银联备份金,将相应的SDK导入到eclipse后,打开.properties文件中文注释变成了如下样子,很不方便查阅参照: 平常开发我们希望看到的是如下样子,很直观能明确配置的参数代表的信息 ...