Java虚拟机初识
来源:互联网 发布:知乎评价章泽天长相 编辑:程序博客网 时间:2024/06/10 23:47
什么是JVM?
JVM是Java Virtual Machine的简称。意为Java虚拟机。作为Java可以进行一次编写,到处执行(Write once, run anywhere)的平台基础,由JVM帮工程师屏蔽了不同平台的差异性,提供了一致的编写接口。
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
JVM使用软件模拟Java 字节码的指令集,从而可以进行class的加载以及执行。
JVM-java的演变历史
1996年, JDK 1.0 classic VM, 纯解释执行,基于外挂进行JIT,落下了Java执行慢的坏名声
1997 年 JDK 1.1 支持AWT、内部类、JDBC、RMI、反射
1998年, JDK 1.2 Solaris Exact VM , JIT混合解释器,精确内存管理,GC性能提升
2000年,JDK 1.3 Hotspot 作为默认虚拟机发布, JVM的一个里程碑
2002年,JDK 1.4 Classic VM退出历史舞台, 一个应用非常广泛的版本, 支持NIO IPV6 日志API 加密类
2004年, JDK 1.5/JDK 5,支持泛型注解装箱枚举可变长的参数Foreach循环
2006年4月,JDK 6, 支持脚本语言支持JDBC 4.0Java编译器 API,允许基于程序来动态编译代码,加入对动态语言的初步支持
2011年7月, JDK 7, 动态语言增强支持,NIO 2, G1垃圾回收算法的引入,提升JVM大型应用的支持
2014年3月, JDK 8 整合JRockit和Hotspot, Lambda表达式语法增强 Java类型注解
2016年, JDK 9, 模块化支持等
JVM规范
--Class文件类型
--运行时数据
--帧栈
--虚拟机的启动
--虚拟机的指令集
JVM规范是描述Class文件格式,JVM执行流程和指令集的。 Java语言编写的代码编译成Java Class文件格式,从而被JVM来执行。
Java语言和JVM相对独立,其他一些语言如Groovy、Scala等也可以在jvm上运行,JVM主要定义二进制class文件和JVM指令集等。只要是编译出来的class遵守JVM的规范,即可被JVM解释执行;这个也是JVM作为一个平台,与Java语言独立发展的源动力,随着后续JVM性能的提升以及平台稳定,也给不同的新语言提供了运行平台,从而导致了百花齐放般的JVM 语言出现。
JVM中有堆(Java Object分配空间),栈(线程执行区域),方法区, PC(Program Counter)程序计数器等组成。
jVM需要对Java Library 提供以下支持:
--反射 java.lang.reflect
--ClassLoader
--初始化class和interface
--安全相关 java.security
--多线程
--弱引用
- Java虚拟机---初识Java
- 初识java虚拟机
- Java虚拟机初识
- 探知Java虚拟机——初识Java
- 初识Java虚拟机(2)初探内存
- 初识Java虚拟机(3)对象生死
- 初识Java虚拟机(9)方法调用
- 初识Java虚拟机(11)内存模型
- Java虚拟机详解01----初识JVM
- JVM学习笔记之初识java虚拟机
- java 虚拟机系列文章1--初识JVM
- 初识Java虚拟机(1)对象的访问定位
- 初识Java虚拟机(4)垃圾回收算法
- 初识Java虚拟机(5)类文件结构
- 初识Java虚拟机(6)类文件加载
- 初识Java虚拟机(7)类加载器
- 初识Java虚拟机(8)运行时栈帧结构
- 初识Java虚拟机(10)动态分派的实现
- zoj3953贪心
- 模板方法模式(Template Method Pattern,类行为型模式)
- 插件描述:fancyBox是一款优秀的弹出框Jquery插件。
- 【加载读取Properties】关于Properties文件的读取
- jQuery属性操作
- Java虚拟机初识
- 界面控件之——TextView的属性与应用
- TI OSAL解析
- ZOJ3956背包
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(1)-- 变量
- as3加密DES过程中,1、字符串转成ByteArray(byte数组)形式 ,2、ByteArray编码成base64 3、把ByteArray转换为16进制的形式的字符串
- linux平台下防火墙iptables原理
- .NET Reflector Add-Ins
- [分块 莫比乌斯反演] BZOJ 4815 [Cqoi2017]小Q的表格