JVM调优实战:一、JVM基础概念

什么是虚拟机?

我们现在说的虚拟机,从字面上理解就是虚构出来的一台计算机,这个理解是对的,没错,虚拟就就是虚构出来的一台计算机。
既然它是一台计算机,那么计算机就有他自己的CPU,自己的指令集,也就是我们说的汇编语言,也有自己的内存管理机制,比如JVM里面的栈、堆、方法区等等。

一个跨语言的平台

我们明白了什么是虚拟机,接下来我们来讲JVM虚拟机。JVM经过这么多年的发展,现在我们可以称它为一个跨语言的平台。java叫跨平台的语言,这个大家都了解,作为JVM虚拟机来讲,目前能在JVM上跑的语言有一百多种,除了java外,还有Scala、Kotlin、Groovy、Clojure、Jython、Jruby等等。

JVM虚拟机是一种规范

目前来说,JVM虚拟机已经成为了一种规范,既然是规范那就会有对应的平台实现,Linux有对应的实现,Unix有对应的实现,Mac、Windows、Android都有对应的实现,JVM帮我们屏蔽了操作系统的这些底层,这就是为什么我们编写的程序代码能够一次编写,所有平台都能运行的根本原因。

JVM与Java无关

JVM虚拟机怎么才能做到这么多语言都可以在它上面跑呢?关键就在于class这个文件,因此任何语言只要你能变成class,那就是我的菜。所以JVM跟java是没有关系的,只是说大家知道JVM这个东西最初是通过学习java才知道的。java只是JVM所能跑的上百种语言中的其中一种。

常见的JVM实现

既然JVM成为了一种规范,那么对应就有他的虚拟机实现。我们说三流企业做产品,二流企业做服务,一流企业定标准。这就是在定标准,Oracle公司定义了一个实现JVM的标准。
那我们常见的实现有哪些呢?

Hotspot

Oracle官方提供的一款java虚拟机实现,这也是我们用得最多的一款虚拟机,大多数中小企业用的都是这款虚拟机。

TaobaoVM

这是阿里结合淘宝、天猫的具体业务场景基于Hotspot进行深度定制的一款虚拟机,也只有像阿里这么大体量的公司才会定制自己的虚拟机。既然是结合淘宝、天猫业务场景进行深度定制的版本,那么这款虚拟机也就只有在淘宝、天猫的服务器环境里面运行才能获得最好的性能,具有一定的局限性。

Jrockit

这款曾经号称是世界上最快的虚拟机,后来被Oracle收购合并于Hotspot。

J9

IBM公司推出的一款虚拟机。

LiquidVM

一款直接针对硬件的虚拟机VM,它下面没有操作系统,直接就是硬件,运行效率非常高。

MicrosoftVM

微软提供的一款虚拟机。

Code In Action Github链接
欢迎关注我的微信公众号收获更多实验室知识
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seven的代码实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值