JVM 基础入门 - 基础概念

6 篇文章 0 订阅


Java 学习目录
怎么说呢作为一个伸手党,第一次写文章,写的不好的地方多多见谅。
好了,攻城狮们,我知道你们都想要干活,那就话不多说开始吧。
基础入门 → 高级特性 → 底层原理 → 优化实战 → 源码解读

什么是JVM 虚拟机

				█Java程序运行过程               █ JDK、JRE与JVM

Java 虚拟机
JVM 只是一个java 的虚拟机规范。具体的实现其实是有很多的。下面会讲到。
是将Java程序从javac编译成calss文件执行,并运行的一个容器,通过类加载器进行加载,然后在通过在一般情况下走解释执行,有的是走JIT编译器。然后将一个class 文件转为机器码,让系统执行编译代码。
在这里插入图片描述

JVM 的语言无关性

JVM 可以支持多种语言在JVM 上执行,因为JVM 不是执行的java 代码 而是 class编译后的代码。其他语言也可以在JVM 上执行,所以也就可以在多种平台上执行了。

JVM 的跨平台

JVM 针对各个版本的OS 有多个不同的JVM 版本可供下载。

JVM 的实现

JVM 的常见实现在这里插入图片描述

  1. Hotspot
  2. Jrocket
  3. J9
  4. TaobaoVM
  5. LiquidVM
  6. zing

JVM 小历史

  • Oracle 公司
    我们常用的 JVM 实现是 Hotspot 版本,是Oracle 的一个版本。
    Hotspot 进化历程
  1. Hotspot 融合了 jrockit ,原来jrockit 是BEA 公司的,Oracle 购买了jrockit , jrockit 号称是世界上最快的JVM。
  2. 在zing 公司拥有那么快的垃圾回收器后,Oracle 公司收买了开发人员,然后完成了 Hotspot VM 的 ZGC。
  • BEA 公司
    前后开发了两款JVM 一个是上面说的 jrockit。之后又开发了一款新的JVM Liquid VM 这款虚拟机是直接在硬件上运行的,不需要OS 作为基础,所以运行效率比较高。
  • IBM 公司
    开发了一款主要提供给自己产品所使用的VM J9 VM(例如IBM Web Sphere)。
  • TaoBao 公司
    下面说的就是国人的 自豪了 Taobao VM ,并不是说 Taobao VM 重新开发并定义了自己的VM ,而是深度定制了 HotSpot ,在上边重新梳理了并开发了垃圾回收的逻辑,回收方式将不再是简单的根可达,引用计数等方式,还可以是根据业务逻辑来定义回收方式。等等方式。
  • zual 公司
    zual 公司开发了一款 zing VM ,垃圾回收可控制在1毫秒,但是和世界上所有的好产品一样,好的产品是要收费滴,而且比Oracle 还贵。

JVM的内存结构

下面这个图大家都很熟悉了
在这里插入图片描述

  • Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域
  • 线程私有与线程共享

Java 学习目录
下一章节 JVM 基础入门 - 内存结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值