[2021-12-31 13:52:15] 简介: java虚拟机jvm
虚拟机的架构原理和运行机制:经过上一部分的内容的抽象和总结那么我们可以进一步抽象出基于java虚拟机规范实现的一般的JVM实现组成架构以及其运行机制和原理。
这篇文章主要对Java程序的执行模式和JVM的架构原理进行较易理解的介绍和剖析,以便更好的掌握Java的核心机制和基本原理。
本地方法栈与JVM Stack所发挥的作用是非常相似的,区别只是JVM Stack为虚拟机执行Java方法服务,而本地方法栈是为虚拟机使用到的Native方法服务。
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。(推荐教程:java学
来自专辑 java虚拟机系列文章
虚拟机究竟是什么:虚拟机和名字一样就是个虚拟机器来模拟通用的计算机有着一套虚拟的完善的硬件架构如处理器、堆栈、寄存器等还具有相应的指令系统。
用java进行个人建站,总有大材小用的感觉,没有优势可言,劣势倒有不少,而对于本人这个平民来说,劣势直接反映在购买虚拟主机的价格上,JAVA虚拟主机比...
云计算 本篇内容主要讲解“java程序是放在虚拟主机的吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来
方法区与堆一样都是线程共享的内存区域它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。而运行时常量池是方法区的一部分它主要用于存放编译期声明各种字面量和符号引用。
jvm类加载的过程:首先执行加载;然后验证确保Class文件的字节流中包含的信息符合当前虚拟机的要求;接着准备为类的静态变量分配内存,初始化为系统的初始值;最后解析,并初始化。jvm
前面文章说到了类加载器接下来小编就继续说‘连接、初始化和数据区’。连接分为:验证、准备和识别三个阶段。
栈区域——每一个线程创建一个单独的运行时堆栈。 对于每一个方法调用一个称为栈内存栈帧被创建所有局部变量将被创建在栈内存中。栈区域是线程安全的因为它不是一个共享资源栈帧分三个实体:
在 Java 启动时使用解释器执行代码省去编译的时间、立即可以运行但也造成 Java 的启动速度比较慢。在程序运行一段时间后即时编译器开始工作才是 Java 性能提升的时候,通过把 Java 代码编译成本地代码甚至在极端情况下可以媲美 C 语言的性能。
以上就是整个编译的过程了小编接下来介绍类加载:编译将程序编译成字节码之后下一步就是类加载到内存的过程。
由于每个平台的特性不同可引用的函数程序库(Library)不同也许你的代码还得作修改才可以在另一个平台上编译执行。这很不方便就是说如果你在Windows设计了一款游戏想要卖给Linux的使用者就得再花费一些功夫。这也是为什么大部分游戏或者软件只能在Windows运行了。
72小时热门文章
新网新人专享,注册领SSL证书百元神券2022-09-15
已有家长中招!“录取通知书”邮件暗藏骗局2022-09-06
网站谷歌评分90+意味着什么?2022-09-06
樱桃cherry.com域名价格或达7位数美元2022-09-06
新网与亚洲诚信达成战略合作,携手共建安全云生态2022-09-06
推荐阅读
浅析JAVA程序运行模式及虚拟机JVM(二)2018-05-24
浅析JAVA程序运行模式及虚拟机JVM(一)2018-05-24
虚拟机本地方法2018-05-18
什么是JVM?它在什么位置?2020-08-05
java虚拟机——class文件结构2020-06-05
Java究竟为什么需要虚拟机?(上)2018-05-25
如何选择java虚拟主机2009-09-22
java程序是放在虚拟主机的吗2021-07-22
Java虚拟机--一段Java程序的生命史(四)2018-05-23
jvm类加载的过程是什么2020-08-12
浅析JAVA程序运行模式及虚拟机JVM(三)2018-05-24
浅析JAVA程序运行模式及虚拟机JVM(四)2018-05-24
Java 虚拟机JIT 即时编译器2018-05-21
Java虚拟机--一段Java程序的生命史(三)2018-05-23
Java究竟为什么需要虚拟机?(下)2018-05-25