JVM基础知识总结

本文详述了JVM的基础知识,包括Java跨平台性、JVM概念、JDK/JVM/JRE的关系以及JVM的生命周期。探讨了类加载机制,包括加载的时机和过程,强调了双亲委派模型的重要性。还介绍了Java内存模型的五个区域,以及JVM启动参数的设置,帮助读者深入理解JVM的工作过程。
摘要由CSDN通过智能技术生成

JVM基础知识:

1、Java跨平台性解释

JVM是用C/C++开发的,是编译后的机器码,不能跨平台,,不同的平台下需要安装不同版本的JVM,我们编写的Java源码,编译后会生成一种字节码文件(.class)JVM就是负责将字节码文件翻译成特定平台下的机器码然后运行。所以我们只需要在不同的平台上安装相应版本的JVM,就可以运行Java程序了,即实现了“一次编译,到处运行”的目的

2、JVM介绍

JVM指的就是 Java Virtual Machine,即Java虚拟机。JVM是Java的核心和基础,是Java编译器和OS平台之间的虚拟处理器,它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行Java的字节码文件。JVM有自己完善的硬件架构,如:处理器、堆栈、寄存器等,还有相应的指令系统,Java语言大的特点就是跨平台运行,使用JVM就是为了跨平台。

3、JDK/JVM/JRE 三者关系

JRE(Java Runtime Environment),Java运行环境,也就是Java平台。任意一个Java程序都必须得在JRE下才能运行。普通的用户只需要运行已经开发好的Java程序时,那么只安装JRE就可以了。
JDK(Java Development Kit)是程序开发者用来编译、调试Java程序用到的开发工具包。JDK的工具也是Java程序,也得安装JRE后才能运行。为了维护JDK的独立性和完整性,JRE的安装也是JDK的安装的一部分内容。所以,在JDK的安装目录下,我们可以看到一个名为JRE的目录,它是就用于存放JRE文件的。
JVM(Java Virtual Machine) Java虚拟机是JRE的一部分,它是一个虚拟的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

4、JVM 的生命周期

启动和消亡:
JVM负责运行一个Java程序,当一个Java程序启动时,一个虚拟机实例也随之诞生,当该Java程序关闭退出时,这个虚拟机实例也就随之消亡。

JVM运行起点:
Java虚拟机实例通过调用某个初始类的main()方法来运行一个Java程序,这个main()方法的修饰符必须是public(公有的)、static(静态的)、void(无返回值)、并且只允许一个字符转数组作为参数(String[] args)。任何拥有这样一个main()方法的类都可以作为Java程序运行的起点。

JVM的两种线程:
守护线程:守护线程通常是由虚拟机自己使用的,比如执行垃圾收集的线程。但是Java程序也可以把创建的线程标记为守护线程
非守护线程:Java程序中的初始线程——main() 的线程就是非守护线程。只要还有任何非守护线程在运行,那么这个Java程序也在继续运行。当该程序中所有的非守护线程都终止时,虚拟机实例将自动退出。如果安全管理器允许的话,程序本身也能够通过调用Runtime类或者System类中的exit()方法来退出。

JVM的工作过程:

类加载机制:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值