首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
bugDev
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
92
文章 89
沸点 3
赞
92
返回
|
搜索文章
赞
文章( 89 )
沸点( 3 )
CAS原理分析及ABA问题详解
CAS即Compare And Swap的缩写,翻译成中文就是比较并交换,其作用是让CPU比较内存中某个值是否和预期的值相同,如果相同则将这个值更新为新值,不相同则不做更新,也就是CAS是原子性的操作(读和写两者同时具有原子性),其实现方式是通过借助C/C++调用CPU指令完成…
JAVA 中的 CAS
CAS 是现代操作系统,解决并发问题的一个重要手段,最近在看 eureka 的源码的时候。遇到了很多 CAS 的操作。今天就系统的回顾一下 Java 中的CAS。 当多个线程同时对某个资源进行CAS操作,只能有一个线程操作成功,但是并不会阻塞其他线程,其他线程只会收到操作失败的…
队列同步器(AQS)的设计原理
1. 前言 在Java中锁所可以分为两大类,一类是通过synchrinized关键字实现的隐式锁,一类是JUC包的锁。前者是通过JVM实现的,后者是根据队列同步器(AQS)实现的,也就是今天的主角。 在JUC包下实现了很多锁以及工具类,例如ReentrantLock、ReadW…
Android 内存泄漏全解
博主写的十分透彻,欢迎大家看看
Android 内存泄漏 ——检测、解决和避免
Android 内存泄漏 ——检测、解决和避免(深度好文)
一张图弄清Activity的启动过程
利用ApplicationThread建立了应用与AMS的链接。 构造了Instrumentation。 创建了应用的Application。 开启了主线程的消息处理模型。 它是应用程序在AMS中的Binder对象,AMS利用它可以和ActivityThread通信,四大组件相…
为什么使用0x61c88647
在Java1.4之前,ThreadLocals会导致线程之间发生竞争。在新的设计里,每一个线程都有他们自己的ThreadLocalMap,用来提高吞吐量,然而,我们仍然面临内存泄漏的可能性,因为长时间运行线程的ThreadLocalMap中的值不会被清除 在Java的早期版本中…
Thread.join()源码分析
在join()方法中最终会调用到对象的wait()方法,而wait()方法通常是和notify()或者notifyAll()方法成对出现的。而在使用join()方法时,我们压根就没有写notify()或者notifyAll()方法,这是为什么呢? 如果你知道答案,那么本文将对你…
三年经验Android开发面经总结
在下2017年毕业,目前从事android开发工作已经3年啦,前段时间刚完成一次跳槽,面试了几家公司,将一些面试经验分享给大家,希望对大家有所帮助。 首先是简历,一般找一个模板,填写掌握的技能和项目经历即可。 项目clone后,个性Resuem.md即可,然后导出为pdf文件。…
终于等到你!官方版Android源码查看工具正式发布!
一直以来,Android源代码查看与搜索都是Android开发者的一个痛点,虽然Android Studio 工具支持下载源码后跳转到底层实现,但是有时候还是不能满足我们的需求,最典型的例子就是我们要更改源码实现来修复一个bug的时候。如PopupWindow,Android …
下一页
关注了
80
关注者
0
收藏集
9
关注标签
10
加入于
2018-07-21