Data_Sort 排序冒泡 1234567891011public static void bubbleSort(int[] arr) { for (int i = arr.length - 1; i > 0; i--) { //剩余需要排序的长度 for (int j = 0; j < i; j++) { if (arr[j] & 2021-03-21 DataStructure
Concurrency_SychronizedVolatile MESI为什么需要MESI协议 : CPU的高度运算需要高速的数据,然而内存和硬盘的发展速度远远不及CPU 一个CPU的变量发生改变,其他拥有这个变量CPU需要同步. 查看如下链接的 多核缓存协同操作流程图 https://www.bilibili.com/video/BV1fK4y1E7NC视频讲解了这个状态图的各个情况. https://www.cnblogs.com/yanl 2021-03-08 JAVA #concurrency
Concurrency_thread 用户态 : 应用程序运行 内核态 :操作系统运行 线程的6中状态 New(新创建) Runnable(可运行) Blocked(被阻塞) Waiting(等待) Timed Waiting(计时等待) Terminated(被终止) 状态分析 New 当我们用 new Thread() 新建一个线程时,如果线程没有开始运行 start() 方法,所以也没有开始执行 run( 2021-02-26 JAVA #concurrency
Exception 异常结构图 https://www.cnblogs.com/aspirant/p/10790803.html  2021-01-14 JAVA
JVM_GC 垃圾回收可达性分析 从GC Roots向下追溯、搜索,会产生一个叫做Refrence Chain的链条。当一个对象不能和任何一个GC Root产生关系时,就会被回收。 如图所示,Obj5、Obj6、Obj7,由于不能和 GC Root 产生关联,发生 GC 时,就会被摧毁。 垃圾回收就是围绕着 GC Roots 去做的。同时,它也是很多内存泄露的根源,因为其他引用根本没有这样的 2021-01-05 JAVA #JVM
OS xv6 补充资源 xv6 操作系统的深入讲解 xv6 中文文档 xv6 关键源码逐行解读 + 整体架构分析 课程教材翻译 xv6-riscv-book-zh-cn 课程教材翻译源码 xv6-riscv-book-zh-cn 资源汇总@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/MIT6.S081-2020fall - GitHub 2020-12-28 OS
ComputerOrganization 组成原理 CPU 运算器 控制器 高速缓存 主存储器= 内存 控制器 程序计数器: 用于提供其他控制单元,当前要执行的指令地址 时序发生器: 用于发送时序脉冲, 依据不同的时序脉冲有节奏的进行工作 寄存器 指令寄存器 :从主存或高速缓存取计算机指令 主存地址寄存器:保存当前CPU正要访问的内存单元的地址 主存地址寄存器: 保存当前CPU正要读或写的主存数据 通用寄存器: 用于暂存或传 2020-12-10 Organization
TouchEvent3 Button TextViewbutton clickable=true,所以 默认消费事件,TextView不会 value.xml 123456789<style name="Base.Widget.AppCompat.Button" parent="android:Widget"> <item name="andr 2020-11-25 VIEW #TouchEvent
flutter_paint 1Offset(size.width*0.5, size.height) //坐标 https://codewithandrea.com/videos/2020-01-27-flutter-custom-painting-do-not-fear-canvas/ https://flutter.dev/docs/development/ui/widgets/painting 2020-10-14 flutter