摘要:
1. 概述 Java 虚拟机的指令由 1 个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的 0~N 个代表此操作所需的参数(称为操作数,Operand)构成。 由于 Java 虚拟机采用“面向操作数栈”而不是“面向寄存器”的架构,所以大多数指令都不包含操作数,只有 阅读全文
摘要:
1. 平台无关、语言无关 Java 在刚刚诞生之时曾经提出过一个非常著名的宣传口号“一次编写,到处运行(Write Once,Run Anywhere)”,这句话充分表达了当时软件开发人员对冲破平台界限的渴求。 “与平台无关”的理想最终只有实现在操作系统以上的应用层:Oracle 公司以及其他虚拟机 阅读全文
摘要:
1. 前置知识 1.1 根节点枚举 固定可作为 GC Roots 的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,尽管目标明确,但查找过程要做到高效并非一件容易的事情,现在 Java 应用越做越庞大,光是方法区的大小就常有数百上千兆,里面的类、常量等更是恒河 阅读全文
摘要:
哪些内存需要回收? 什么时候回收? 如何回收? 1. HotSpot 对象 1.1 对象的创建 Java 是一门面向对象的编程语言,Java 程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个 new 关键字而已,而在虚拟机中,对象(文中讨论的对象 阅读全文
摘要:
0. review JVM JVM 是一台执行 Java 字节码的虚拟计算机,它拥有独立的运行机制,其运行的 Java 字节码也未必由 Java 语言编译而成。 Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应的平台上的机器指令执行。每一条 Java 指令,Jav 阅读全文
摘要:
1. JDK & JRE 2. Java语言与Java虚拟机 3. Java发展的重大事件 4. 虚拟机与Java虚拟机 5. JVM的整体结构 HotSpot VM 是目前市面上高性能虚拟机的代表作之一。 它采用 [解释器] 与 [即时编译器] 并存 的架构。 解释器:保证响应时间。及时对字节码文 阅读全文
摘要:
1. SELECT 语句完整的执行顺序 FROM 子句组装来自不同数据源的数据 WHERE 子句基于指定的条件对记录行进行筛选 GROUP BY 子句将数据划分为多个分组 使用聚集函数进行计算 使用 HAVING 子句筛选分组 计算所有的表达式 SELECT 的字段 使用 ORDER BY 对结果集 阅读全文