JVM(1)-概述

JVM是Java虚拟机,它是Java程序运行的基础,提供跨平台的运行环境。通过JVM,Java实现了“一次编写,到处运行”的目标。JVM内部包括ClassLoader、MethodArea、Heap、JVMStacks、PCRegister和NativeMethodStacks等组件,负责类加载、内存管理、执行指令等功能。学习JVM对于程序员来说,能够理解原理、优化性能并在面试中展现专业能力。垃圾回收机制、平台无关性及自动内存管理是其显著优点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是jvm?

1)、java virtual machine,即java虚拟主机,它是java程序的运行环境(也可以说它是java二进制字节码的运行环境)。

2)、jvm是java实现平台无关性的基石,java程序运行的时候,编译器会将java文件编译成平台无关的java字节码文件(.class),接下来对应平台JVM对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。

2、使用jvm的好处?

1)、一次编写,到处运行

2)、自动内存管理,垃圾回收机制

3)、数组下标越界检查

3、为什么要学习JVM?

1)、面试必备

2)、中高级程序员必备

3)、想要走得长远,就需要懂原理,比如:自动拆、装箱是怎么实现的?反射是怎么实现的?垃圾回收器是怎么回事等等。

4、JVM、Jre、jdk三者关系,如下图:

5、学习JVM路线

 

classLoader:java代码编译成二进制(.class)文件后,会经过classLoader(类加载器),这样才能加载到JVM中运行。

Method Area:方法区,类是放在方法区中的。

Heap:堆,类的实例对象,通过new关键字创建的对象都会被放在堆内存中

JVM Stacks:虚拟机栈,它是每个线程运行需要的内存空间。

PC Register:程序计数器,用于保存JVM中下一条所要执行的指令的地址。

Native Method Stacks:本地方法栈。一些带有native关键字的方法就是需要java去调用本地的C或C++方法,因为java有时候没法直接和操作系统底层交互,所以需要用到本地方法。

当类调用方法时,会用到JVM Stacks、PC Register、本地方法栈。

方法执行时的每行代码是由执行引起中的解释器逐行执行,方法中的热点代码频繁调用的方法,由JIT编译器优化后执行,GC会对堆中不用的对象进行回收。

需要和操作系统打交道就需要使用到本地方法接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值