摘要: 1 学习总结 2 关于字节码指令 本章内容不深入讲解指令的执行过程,只对指令列表的及其基本功能说明。 2.1 指令组成 字节码指令:指令编码+操作数组成。如下图所示: 指令编码用二进制数来表示,分配1字节大小。因此字节码指令最多有2^8,即256条。 操作数不使用对齐补零方式填充,因此如果超过1字节 阅读全文
posted @ 2022-11-10 23:55 拿了桔子跑-范德依彪 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 99 学习总结 字节码文件结构总结 学习收获 理解字节码文件内容的结构 学会利用工具初步分析、看懂字节码文件的内容 字节码文件对比java文件 它结构化为固定的内容格式 借用常量池,复用源文件的存在的重复关键词。 字节码文件包含了字节码指令,变成字节码的过程就是C语言:预处理-编译-的过程。 疑问和 阅读全文
posted @ 2022-10-25 20:35 拿了桔子跑-范德依彪 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 扩展:Gc日志分析工具 GC日志分析工具-GCEasy GC日志分析神器-GCEasy详解 1 自动内存管理 Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:分配与回收 自动给对象分配内存 自动回收分配给对象的内存 Java的对象内存分配的一般规则: 一般情况下,给对象分配堆内存 阅读全文
posted @ 2022-10-17 20:03 拿了桔子跑-范德依彪 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1 垃圾收集三件事 哪些内存需要回收:死去的对象需要回收 什么时候回收 如何回收 按照jvm内存区域划分原则:程序计数器、虚拟机栈、本地方法栈3个区域的内存随线程创建而划分,因此线程结束时,内存也自动释放。 本章节分析的是Java堆和方法区的内存管理策略 1、虚拟机栈、本地方法栈,栈中的栈帧随着方法 阅读全文
posted @ 2022-09-20 20:01 拿了桔子跑-范德依彪 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 说明:此分析基于HotSpot虚拟机 1 对象的创建 Java对象的创建方式有三种: 通过new创建 通过反序列化创建 通过复制创建 通过new方式的对象创建过程如下: 创建过程说明: 执行字节码遇到new指令时,首先将去检查这个指令的参数是否能在常量池中定位到 一个类的符号引用。 类的初始化过程在 阅读全文
posted @ 2022-09-19 16:51 拿了桔子跑-范德依彪 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1 关于自动内存管理 Java是由jvm来管理内存,包括自动分配以及自动回收,因此它不容易出现内存泄漏和内存溢出问题。 C/C++,由程序员手动管理内存,手动完成:使用前申请内存,使用后释放内存。 2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区 阅读全文
posted @ 2022-09-17 19:55 拿了桔子跑-范德依彪 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 有趣的现象:计算机里,两个正数相加会得出一个负数,两个负数相加得出一个正数。为什么呢?看完这章就理解了。 1 无符号数加法 无符号数加法的数学**: 举例验证: 考虑一个4位数字的表示,x=9 和 y =12 的位表示分别是[1001]和[1100],他们的和是21。5位的表示为[10101]。此时 阅读全文
posted @ 2022-09-16 20:25 拿了桔子跑-范德依彪 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在讲述整数之前,先引入编码这个概念。因为计算机里面都是用 0/1串来表示一切的。使用到数值的时候,例如整数运算,需要先将整数转换成0/1的二进制表示,这个转换过程就叫编码。 1 无符号数编码 无符号数:用自然的二进制表示,取值范围只能是大于或者等于零的整数 无符号数特征:每个介于0~2^x-1的数都 阅读全文
posted @ 2022-09-16 20:10 拿了桔子跑-范德依彪 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 开头:本章研究在计算机上如何表示数字和其它形式数据的基本属性,以及计算机对这些数据执行操作的属性。 1 内存空间和内存地址 注意:这部分谈到的内存,并不是指硬件中的内存条,而是在《计算机系统漫游》章节中的:【虚拟内存】:是对主存、磁盘、I/O设备的抽象表示 下面是书本的描述: 字节(byte):大多 阅读全文
posted @ 2022-09-13 20:12 拿了桔子跑-范德依彪 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1 计算机的信息 信息:就是位+上下文 系统中所有的信息,包括磁盘文件、内存中的程序,内存中存放的用户数据,以及网络上传输的数据,都是由一串0、1表示 位:指8位二进制组成一个字节,字节组合成一个序列。 上下文:指不同的环境。同样的字节序列在不同上下文下,可能表示一个整数、浮点数、字符串。区分不同数 阅读全文
posted @ 2022-09-09 00:01 拿了桔子跑-范德依彪 阅读(50) 评论(0) 推荐(0) 编辑