@GuardedBy注解
参考:https://blog.csdn.net/lihenair/article/details/61913542
在ActivityThread中看到如下的用法:
@GuardedBy("mResourcesManager")final ArrayMap<String, WeakReference<LoadedApk>> mPackages = new ArrayMap<>();@GuardedBy("mResourcesManager")final ArrayMap<String, WeakReference<LoadedApk>> mResourcePackages = new ArrayMap<>();@GuardedBy("mResourcesManager")final ArrayList<ActivityClientRecord> mRelaunchingActivities = new ArrayList<>();@GuardedBy("mResourcesManager")Configuration mPendingConfiguration = null;@GuardedBy("mResourcesManager")int mLifecycleSeq = 0;private final ResourcesManager mResourcesManager;
对这些成员变量加上了注解词@GuardedBy("mResourcesManager")。
根据参考的文章,这个是一个同步锁,只有在线程持有mResourcesManager对象锁时,才能使用这写变量。
如:
private int getLifecycleSeq() {synchronized (mResourcesManager) {return mLifecycleSeq++;}}
@GuardedBy注解相关推荐
- 大佬教你极简方法来处理Android SharedPreferences设计与实现
起源 就在前几日,有幸拜读到 HiDhl 的文章,继腾讯开源类似功能的MMKV之后,Google官方维护的 Jetpack DataStore 组件横空出世--这是否意味着无论是腾讯三方还是Googl ...
- 官方也无力回天?“SharedPreferences 存在什么问题?”
作者:却把清梅嗅 链接:https://juejin.im/post/6884505736836022280 起源 就在前几日,有幸拜读到 HiDhl 的文章 https://juejin.im/p ...
- 反思|官方也无力回天?Android SharedPreferences的设计与实现
反思 系列博客是我的一种新学习方式的尝试,该系列起源和目录请参考 这里 . 起源 就在前几日,有幸拜读到 HiDhl 的文章,继腾讯开源类似功能的MMKV之后,Google官方维护的 Jetpack ...
- PackageManagerService中的方法名中的LI、LIF、LPw、LPr的含义
PackageManagerService中的方法名中的LI.LIF.LPw.LPr的含义 注1:本文参考Android 7.1.1r13源码中的PackageManagerService的说明. 这 ...
- 多线程服务器的常用编程模型 .
转自: 陈硕 (giantchen_AT_gmail) : http://blog.csdn.net/solstice/article/details/5307710 本文主要讲我个人在多线程开发方面 ...
- 线程同步的注解:@ThreadSafe、@Immutable、@NotThreadSafe、@GuardedBy
Java并发编程中,用到了一些专门为并发编程准备的 Annotation.主要包括三类: <dependency> <groupId>net.jcip</groupId& ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- 使用feign调用注解在eureka上的微服务,简单学会微服务
使用feign调用注解在eureka上的微服务. 首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上. 1. 在调用方添加依赖(万事第一步,加依赖) <dependency ...
- IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...
使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...
- @Transactional注解最容易忽视的三个失效场景!
@Transactional注解在以下场景中使用,是会失效的,切记! 1.非public方法 spring对注解事务的方法进行校验,修饰符是不是public,不是 public则不会获取@Transa ...
最新文章
- iOS 十六进制的颜色值转换为UIColor
- WIN2003 下安装 WinWebMail 3.6.3.1
- 13.8 线程的安全问题和解决方法
- Java 9抢先体验:与JShell的动手实践– Java REPL
- 尬出天际!和导师微信聊天大型翻车现场!
- Biorhythms(POJ-1006)
- 「云+未来」上海峰会,报名开启
- 禅道外部消息提示_Spring Boot中文参考指南(2.1.6)34、消息传递
- AC日记——[NOI2006]最大获利 bzoj 1497
- spring boot: 一般注入说明(五) @Component, application event事件为Bean与Bean之间通信提供了支持...
- 网吧母盘的制作(2007详细)
- java word书签_java和javascript获取word的 书签位置
- 计算机 英语简历,2017计算机英文简历范文
- 关于socket阻塞与非阻塞情况下的recv、seng、read、write返回值问题
- 手把手教你写一个Matlab App(一)
- linux下md5sum命令的使用
- 瀚博半导体载天VA1 加速卡安装过程
- 每日新闻摘要:适用于Win7,Android Q Beta等的DirectX
- Java中“||”与“|”的区别【JAVA基础】
- 计算机科学期刊催稿,SOFT COMPUTING