JVM基础知识

一、Java的跨平台性

在这里插入图片描述注意:1.跨平台的是java程序,而不是jvm,jvm是用C/C++开发的,是编译后的机器码,不能跨平台。不同平台下需要安装不同版本的jvm
2.编写的Java源码,编译后会生成.class文件,称为字节码文件。Java虚拟机就是jvm,可以运行字节码文件。

二、JVM的概念

Jvm即Java Virtual Machine,Java虚拟机。是在Java编译器和OS平台之间的虚拟机。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台。
jvm有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java使用jvm就是为了支持与操作系统无关,实现跨平台。

三、JRE/JDK/JVM的关系

1.jre:

Java的运行环境,也就是Java平台。所有的Java程序都要在jre下才能运行。普通用户只需要运行已开发好的Java程序,安装jre即可。

2.jdk:

jdk是程序开发者用来编译、调试Java程序用的开发工具包。jdk的工具也是Java程序,需要jre才能运行。在jdk的安装目录下有一个名为jre的目录,用于存放jre文件。

3.jvm

jvm是jre的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能实现

四、JVM的生命周期

1.启动和消亡

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

2.jvm运行起点

Java虚拟机实例通过调用某个初始类的main方法来运行一个Java程序。而这个main()方法必须是共有的(public)、静态的(static),返回值为void。并且接受一个字符串数组作为参数。任何拥有这样一个main()方法的类都可以作为Java程序员运行的起点

3.jvm两种线程

<1>守护线程:
守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。但Java程序也可以把创建的线程标记为守护线程
<2>非守护线程
Java中的初始线程-main()线程是非守护线程。只要还有任何非守护线程在运行,这个Java程序也在继续运行,当该程序中所有的非守护线程都终止时,虚拟机实例将自动退出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值