JVM01_概述、跨平台原理、分类、三大商业虚拟机
文章目录
- ①. 什么是JVM?
- ②. Java的跨平台及原理
- ③. JVM的分类
- ④. 三大商业虚拟机
①. 什么是JVM?
①. JVM 是 java虚拟机,是用来执行java字节码(二进制的形式)的虚拟计算机
②. jvm是运行在操作系统之上的,与硬件没有任何关系
②. Java的跨平台及原理
①. 跨平台:由Java编写的程序可以在不同的操作系统上运行:一次编写,多处运行
②. 原理:编译之后的字节码文件和平台无关,需要在不同的操作系统上安装一个对应版本的虚拟机(JVM)
(Java虚拟机不和包括java在内的任何语言绑定,它只与class文件这种二进制文件格式所关联。无论使用何种语言进行软件开发,只要将源文件编译为正确的Class文件,那么这种语言就可以在Java虚拟机上执行,可以说,统一而强大的Class文件结构,就是Java虚拟机的基石、桥梁)
③. JVM的分类
①. 类加载子系统
②. 运行时数据区(我们核心关注这里 的栈、堆、方法区)
③. 执行引擎(一般都是JIT编译器和解释器共存)
- JIT编译器(主要影响性能):编译执行;一般热点数据会进行二次编译,将字节码指令变成机器指令。将机器指令放在方法区缓存
- 解释器(负责响应时间):逐行解释字节码
④. 三大商业虚拟机
- ①. Sun HotSpot
- 提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机
- 在2006年的JavaOne大会上,Sun公司宣布最终会把Java开源,并在随后的一年,陆续将JDK的各个部分(其中当然也包括了HotSpot VM)在GPL协议下公开了源码, 并在此基础上建立了OpenJDK。这样,HotSpot VM便成为了Sun JDK和OpenJDK两个实现极度接近的JDK项目的共同虚拟机。
- 在2008年和2009年,Oracle公司分别收购了BEA公司和Sun公司,这样Oracle就同时拥有了两款优秀的Java虚拟机:JRockit VM和HotSpot VM。 Oracle公司宣布在不久的将来(大约应在发布JDK 8的时候)会完成这两款虚拟机的整合工作,使之优势互补。 整合的方式大致上是在HotSpot的基础上,移植JRockit的优秀特性,譬如使用JRockit的垃圾回收器与MissionControl服务, 使用HotSpot的JIT编译器与混合的运行时系统
- ②. BEA JRocket
- 专注于服务端应用(JRockit内部不包含解释器实现,全部代码都靠即时编译器编译后执行)
- Jrockit JVM 是世界上最快的jvm3. 2008年被oracle收购
- ③. iBM J9
- 市场定位与hotspot接近,服务器端,桌面应用,嵌入式等
- 目前,是影响力的三大商业虚拟机之一
JVM01_概述、跨平台原理、分类、三大商业虚拟机相关推荐
- Java虚拟机(JVM)以及跨平台原理
一. Java概述 1. Java语言概述 2. Java虚拟机以及跨平台原理 3. Java的主要就业方向 4. Java的不同版本 5. Java开发环境搭建 6. 第一个Java程序示例 7. ...
- 【JAVA】Java概述(1、Java语言发展史;2、Java语言跨平台原理;3、JRE和JDK;4、JDK的下载与安装)
Java概述 重新学习Java第一篇 文章目录 Java概述 1.JAVA语言发展史 1.1Java语言 1.2Java语言发展史 2.Java语言跨平台原理 2.1平台 2.2跨平台 2.3跨平台原 ...
- Java01-day01【发展史、跨平台原理、JRE和JDK、常用DOS命令、关键字、常量、数据类型、变量使用的注意事项、标识符、类型转换】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
- 集群概述及原理笔记(1)
it你好linux学习文档之集群概述及原理笔记(1) 一 前言 目前,越来越多的网站采用Linux操作系统,提供邮件.Web.文件存储.数据库等服务.也有非常多的公司在企业内部网中利用Linux服务器 ...
- 【unity】unity跨平台原理
跨平台 跨平台的含义是指一次编译,各个平台都可以运行. C/C++语言不能一次编译到处执行,因为C/C++的编译的结果是针对特定平台操作系统.处理器指令集而生成的本地代码(native code),那 ...
- 输入输出 原理 java_java输入输出,书写规范,运行原理,跨平台原理(复习)...
一个大概的java程序执行过程: java虚拟机跨平台原理:不管是什么系统,java源代码程序经过javac编译器编译成二进制的.class文件, .class文件在运行在jvm(虚拟机)上解释成对应 ...
- 大数据平台,Hadoop集群架构,概述及原理
目录 一,大数据平台架构概述 1,大数据概念 2,大数据的特征 3,大数据的处理流程和相关技术 4,大数据平台架构的特点 5,大数据平台架构原理 二,Hadoop集群概述 1,HDFS 2,MapRe ...
- unity跨平台原理
一直以来很好奇,为什么unity可以跨平台开发,用了这么久还是有必要弄清楚的,所以今天特地研究了一下,记录下来,也供大家学习. Unity介绍: Unity3D主要包括两个部分:Unity Engin ...
- 2.Java语言跨平台原理?
2.Java语言跨平台原理? 理解 为主 Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行 ...
最新文章
- python的服务器、客户端被拒绝访问_python – uWSGI服务器日志…权限被拒绝读取......
- 29 仿京东放大镜案例
- 漫画:什么是 JVM 的垃圾回收?
- java inflaterinputstream_java.util.zip.InflaterInputStream.available()方法示例
- 企业必须关注的IPv6网络安全25问
- 必须掌握的前端模板引擎之art-template
- SpringBoot官方提供的starter pom
- thinkphp模板常用的方法
- 【手势识别】基于matlab GUI石头剪刀布【含Matlab源码 774期】
- C++调用Object-C
- NPOI Word 多级标题结构设置
- 【无头浏览器】谷歌无头浏览器的几行代码简单设置?
- 前端微信支付代码(公众号支付)
- 拆 米家台灯_拆机测评 篇二: 就是一台149元 Mijia 米家台灯,有什么可测的?...
- Lebesgue可测但非Borel可测的函数
- C#学习之Spilt用法
- JVM调优-GC基本原理和调优关键分析
- web前端整套面试题(二)--今日头条面试题
- WORD如何互相复制样式?
- 【JavaSE】入门概述(1~41)
热门文章
- 【Excel】单元格输入换行符、替换换行符
- python3将汉字转换为大写拼音首字母
- [译]使用MVI打造响应式APP[七]:掌握时机(SingleLiveEvent问题)
- 神兵利器 - 在没有任何权限的情况下获取任何 Microsoft Windows 用户密码
- 高中就开始学的正态分布,原来如此重要!
- 快速排序(Java实现 )
- 从制造向智造迈进,可编程逻辑控制器方案的设计与实现
- java代码美化json格式
- 最简单的豆瓣电影排行爬虫 萌新都可以看懂
- java 释放static_JAVA中的static关键字作用与用法