继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JVM

精神第一性
关注TA
已关注
手记 5
粉丝 11
获赞 50

JVM(Java Virtual Machine)java虚拟机。它是一套可以运行java代码的,运行在OS上的虚拟计算机,JVM隔离了底层操作系统,使得java可以不关心具体的底层操作系统,只需要编译成字节码运行在JVM上。JVM再把字节码转换为各个操作系统认识的机器码。进而将java变成了所谓的跨平台语言。

JVM包括了一套字节码指令集、一组寄存器、堆、栈、垃圾回收、一个存储方法域。

总结:java代码编译为.class字节码文件(javac),通过classLoader装在class,执行class,解释执行,编译执行(client compile,server compile)。

1 Java 源文件—->编译器—->字节码文件 2 字节码文件—->JVM—->机器码


JVM允许一个应用并发执行多个线程,hotspot JVM中java线程与原生操作系统线程有直接的映射关系。当线程本地存储、堆栈、缓冲区分配、同步对象、程序计数器等准备好了之后,就会创建一个操作系统原生的线程,操作系统负责调度所有的线程,并将它们分配到可用的CPU上。当原生线程初始化完毕,就会调用java线程的run()方法。当线程结束时,会释放java线程和系统线程等所有资源。

JVM后台主要的线程:

1:虚拟机线程  VM thread:这个线程等待JVM到达安全点操作出现。

2:周期性任务线程 用来调度周期性执行的操作

3:GC线程 这些线程支持JVM中不同的垃圾回收活动

4:编译器线程 讲字节码动态的转化为本地OS能相关的机器码

5:信号分发线程 负责接收发送给JVM的相关线程,并采用适当的方法进行处理

2019.2.26 15:06

JVM内存:





打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP