随笔分类 - Java 基础 --- JVM 虚拟机
Java 基础中 JVM 虚拟机的相关知识点
摘要:1、G1 垃圾回收器 G1 能更少的 "Stop the World" ,能同时对新生代老年代进行垃圾回收。 G1 将 Java 堆内存拆分为多个大小相等的 Region,并且新生代和老年代只是逻辑上的概念。 最大的特点:设置一个垃圾回收的预期停顿时间。可以让 G1 垃圾回收器保证达到开发人员手动设
阅读全文
摘要:重新学习,重新理解 1、类加载过程等 验证:.class 文件加载到 JVM 里的时候,会验证下该文件是否符合 JVM 规范。 准备:给实体类分配内存空间,以及给类变量(static 修饰)分配"默认值"。 解析:将符号引用替换为直接引用。 初始化:将类初始化,如果有父类且父类未初始化,会先初始化父
阅读全文
摘要:1、内存模型 起源:在计算机系统,加入了一层读写速度尽可能接近处理器运算速度的高速缓存来作为内存和处理器之间的缓冲。 问题:缓存一致性。在多处理器系统中,每个处理器都有自己的高速缓存(抽象为工作内存),但是这些处理器又共享了同一主内存。 解决:抽象出来了 内存模型 ,即对主内存或工作内存的读写访问,
阅读全文
摘要:1、JVM 内存溢出 1、堆溢出:堆要不断的创建对象,如果避免了垃圾回收来清除这些对象,就会产生JVM内存溢出。一般手段是通过内存映像分析工具对Dump出来的堆转储快照进行分析,分清楚到底是内存泄露还是内存溢出。 2、虚拟机栈和本地方法栈溢出:线程请求的栈深度大于虚拟机所允许的最大深度。或者虚拟机在
阅读全文
摘要:1、Java 的内存模型 定义了 happens-before,如果同一个线程中,字节码的先后顺序,后者观测了前者的运行结果,那么就会按顺序执行。 Java 线程之间的通信由 Java 内存模型控制。 Java 内存模型通过定义了一系列的 happens-before 操作,不同线程的操作之间的内存
阅读全文
摘要:1、JVM 基础知识点 JVM 虚拟机包含了:自动内存管理器、垃圾回收(垃圾回收调优)。 执行顺序:Java 代码 .class 字节码文件(加载到虚拟机中) Java 类放在方法区中。 当执行一个 Java 方法时,Java 方法 栈帧(Java 方法栈,存放局部变量/字节码的操作数栈、动态链接、
阅读全文

浙公网安备 33010602011771号