粗浅了解-入门系列-什么是JVM?

什么是JVM?

虽然目前已经有不少项目开发经验了,但是对于JVM的理解还停留在比较粗浅的理解,JVM(Java Virtual MACHINE)不就是JAVA虚拟机吗。

记得在初学java时课程时第一次接触JVM:JAVA程序具有跨平台性质,就和这个JVM息息相关。因为java可以运行在任何一个具有JVM的计算机或者电子设备上运行。实际上JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上一次编译,多次运行,具有跨平台性。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

JDK,JRE,SDK区别?

  1. JDK(Java Development Kit): 编写Java程序的程序员使用的软件。
  2. JRE(Java Runtime Environment):运行Java的运行环境的集合,包含JVM标准实现及Java核心类库。
  3. SDK(Software Development Kit): 软件开发工具包,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

介绍JVM

JVM是一种用于计算设备的规范,它是一个虚构的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JVM在哪?

实际上JVM 是一个抽象的概念,并不真实存在。

JVM是JRE的一部分。在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。如果安装了JDK,会发同你的电脑有两套JRE, 一套位于 <JDK安装目录> \jre ,另外一套位于 C:\Program Files\JAVA\jre 目录下 。后面这套比前面那套少了Server端的Java虚拟机。JRE目录下的Bin目录中的server下就是真正的jvm.dll所在。

jvm.dll 无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。

JVM由啥组成?

JVM:运行时数据区,类加载器,执行引擎,本地接口
在这里插入图片描述 图1 JVM组成图

用JVM来干嘛?

基于安全方面考虑,JVM 要求在 class 文件中使用强制性的语法和约束,但任意一门语言都可以转换为被 JVM 接受的有效的 class 文件。作为一个通用的、机器无关的执行平台,任何其他语言的实现者都可将 JVM 当作他的语言产品交付媒介。

JVM学习哪些?

如图1所示,目前我的打算是先从图片中每个大的模块慢慢深入的进入了解。
也就是了解:运行时数据区,类加载器,执行引擎,本地接口等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值