Loading

摘要: 1.Class文件结构 2.class文件详解 public class T {} 对应的二进制class文件 在idea jclasslib插件下解析出来的二进制文件 对应的二进制文件解释 常量池解释: 比如:cafe babe 0000 0034 0010 0a00 0300 0d 其中0a转换 阅读全文
posted @ 2021-12-15 23:02 ZT丶 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1. java从编码到执行 2. jvm跟java无关,只跟class文件相关 3. javac的过程 4. JDK JRE JVM 5. jvm是一种规范 相关资料 https://docs.oracle.com/en/java/javase/13/ https://docs.oracle.com 阅读全文
posted @ 2021-12-15 22:57 ZT丶 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是LRU算法 LRU是Least Recently Used的缩写,即最近最久未使用,常用于页面置换算法,是为虚拟页式存储管理服务的。 LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面很可能在未来较长的一 阅读全文
posted @ 2021-12-15 21:40 ZT丶 阅读(1291) 评论(0) 推荐(1) 编辑
摘要: 内存管理的发展历程 DOS时代 - 同一时间只能有一个进程在运行(也有一些特殊算法可以支持多进程) windows9x - 多个进程装入内存 1:内存不够用 2:互相打扰 为了解决这两个问题,诞生了现在的内存管理系统:虚拟地址 分页装入 软硬件结合寻址 分页(内存不够用),内存中分成固定大小的页框( 阅读全文
posted @ 2021-12-15 17:48 ZT丶 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1. 进程和线程有什么区别? 进程是OS分配资源的基本单位 线程是执行调度的基本单位。 分配资源最重要的是:独立的内存空间,线程调度执行(线程共享进程的内存空间,没有自己独立的内存空间) 2. 什么是纤程 用户态的线程,线程中的线程,切换和调度不需要经过OS 纤程的优势: 占有资源很少,线程占1M 阅读全文
posted @ 2021-12-15 17:47 ZT丶 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 PC → Program Counter 程序计数器 (记录当前指令地址) Registers → 暂时存储CPU计算需要用到的数据 ALU → Arithmetic & Logic Unit 运算单元 CU → Control Unit 控制单元 MMU → Memory Mana 阅读全文
posted @ 2021-12-15 17:46 ZT丶 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是UMA UMA——Uniform Memory Access 一致性内存访问 CPU朝着高频方向发展遇到了天花板,转而向着多核心方向发展,由于在一致性内存访问(UMA——Uniform Memory Access)架构中,所有CPU对内存的访问都要通过总线完成,而总线发展缓慢,导致多核C 阅读全文
posted @ 2021-12-15 17:46 ZT丶 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 1. 操作系统需要两种CPU状态 内核态(Kernel Mode):运行操作系统程序,操作硬件 用户态(User Mode):运行用户程序 2. 指令划分 特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机 非特权指令: 阅读全文
posted @ 2021-12-15 17:44 ZT丶 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 大端模式(Big-endian):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,即正序排列,高尾端; 小端模式(Little-endian):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,即逆序排列,低尾端; 例(无论是小端模式还是大端模式。每个字节内部都是按 阅读全文
posted @ 2021-12-15 00:11 ZT丶 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 1. 计算机存储体系简介 存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小。寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再次是主存(普通内存),再次是本地磁盘。 寄存器的速度最快,可以在一个时钟周 阅读全文
posted @ 2021-12-15 00:06 ZT丶 阅读(3530) 评论(0) 推荐(2) 编辑
摘要: 1. Linux更喜欢分页 1.分段可以把逻辑地址分成不同的线性地址,而分页则可以把相同的线性地址映射到不同的页框中。Linux为了能够使所有进程“看到”相同的线性地址而选择非常有限地使用分段机制,这样简化了内存管理的难度。 2.Linux设计的目标是能够移植到多种流行的平台,而使用RISC的处理器 阅读全文
posted @ 2021-12-15 00:05 ZT丶 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1. 内存地址 在编程中我们(编译器)为各种数据分配的内存均为逻辑地址,逻辑地址通过操作系统转换为物理地址。在使用Intel 80x86处理器时,应当分清以下三种“地址”: 逻辑地址(logical address) 线性地址(linear address) 物理地址(physical addres 阅读全文
posted @ 2021-12-15 00:03 ZT丶 阅读(433) 评论(0) 推荐(0) 编辑