首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
myroid
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
彻底弄懂 Java 线程池原理
这篇文章是我在阅读源码时整理的一些笔记,对源码的关键点进行了比较详细的注释,然后加上一些自己对线程池机制的理解。最终目的是要弄清楚下面这些问题: AtomicInteger 类型。高3位存储线程池状态,低29位存储当前线程数量。workerCountOf(c) 返回当前线程数量…
Android 高性能日志写入方案
公司目前在做一款企业级智能客服系统,对于系统稳定性要求很高,不过难保用户在使用中不会出现问题,而 Android SDK 集成在客户的 APP 中,同时由于 Android 碎片化的问题,对于 SDK 的问题排查就显得尤为困难,因此记录下用户的操作日志就显得极为重要。 一开始,…
HashMap 查漏补缺
HashMap 是面试的钉子户了,网上分析的文章也有很多,相信大家对于原理已经烂俗于心了。但最近在看源码时,发现其中一些实现细节其实不太好理解,所以决定以问答的形式在这里记录一下,写的时候尽量把原因说明白。 容量并不是指 HashMap 所能存储的键值对数量,而是其内部的 ta…
Dalvik 和 ART 有什么区别?深扒 Android 虚拟机发展史,真相却出乎意料!
自 2008 年 9 月 23 日对外发布第一个版本 Android 1.0 以来,在摩尔定律和安迪比尔定律的共同作用下,Android 系统以每年至少一次重大更新(2016 年至今每年一次)速度进行迭代,在进行版本迭代的过程中,Android 虚拟机的发展不可忽视。 在 An…
线程安全与volatile关键字
下面进行详细介绍,并聊聊Java先行发生原则与volatile。 即被volatile修饰的变量值发生变化时,其他线程可以立马感知。而对于普通变量,值发生变化后,需要经过store、write过程将变量从当前线程的工作内存写入主内存,其他线程再从主内存通过read、load将变…
Android 沉浸式状态栏 渐变颜色的实现
首先我们要了解在Android5.0以后,系统API提供直接设置StatusBar来改变状态栏的颜色,然而在4.4上StatusBar变色的基本原理就是将StatusBar本身设置为透明,然后在StatusBar的位置添加一个相同大小的View并上色。没办法,我们要做的渐变颜色…
HashMap 源码分析
1. 内部类及成员变量 Node 内部类:单链表数据结构,是理解 HashMap 结构的关键,内部存储:hash(对 key 的 hashCode值的高低位异或,后面有解释)、key(传进来的键)、value(传进来的值)、next(指向下一个 Node 节点)。 TreeNo…
使用 MotionLayout 简单构建过渡
本篇会介绍如何使用 MotionLayout 快速创建一个简单的过渡效果。 在开始之前请牢记,构建过渡,只需简单的三步。
Volatile的那些事
上一篇中,我们了解了Synchronized关键字,知道了它的基本使用方法,它的同步特性,知道了它与Java内存模型的关系,也明白了Synchronized可以保证“原子性”,“可见性”,“有序性”。今天我们来看看另外一个关键字Volatile,这也是极其重要的关键字之一。毫不…