- 博客(4)
- 收藏
- 关注
原创 HashMap get put 方法 二叉 红黑树
只有当对应位置的数据都为1时,运算结果也为1,当HashMap的容量是2的n次幂时,(n-1)的2进制也就是1111111***111这样形式的,这样与添加元素的hash值进行位运算时,能够充分的散列,使得添加的元素均匀分布在HashMap的每个位置上,减少hash碰撞 如果不满足(n-1)者哈希算法出现哈希碰撞的概率大大增加。HashMap是一个线程不安全的容器,在最坏的情况下,所有元素都定位到同一个位置,形成一个长长的链表,这样get一个值时,最坏情况需要遍历所有节点,性能变成了O(n)。
2023-12-19 08:29:08
950
1
原创 JVM内存模型+GC垃圾收集器+G1垃圾收集器
SurviorA和SurviorB交替工作当上面的YangGC触发后再次存储对象当Eden区再次储存满了之后再次出发YangGc再次触发SurviorA和Eden会全部清除 被标记的会通过复制算法移动到SurviorB。Parallel Scavenge ------ Parallel Old(标记复制)2 并发标记 标记所以的Old的对象如果GCRoot没有标记就是需要清除的。Serial ------ Serial Old(标记复制)PawNew ------ CMS (标记清理)
2023-12-19 08:26:05
369
原创 Handler
Handler 是 Android 的一种消息处理机制,与 Looper,MessageQueue 绑定,可以用来进行线程的切换。常用于接收子线程发送的数据并在主线程中更新 UI。
2023-12-19 08:25:08
829
原创 MVC MVP MVVM MVI
mvc:activity即是v也是c,代码臃肿mvp:接口太多,p层容易内存泄漏mvvm:databinding生成的代码态度,livedata数据倒灌/粘性mvi:复杂页面,state膨胀面试官问:非常小的项目用什么?MVC。
2023-12-19 08:21:51
964
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人