首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
源码分析
订阅
陌上花开缓缓归
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
Retrofit VS OkHttp,谁是最强网络开发框架?
毫无疑问,OkHttp的横空出世,让其他网络请求框架都黯然失色。它是一个高效的HTTP客户端,作为目前Android开发中最为广泛使用的网络框架。不得不说OkHttp是真的强大真的香。 但在实际的项目
Coil 和 Glide 的 Bitmap 缓存复用机制
Android 开发者最熟悉的图片加载框架应该是 Glide 和 Picasso 这两个了,最近两年也出现了一个后起之秀:Coil。Coil 是一个新兴的 Android 图片加载库,Coil 的名
瀑布流布局切Tab跳跃问题原因及两种解决方案
我开源了一个方便RecyclerView吸顶的Android库,欢迎您访问https://github.com/lizijin/StickyHeaderForRecyclerView,如果您使用本库,请提出您的宝贵意见。 1. 问题描述 最近在做一个购物车+推荐商品功能。结合 …
死磕 java集合之ConcurrentLinkedQueue源码分析
ConcurrentLinkedQueue只实现了Queue接口,并没有实现BlockingQueue接口,所以它不是阻塞队列,也不能用于线程池中,但是它是线程安全的,可用于多线程环境中。 那么,它的线程安全又是如何实现的呢?让我们一起来瞧一瞧。 就这两个主要属性,一个头节点,…
看完这篇 LeakCanary 原理分析,又可以虐面试官了!
成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 在Android主流三方库源码分析系列的前几篇文章中,笔者已经对网络、图片、数据库、响应式编程中最热门的第三方开源框架进行了较为深入地讲解,如果有朋友对这四块感兴趣的话,可以去…
终于明白为什么要加 final 关键字了!
在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情况。但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。 可以看到,当试图修改基本数据类型的变量时,编译器的警告变成了 “…
Java Serializable:明明就一个空的接口嘛
对于 Java 的序列化,我一直停留在最浅显的认知上——把那个要序列化的类实现 Serializbale 接口就可以了。我不愿意做更深入的研究,因为会用就行了嘛。 但随着时间的推移,见到 Serializbale 的次数越来越多,我便对它产生了浓厚的兴趣。是时候花点时间研究研究…
死磕 java同步系列之ReentrantLock VS synchronized——结果可能跟你想的不一样
synchronized是Java原生提供的用于在多线程环境中保证同步的关键字,底层是通过修改对象头中的MarkWord来实现的。 ReentrantLock是Java语言层面提供的用于在多线程环境中保证同步的类,底层是通过原子更新状态变量state来实现的。 我猜测应该是Re…
99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?
在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对象。 其中,Object.clone 方法和反序列化通过直接复制…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…