Java复习之-JVM概述

我在大学学的是java云计算与大数据方向,作为一名java程序猿,我认为首先要深度学习的就是JVM。

什么是JVM

关于JVM的相关概念已经有很多大佬做过详细的讲解了,我就不多赘述了。这里放上社区大佬的文章Java程序员-张凯
什么是JVM?
(https://blog.csdn.net/qq_41701956/article/details/80020103)

但是对于许多刚入门学习java的小白来说这类深奥的文章看得头都大了也看不懂它到底是个什么,我来说一下我自己的理解已经最近对JVM的学习内容。

JVM是Java Virtual Machine(Java虚拟机)的缩写可以它理解为一台电脑,拥有自己的CPU、内存、指令集(汇编)、区、栈、块等。这里引用《JVM详解——什么是JVM、JVM优点》这篇文章里的图解,可以看出JVM自身的物理结构。其中包含ClassLoader类加载器、java类库、字节码解释器、JIT即时编译器和执行引擎。
JVM自身的物理结构

JVM与Java无关

JVM被称作跨语言的平台

就类似像java被称作跨平台的语言一样,能在JVM上执行的包括java、Scala、groovy等多达100多种语言,而且不受限于操作系统。那这是为什么呢?

简单地说JVM就是一种规范,不论是什么语言,只要能够编译成class文件,那么就能在JVM上执行。

这是Oracle jdk官方文档链接,也是对JVM最权威的解释https://docs.oracle.com/javase/specs/index.html。
对JVM有深入研究想法的同学可以去自己查文档。

常见的JVM实现

- Hotspot
· oracle官方
· 通过cmd:java -version查看

- Jrockit
· BEA,曾号称世界上最快的JVM
· 被oracle收购,与hotspot合并

- J9 - IBM

- Microsoft VM

- TaobaoVM
· hotspot深度定制版

- LiquidVM
· 直接针对硬件

- azul zing
· 最新垃圾回收的业界标杆
· www.azul.com
· 价格高昂

JDK JRE 和 JVM 的关系

他们的包含关系如下图,简单地讲JVM是用于试行,JRE用于编译,而JDK用于开发。
JDK JRE 和 JVM 的关系

本文为我对学习JVM概念理解的分享,是适用于学习交流,有不赞同点请评论指出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值