JVM
文章平均质量分 87
合格的搬砖人
这个作者很懒,什么都没留下…
展开
-
虚拟机栈
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的【如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的CPU架构进行优化,但是跨平台性大大降低】。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。具体问题具体分析如果只有一个线程才可以操作此数据,则必是线程安全的。如果有多个线程操作此数据,则此数据是共享数据。如果不考虑同步机制的话,会存在线程安全问题。原创 2023-01-08 16:27:35 · 741 阅读 · 1 评论 -
JVM-运行时数据区
当我们通过前面的:类的加载 --> 验证 --> 准备 --> 解析 --> 初始化,这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区。原创 2022-08-24 20:43:22 · 178 阅读 · 0 评论 -
JVM-类加载子系统
System . out . println("你的大恩大德,我下辈子再报!");} }它的加载过程是怎么样的呢?执行 main() 方法(静态方法)就需要先加载main方法所在类 HelloLoader加载成功,则进行链接、初始化等操作。完成后调用 HelloLoader 类中的静态方法 main加载失败则抛出异常完整流程JVM严格来讲支持两种类型的类加载器。...原创 2022-08-09 16:54:51 · 231 阅读 · 0 评论 -
JVM初步介绍
Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。原创 2022-08-08 19:51:23 · 103 阅读 · 0 评论