自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android数据结构-HashSet和TreeSet

【代码】Android数据结构-HashSet和TreeSet。

2026-03-04 20:54:25 102

原创 Android数据结构-ConcurrentHashMap

(需要手动找root)TreeBin;线程安全键值key 和 value 不可为null。

2026-03-04 20:34:39 465

原创 Android数据结构-TreeMap

比较”顺序;线程不安全键值key不可以为null,除非构造函数传入自定义比较器。

2026-03-02 23:58:55 125

原创 Android数据结构-LinkedHashMap

创建新节点或覆盖老节点的判断,是。

2026-03-02 20:25:22 353

原创 Android数据结构-HashMap

和和方法)链表(重新退化为链表时,可能不在链表尾部了)线程不安全键值key可以为null。

2026-03-02 18:32:13 678

原创 Android数据结构-Queue/Deque

线程不安全一、Queue/Deque接口实现。

2026-03-01 03:36:30 98

原创 Android数据结构-List

线程不安全。

2026-03-01 00:46:09 405

原创 Android数据结构-契约

需要契约的约束,契约定义了决定的底层实现数组、链表、树合作关系:使用的特点实现的特点(契约数组、链表相对插入顺序,在(List、queue)或(Set、Map的iteratpr.next()),是否有一定规律​。

2026-02-28 17:39:57 634

原创 Android数据结构-树

本篇涉及的树,特指“二叉树”后续统一称为“树”

2026-02-26 15:38:01 613

原创 Android数据结构-数组和链表

Java标准库中,所有的底层都是通过和实现的。

2026-02-23 00:58:57 62

原创 Android线程安全-CAS

是隐含规则寄存器,不需要在指令中写明。CPU执行指令时,会自动从EAX中取值,执行指令后会设置ZF标志位。(对象,操作数,期望值,新值),调用Unfafe的compareAndSwapInt方法。传递CAS参数(不关心内容)给native层 + 计算偏移量。(同一时间内,只允许一个线程,一次性执行完成所有操作)原始值(共享变量的虚拟地址)、期望值、新值。“先比较,后交换”;

2026-02-15 01:27:02 272

原创 Android线程安全-顺序性、可见性

导致多线程环境下不安全,本质上,是与。

2026-02-15 00:56:12 586

原创 Android线程安全-ReentrantLock

ReentrantLock是Java层(java.util.concurrent.locks)提供的一个锁机制,ReentrantLock主要保证两大特性:原子性、可见性可重入、支持公平锁/非公平锁、手动管理锁获取/锁释放、支持多种锁获取方式(lock()、tryLock(无参)、tryLock(有参)、lockInterruptibly())基于 AQS(AbstractQueuedSynchronizer)维护的:CLH队列(双向队列)和 CAS竞锁 实现的4.2 tryLock()4.

2026-02-12 01:39:26 315

原创 Android线程安全-Synchronized

synchronized主要保证两大特性:原子性、可见性(StoreBuffer -> 缓存 -> 主内存)

2026-02-10 17:09:10 690

原创 Android线程安全-概念

审视代码中所有跨线程共享的数据,然后从三个维度逐一进行风险评估。

2026-02-05 17:00:37 696

原创 Android前篇目录

时机:启动Android应用时,Zygote进程创建一个新进程(fork指令),虚拟机通过mmap系统调用,将dex文件映射到进程的内存映射段(私有文件内存映射段)概念:虚拟机在类加载时创建的一块存储类元数据(类结构、字段信息、方法字节码、常量池)的结构化信息。概念:mmap是操作系统用于,在当前进程的虚拟内存空间中创建一个新的VMA。创建进程、虚拟内存空间(建立VMA映射关系)创建进程、虚拟内存空间(建立VMA映射关系)编译流程:编译、汇编、链接(地址重定位)执行过程:取值、更新pc、执行、循环。

2026-01-31 21:28:57 291

原创 Java语言(Android前篇-13)

Dex载入内存 ——> 元空间(类加载)——> 实例化对象内存映射段VMA私有文件内存映射段内存映射段VMA私有匿名内存映射段堆内存段VMA匿名映射。

2026-01-27 23:40:23 356

原创 缺页异常(Android前篇-12)

分配新的物理地址,复制原地址数据。

2026-01-26 22:10:33 169

原创 Android系统调用-mmap指令(Android前篇-11)

mmap 是操作系统用于,在调用的进程的虚拟内存空间创建一个新的VMA(初始两个进程建立页表映射关系,指向同一个物理地址。

2026-01-26 21:58:35 236

原创 Android系统调用-execve指令(Android前篇-10)

execve 是操作系统用于的系统调用清空重头加载。

2026-01-26 20:50:05 316

原创 Android系统调用-fork指令(Android前篇-9)

fork 是操作系统用于管理的系统调用。

2026-01-26 20:16:27 163

原创 Android系统调用(Android前篇-8)

Syscall是触发系统调用的特殊的CPU指令(例如:mov),而不是普通的函数的虚拟地址。

2026-01-26 14:50:20 185

原创 Android操作系统3-局部变量(Android前篇-7)

概念:用于局部变量的寄存器“栈帧”“栈顶”简单理解。

2026-01-26 01:38:35 191

原创 Android操作系统2(Android前篇-6)

操作系统在创建进程时,为每个进程创建一个全新的虚拟地址空间。

2026-01-25 20:06:35 384

原创 Android操作系统(Android前篇-5)

提供给CPU页表地址,翻译虚拟地址——> 物理地址缺页异常时,从映射文件中查找指令。

2026-01-23 22:01:00 235

原创 程序为何加载进内存运行(Android前篇-4)

和与其相连的内存(RAM),而硬盘、ROM等外存设备接口,CPU无法直接读取其指令。CPU处理速度极快,而存储介质(ROM)的处理速度慢了几个数量级。代码被加载进内存,操作系统为每个进程统一的、受保护的。代码映射到内存空间,使多个进程共享相同的库代码。

2026-01-23 17:01:13 209

原创 CPU概念(Android前篇-3)

1. Android系统支持多种CPU架构,主要分为:ARM、X862. 不同的CPU架构,决定操作系统和程序软件被编译成的指令集。

2026-01-23 16:45:36 177

原创 C的编译流程与CPU架构(Android前篇-2)

C语言 ——> 汇编语言编译器通过,将C代码翻译成 特定 处理器架构的。

2026-01-22 19:06:14 207

原创 Ascll码(Android前篇-1)

无论是还是,我们编写的本身通常是,默认使用Ascll或兼容Ascll的UTF-8等编码保存编译器或解释器在编译/解释过程的第一个阶段(词法分析)时,就是通过读取这些字节流,并根据Ascll或Unicode规则来识别变量名、关键字等符号的。

2026-01-22 02:31:50 300

空空如也

空空如也

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

TA关注的人

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