04 2019 档案

摘要:1、内存模型 起源:在计算机系统,加入了一层读写速度尽可能接近处理器运算速度的高速缓存来作为内存和处理器之间的缓冲。 问题:缓存一致性。在多处理器系统中,每个处理器都有自己的高速缓存(抽象为工作内存),但是这些处理器又共享了同一主内存。 解决:抽象出来了 内存模型 ,即对主内存或工作内存的读写访问, 阅读全文
posted @ 2019-04-28 11:18 几近虚年 阅读(376) 评论(0) 推荐(0)
摘要:1、JVM 内存溢出 1、堆溢出:堆要不断的创建对象,如果避免了垃圾回收来清除这些对象,就会产生JVM内存溢出。一般手段是通过内存映像分析工具对Dump出来的堆转储快照进行分析,分清楚到底是内存泄露还是内存溢出。 2、虚拟机栈和本地方法栈溢出:线程请求的栈深度大于虚拟机所允许的最大深度。或者虚拟机在 阅读全文
posted @ 2019-04-25 15:49 几近虚年 阅读(440) 评论(0) 推荐(0)
摘要:1、Java 的内存模型 定义了 happens-before,如果同一个线程中,字节码的先后顺序,后者观测了前者的运行结果,那么就会按顺序执行。 Java 线程之间的通信由 Java 内存模型控制。 Java 内存模型通过定义了一系列的 happens-before 操作,不同线程的操作之间的内存 阅读全文
posted @ 2019-04-16 15:01 几近虚年 阅读(792) 评论(0) 推荐(0)
摘要:1、JVM 基础知识点 JVM 虚拟机包含了:自动内存管理器、垃圾回收(垃圾回收调优)。 执行顺序:Java 代码 .class 字节码文件(加载到虚拟机中) Java 类放在方法区中。 当执行一个 Java 方法时,Java 方法 栈帧(Java 方法栈,存放局部变量/字节码的操作数栈、动态链接、 阅读全文
posted @ 2019-04-10 15:37 几近虚年 阅读(404) 评论(0) 推荐(0)