10 2021 档案
摘要:Java语言在JVM虚拟机上运行,不可避免的涉及到JVM指令集,下面我们简单分析几个案例。 在进行分析之前,先简单回顾一下JVM的运行时数据区中的JVM虚拟机栈。 一、JVM Stack - JVM虚拟机栈 JVM Stack描述的是:每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表、操作数
阅读全文
摘要:一、什么是Java对象 Java对象是一类事物的抽象,有状态和行为。 二、Java对象的创建过程 2.1、Class加载 2.2、Class 链接 (验证、准备、解析) 2.3、申请对象内存 2.4、成员变量赋默认值 2.5、调用构造方法 1、成员变量赋初始值 2、执行构造方法语句 三、Java对象
阅读全文
摘要:一、CPU指令重排 CPU为了提高效率会对指令进行重排序,以适合cpu的顺序运行。但是指令重排会遵守As-if-serial的规则,就是所有的动作(Action)都可以为了优化而被重排序,但是必须保证它们重排序后的结果和程序代码本身的应有结果是一致的。 所以这种情况在单线程中不会出现什么问题。而对于
阅读全文