堆 堆的核心概述 堆与进程 堆针对一个 JVM 进程来说是唯一的。也就是一个进程只有一个 JVM 实例,一个 JVM 实例中就有一个运行时数据区,一个运行时数据区只有一个堆和一个方法区。 进程包含多个线程,他们是共享同一堆空间的。 一个 JVM

虚拟机栈


虚拟机栈 介绍 为什么使用栈 由于跨平台性的设计,Java 的指令都是根据栈来设计的。不同平台 CPU 架构不同,所以不能设计为基于寄存器的 「如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的 CPU 架构进行优化,但是跨平台性大大降低」。 优点是跨平台,指令集小,编译器容易实现,

运行时数据区


运行时数据区 结构图 类的加载 --> 验证 --> 准备 --> 解析 --> 初始化,这几个阶段完成后就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区 运行时数据区结构

JVM和Java体系架构


JVM和Java体系架构 内存结构概述 JVM的位置 JVM 介于操作系统和字节码文件的中间。

Lambda 表达式


Lambda 表达式 Lambda 表达式 举例 (o1, o2) -> Integer.compare(o1, o2); 格式 1. -> : lambda 操作符 或 箭头操作符 2. 左边: lambda 行参列表 = 抽象方法的行参列表 3. 右边 lambda 体 = 抽象方法的方法体

JSR303 说明


JSR303 说明 JSR 是 Java Specification Requests 的缩写,意思是 Java 规范提案。是指向 JCP(Java Community Process) 提出新增一个标准化技术规范的正式请求。任何人都可以提交 JSR,以向 Java 平台增添新的 API 和服务。J

SpringBoot 注解功能


SpringBoot 注解功能 配置注解 @Configuration 标识是配置类 = 配置文件, 配置类也是一个组件 默认单实例 参数 proxyBeanMethods 默认true Full(proxyBeanMethods = true) :proxyBeanMethods 参数设置为 tr

Java 文件流


IO 流 流的分类 按操作数据单位 字节流 8bit 字符流 16bit 按数据流向 输入流 输出流 按流的角色

Java 时间类


Java 时间类 Java 时间类在 Java 8 发生变化本记录基于 Java 8 时间类 新时间类和 Date 对比 Date 和 SimpleDateFormatter 非线程安全,而 LocalDate 和 LocalTime 和 String 一样,是final类型 - 线程安全且不能被修

多线程


多线程 线程和进程区别 进程 定义:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。当一个程序被运行,就开启了一个进程,比如 Word、Excel。 线程 定义: 线程(英语:thread)是操作系统能够进行运算调度的最