- 博客(3)
- 收藏
- 关注
原创 JVM类生命周期概述:加载时机与加载过程
1)遇到new、getstatic、putstatic或invokestatic这四条字节码指令(注意,newarray指令触发的只是数组类型本身的初始化,而不会导致其相关类型的初始化,比如,new String[]只会直接触发String[]类的初始化,也就是触发对类[Ljava.lang.String的初始化,而直接不会触发String类的初始化)时,如果类没有进行过初始化,则需要先对其进行初始化。当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先触发其父类的初始化。
2025-01-12 16:32:40
665
原创 JVM 与 Java 体系结构
由于跨平台性的设计,Java 的指令都是根据栈来设计的。不同平台 CPU 架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。时至今日,尽管嵌入式平台已经不是 Java 程序的主流运行平台了(准确来说应该是 HotSpotVM 的宿主环境已经不局限于嵌入式平台了),那么为什么不将架构更换为基于寄存器的架构呢?1.9. JVM 的生命周期。
2025-01-12 16:28:59
1013
原创 js进阶-手写js原生方法
context = context || window //如果没有传或传的值不为对象 context指向window。context = context || window //如果没有传或传的值不为对象 context指向window。== ‘function’){//如果不为function的话,直接报错。context[fn] = this //给context添加一个方法 指向this。let fn = Symbol(‘fn’) //创建一个唯一的键值。// 一次插入的数据。
2025-01-12 16:25:16
911
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅