第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

JVM-第一天

標(biāo)簽:
Cocos2d-x

1.什么是JVM

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

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

2.JVM生命周期

一、首先分析两个概念

JVM实例和JVM执行引擎实例

(1)JVM实例对应了一个独立运行的java程序,它是进程级别。

(2)JVM执行引擎实例则对应了属于用户运行程序的线程,它是线程级别的。

二、JVM的生命周期

  (1)JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点。 

  (2)JVM实例的运行 main()作为该程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程:守护线程和非守护线程,main()属于非守护线程,守护线程通常由JVM自己使用,java程序也可以标明自己创建的线程是守护线程。 

  (3)JVM实例的消亡:当程序中的所有非守护线程都终止时,JVM才退出;若安全管理器允许,程序也可以使用Runtime类或者System.exit()来退出。

3.JVM结构


webp

一、JVM的内部体系结构分为三部分,

(1)类装载器(ClassLoader)子系统

作用: 用来装载.class文件

(2)执行引擎

作用:执行字节码,或者执行本地方法

(3)运行时数据区

方法区,堆,java栈,PC寄存器,本地方法栈

4.类加载器

负责加载字节码到jvm中,根据类中定义的内容分配到不同的运行时数据区

分类:

Bootstrap ClassLoader:classLoader的根,rt.jar

Extension ClassLoader

Application ClassLoader

用户自定义类加载器

java.lang.Object

java.lang.ClassLoader

类加载器的双亲委派模型

1.加载

负责找到class文件,并加载到jvm中

2.连接

校验:确保类的格式正确

准备:为类中的变量分配内存空间,并初始化默认值

解析:符号引用转换为直接引用

3.初始化: 执行静态代码块,构造器,静态属性

在调用new(), 反射调用类中的方法,子类调用初始化函数

5.执行引擎

本地接口:JAVA API

运行时数据区

6.PC寄存器

保存下一个需要执行的指令的行号

每一个线程有自己独立的PC寄存器

7.方法区


webp



作者:林亚希
链接:https://www.jianshu.com/p/2cd0c7103635


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消