自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java垃圾回收

一、自动垃圾回收算法 1.引用计数法(Reference Counting) 缺点:循环引用,导致红色部分引用计数一直大于零; 2. 标记-清除(Mark and Sweep) 缺点:STW(Stop the World),需要暂停应用程序的所有线程; 二、Java中的垃圾回收 1. 内存池的划分 2.内存分配 ...

2021-08-25 12:41:05 389

原创 Room原理(一):Room简单使用

一、导入依赖 1. 添加kotlin-kapt插件 plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } 2.添加Room依赖 dependencies { implementation "androidx.room:room-runtime:2.2.5" kapt "androidx.room:room-compiler:2.2.5" } 二、创建

2021-08-19 16:48:45 445

原创 LiveData原理

一、LiveData 设计 1.观察者模式: LiveData 是一种可观察的数据存储器类; 2.生命周期感知: LiveData 具有生命周期(如 Activity、Fragment 或 Service)感知能力,确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者; 二、LiveData源码解析 1.订阅 2.数据改变 ...

2021-08-13 15:07:31 169

原创 goroutine和GPM调度

目录 一、Go 语言的协程 goroutine 1. goroutine概念 2. goroutine特点 二、m:n调度技术 三、goroutine 调度器的实现 1. 被废弃的调度器 2.新调度器GPM设计思想 3.P和M的数量和创建 数量 创建 4.调度器的设计策略 线程复用 利用并行 抢占 全局 G 队列 5.GPM调度流程 6.调度器的生命周期 M0 G0 一、Go 语言的协程 goroutine 1. goroutine概念 goroutine

2021-08-10 17:13:52 496

原创 channel数据结构

目录 一、Channel数据结构 1. 环状队列(缓冲区) 2. 等待队列 阻塞 唤醒 类型信息 锁 二、Channel读写 1. 创建channel 2. 向channel中写数据 3. 从channel读数据 4. 关闭Channel 三、常见用法 1. 单向channel 2. select 3. range 一、Channel数据结构 chan 数据结构:src/runtime/channel; 主要构成:环状队列、类型信息、goroutine等待队.

2021-08-10 15:38:04 1728

原创 string数据结构

一、string数据结构 type stringStruct struct { str unsafe.Pointer len int } str:字符串的首地址; len:字符串的长度; 二、切片和字符串转换 1. byte切片转string 需要一次内存拷贝,转换过程: 【申请空间】:跟据切片的长度申请内存空间,假设内存地址为p,切片长度为len(b); 【构建string】:string.str = p;string.len = len; 【拷贝数据】:切...

2021-08-10 11:07:56 463

原创 slice数据结构

slice数据结构 slice结构体:src/runtime/slice.go array:切片底层数组的指针 len:slice长度 cap:slice容量 slice创建 1.通过make创建slice slice := make([]int, len) //cap = len slice := make([]int, len, cap) 2.通过array/slice创建slice slice := array[start:end] slice :...

2021-08-10 10:55:02 509

原创 三色标记法和混合写屏障

一、Go垃圾回收发展历史 1.3之前:原始的标记清除算法(mark and sweep) 1.3 减少STW暂停的时间范围 1.5 三色并发标记 1.8 混合写屏障(hybrid write barrier)机制

2021-08-08 23:06:07 1668

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除