这个视频叫深入java虚拟机比较扯,应该叫java类ClassLoader深入讲解视频。复习下ClassLoader是相关知识 1、类的加载、连接和初始化 加载:查找并加载类的二进制数据 连接:        验证:确保被加载的类的正确性        准备:为类的静态变量分配内存,并将其初始化为默认值        解析:把类中的符号引用转换为直接引用 初始化:为类的静态变量赋予正确的初始值 2…

2021年5月1日 0条评论 16点热度 阅读全文

..................................

2021年5月1日 0条评论 16点热度 阅读全文

程序计数器,虚拟机栈和本地方法栈 首先我们先来看下垃圾回收中不会管理到的内存区域,在Java虚拟机的运行时数据区我们可以看到,程序计数器,虚拟机栈,本地方法栈这三个地方是比较特别的。这个三个部分的特点就是线程私有的,它们随着线程的创建而诞生,也因线程的结束而灭亡。栈中的栈帧随着方法的进入和退出会有条不絮的执行着进栈和出栈。每一个栈帧中分配多少内存,基本上是在类结构确认下来的时候就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者线程结束,内存自然就跟随着回…

2021年5月1日 0条评论 15点热度 阅读全文

在 C 语言里面我们想执行一段自己编写的机器指令的方法大概如下: 1 2 3 typedef void (*FUNC)( int ); char * str = "your code" ; FUNC f = (FUNC)str; 也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行起来。上面代码中“编好的机器指令”当然指的是能在CPU上运行的,如果这里我还实现了一个翻译机器:从自己定义的格式指令翻译到CPU指令,那么就可以执行根据自定义格式的代码了。那么上面这段代码是不是相当于最简单的一个虚拟…

2021年5月1日 0条评论 14点热度 阅读全文

1. 硬件的效率与缓存一致性 由于存储设备和处理器运算速度之间的存在巨大的差异,现在计算机系统在内存与处理器之间加入高速缓存来作为处理器与内存之间的缓冲。将处理器需要的数据复制到缓存中,让处理器可以快速的获取数据进行计算,计算结束后再从缓存同步带内存中去,这样处理器无需等待缓慢的内存读写。虽然它很好的解决了处理器与存储的速度矛盾,但是它也为计算机系统带来更高的复杂度以及一个新问题:缓存一致性。 在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存,当多个处理器的运算任务都涉及同一块主内存区域时,而…

2021年5月1日 0条评论 17点热度 阅读全文

深入学习Java虚拟机总结 以Java虚拟机为平台进行程序设计的开发人员,很有必要对虚拟机的原理及工作机制进行深入的了解,该篇是学习周志明著深入理解Java虚拟机第2版的总结,主要分为以下几个方面: Java内存区域与内存溢出异常 垃圾收集器与内存分配策略 虚拟机性能监控与故障处理工具 类文件结构 虚拟机类加载机制 1、Java内存区域与内存溢出异常 必要性:Java虚拟机自己运行着一套垃圾回收处理机制,出现内存泄露或溢出异常情况时,需要了解其根本原因进行合理解决。因此需要首先了解JVM的各个区域。 运行一个Jav…

2021年5月1日 0条评论 15点热度 阅读全文

一.JAVA内存 Java的内存通常分为堆内存和非堆内存,堆内存由 Java 对象使用,非堆内存则用于存放 JNI、Java 线程对象等非 Java 数据。   二.垃圾收集 JVM Generational Collecting(分代)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命周期分析) 1. Young(年轻代) 年轻代分三个区。一个 Eden 区,两个 Survivor 区。大部分对象在 …

2021年5月1日 0条评论 18点热度 阅读全文

目录 第一章:走进Java 第二章:Java内存区域与内存溢出异常 第三章:垃圾收集器与内存分配策略 第四章:虚拟机性能监控与故障处理 第五章:调优案例分析与实战 第六章:类文件结构 第七章:虚拟机类加载机制 第八章:虚拟机字节码执行引 第九章:类加载及其执行子系统的案例与实战 第十章:早期(编译器)优化 第十一章:晚期(运行期)优化 第十二章:Java内存模型与线程 第十三章:线程安全与锁优化 第八章:虚拟机字节码执行引 目录 第八章:虚拟机字节码执行引 8.1概述 8.2运行时栈帧结构 8.2.1局部变量表 8…

2021年5月1日 0条评论 19点热度 阅读全文

目录 第一章:走进Java 第二章:Java内存区域与内存溢出异常 第三章:垃圾收集器与内存分配策略 第四章:虚拟机性能监控与故障处理 第五章:调优案例分析与实战 第六章:类文件结构 第七章:虚拟机类加载机制 第八章:虚拟机字节码执行引 第九章:类加载及其执行子系统的案例与实战 第十章:早期(编译器)优化 第十一章:晚期(运行期)优化 第十二章:Java内存模型与线程 第十三章:线程安全与锁优化 第四章:虚拟机性能监控与故障处理

2021年5月1日 0条评论 16点热度 阅读全文

目录 第一章:走进Java 第二章:Java内存区域与内存溢出异常 第三章:垃圾收集器与内存分配策略 第四章:虚拟机性能监控与故障处理 第五章:调优案例分析与实战 第六章:类文件结构 第七章:虚拟机类加载机制 第八章:虚拟机字节码执行引 第九章:类加载及其执行子系统的案例与实战 第十章:早期(编译器)优化 第十一章:晚期(运行期)优化 第十二章:Java内存模型与线程 第十三章:线程安全与锁优化 第六章:类文件结构 目录 第六章:类文件结构 6.1概述 6.2无关性的基石 6.3class类文件结构 6.3.1 魔…

2021年5月1日 0条评论 18点热度 阅读全文