JVM概念介绍

jvm是什么?

JVMJava Virtual MachineJava虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。

jvm的生命周期:

起点:任意有main()方法的类都可以作为起点。

终点:非守护线程全部退出/System.exit()

jvm的结构中的字节码指令集(方法区)和堆为jvm所有,其它pc寄存器,java栈,本地方法区为线程所有。

如何加载一个类?分三步:

1.         装载,查找并装载二进制数据

2.         连接,执行验证(输入数据正确)、准备(分配内存、初始化默认值)及解析(符号引用变为直接引用)

3.         初始化,(变量初始化为正确的值)

虚拟机分类:进程虚拟机jvm,系统虚拟机vmware

jvm不包括操作系统,易于跨平台;vmware包括操作系统,容易模拟多台机器。

java中的方法:java方法,本地方法JNI

jvm的任务:由classloader(2)加载class文件到虚拟机方法区,靠执行引擎(3)执行。

classLoader:启动类装载器bootstrap,用户自定义类装载器。封装了如何取class文件。当被装载类A引用另一个类时B,虚拟机就会使用第一个类AclassLoader来加载B类,被装载的类默认情况下只能见到同一个装载器装载的类。

jvm通过不同的类装载器来区分装载的命名空间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值