09 2022 档案

摘要:1 垃圾收集三件事 哪些内存需要回收:死去的对象需要回收 什么时候回收 如何回收 按照jvm内存区域划分原则:程序计数器、虚拟机栈、本地方法栈3个区域的内存随线程创建而划分,因此线程结束时,内存也自动释放。 本章节分析的是Java堆和方法区的内存管理策略 1、虚拟机栈、本地方法栈,栈中的栈帧随着方法 阅读全文
posted @ 2022-09-20 20:01 拿了桔子跑-范德依彪 阅读(150) 评论(0) 推荐(0) 编辑
摘要:说明:此分析基于HotSpot虚拟机 1 对象的创建 Java对象的创建方式有三种: 通过new创建 通过反序列化创建 通过复制创建 通过new方式的对象创建过程如下: 创建过程说明: 执行字节码遇到new指令时,首先将去检查这个指令的参数是否能在常量池中定位到 一个类的符号引用。 类的初始化过程在 阅读全文
posted @ 2022-09-19 16:51 拿了桔子跑-范德依彪 阅读(116) 评论(0) 推荐(0) 编辑
摘要:1 关于自动内存管理 Java是由jvm来管理内存,包括自动分配以及自动回收,因此它不容易出现内存泄漏和内存溢出问题。 C/C++,由程序员手动管理内存,手动完成:使用前申请内存,使用后释放内存。 2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区 阅读全文
posted @ 2022-09-17 19:55 拿了桔子跑-范德依彪 阅读(98) 评论(0) 推荐(0) 编辑
摘要:有趣的现象:计算机里,两个正数相加会得出一个负数,两个负数相加得出一个正数。为什么呢?看完这章就理解了。 1 无符号数加法 无符号数加法的数学**: 举例验证: 考虑一个4位数字的表示,x=9 和 y =12 的位表示分别是[1001]和[1100],他们的和是21。5位的表示为[10101]。此时 阅读全文
posted @ 2022-09-16 20:25 拿了桔子跑-范德依彪 阅读(222) 评论(0) 推荐(0) 编辑
摘要:在讲述整数之前,先引入编码这个概念。因为计算机里面都是用 0/1串来表示一切的。使用到数值的时候,例如整数运算,需要先将整数转换成0/1的二进制表示,这个转换过程就叫编码。 1 无符号数编码 无符号数:用自然的二进制表示,取值范围只能是大于或者等于零的整数 无符号数特征:每个介于0~2^x-1的数都 阅读全文
posted @ 2022-09-16 20:10 拿了桔子跑-范德依彪 阅读(193) 评论(0) 推荐(0) 编辑
摘要:开头:本章研究在计算机上如何表示数字和其它形式数据的基本属性,以及计算机对这些数据执行操作的属性。 1 内存空间和内存地址 注意:这部分谈到的内存,并不是指硬件中的内存条,而是在《计算机系统漫游》章节中的:【虚拟内存】:是对主存、磁盘、I/O设备的抽象表示 下面是书本的描述: 字节(byte):大多 阅读全文
posted @ 2022-09-13 20:12 拿了桔子跑-范德依彪 阅读(200) 评论(0) 推荐(0) 编辑
摘要:1 计算机的信息 信息:就是位+上下文 系统中所有的信息,包括磁盘文件、内存中的程序,内存中存放的用户数据,以及网络上传输的数据,都是由一串0、1表示 位:指8位二进制组成一个字节,字节组合成一个序列。 上下文:指不同的环境。同样的字节序列在不同上下文下,可能表示一个整数、浮点数、字符串。区分不同数 阅读全文
posted @ 2022-09-09 00:01 拿了桔子跑-范德依彪 阅读(59) 评论(0) 推荐(0) 编辑
摘要:1 系统的硬件组成概览 1.1 总线 总线是负责在各个部件之间传递信息的,信息的单位是字节。根据部件类别,可以把总线细分为I/O总线、内存总线,系统总线等。 例如CPU执行MOV指令,从内存传输1个字节的数据到寄存器,数据通过总线进行传递。 1.2 I/O设备 I/O(输入/输出)设备是系统与系统外 阅读全文
posted @ 2022-09-07 18:29 拿了桔子跑-范德依彪 阅读(320) 评论(0) 推荐(0) 编辑
摘要:1 编译系统 1.1 引入编译系统 一个简单的 C语言程序:hello.c #include <stdio.h> int main(){ int a=1; int b=2; int c=a+b; printf("hello c\n"); return c; } 高级语言:C语言,需要先转换成低级的机 阅读全文
posted @ 2022-09-06 18:12 拿了桔子跑-范德依彪 阅读(482) 评论(0) 推荐(0) 编辑
摘要:1 疑点todo和解疑 [X] 共享资源,这里面哪个地方体现了资源? 同步状态变量:state就是那个共享资源(private volatile int state;) Lock类继承AQS类并定义lock()、unLock()的方法,表示获取锁和释放锁。多线程并发访问同一个lock实例,lock( 阅读全文
posted @ 2022-09-04 13:08 拿了桔子跑-范德依彪 阅读(669) 评论(0) 推荐(0) 编辑
摘要:1 带着问题去阅读 1.1 线程池的线程复用原理 用户每次调用execute()来提交一个任务,然后任务包装成Worker对象,并且启动一个worker线程来执行任务(任务可能会被先加入队列),只要任务队列不为空且worker线程没有被中断,线程的run()方法通过一个while循环,不断去队列获取 阅读全文
posted @ 2022-09-03 17:01 拿了桔子跑-范德依彪 阅读(840) 评论(0) 推荐(4) 编辑

点击右上角即可分享
微信分享提示