Thread专题(14)中,如何实现自定义Annotation?

2026-05-28 03:000阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计705个文字,预计阅读时间需要3分钟。

Thread专题(14)中,如何实现自定义Annotation?

本文作者将此内容收录在系列文章中,其中架构师必备(系列)为中,本章节的注解是非官方的,属于知识扩展。自Java拥有注释功能以来,有时可以考虑使用注释来替代文档。

此文被笔者收录在系列文章 ​​​架构师必备(系列)​​ 中,这一章的注解是非官方的注解,属于一点扩展知识。自从java有了注解能力后,在有些时候可以考虑用注释来代替文档。

@GuardedBy和@ThreadSafe等Annotation用来展现如何将线程安全性的保证和同步策略进行文档化。下面会介绍一点经常用到的Annotation。

类Annotation

我们用到了3个类级Annotation来描述类的可预期的线程安全性保证:

  • ✴@Immutable:不可变的,并包含了@ThreadSafe。
  • ✴@NotThreadSafe:是可选的,如果类没有被标明是线程安全的,就无法肯定它是不是线程安全的,但是如果想标它不是线程安全的,就标为@ NotThreadSafe。
  • ✴@ThreadSafe:线程安全的。

这些 Annotation相对是非侵入的,这对用户和维护者都是有益的,用户可以立即看出一个类是否是线程安全的,维护者也可以直接检查类是否遵守了线程安全性保证。 Annotation对于第三个利益即得者也是有用的:工具。静态的代码分析工具可以有能力对代码进行验证,看它是否遵守了由Annotation指定的契约,比如标明为@Immutable的类是否真正不可变的。

域Annotation和方法Annotation

上面的类级Annotation只是类的公共文档的一部分,类的线程安全性策略的其他方面,对于维护者来说是完全有必要的,不过并没有作为公共文档的一部分。

阅读全文

本文共计705个文字,预计阅读时间需要3分钟。

Thread专题(14)中,如何实现自定义Annotation?

本文作者将此内容收录在系列文章中,其中架构师必备(系列)为中,本章节的注解是非官方的,属于知识扩展。自Java拥有注释功能以来,有时可以考虑使用注释来替代文档。

此文被笔者收录在系列文章 ​​​架构师必备(系列)​​ 中,这一章的注解是非官方的注解,属于一点扩展知识。自从java有了注解能力后,在有些时候可以考虑用注释来代替文档。

@GuardedBy和@ThreadSafe等Annotation用来展现如何将线程安全性的保证和同步策略进行文档化。下面会介绍一点经常用到的Annotation。

类Annotation

我们用到了3个类级Annotation来描述类的可预期的线程安全性保证:

  • ✴@Immutable:不可变的,并包含了@ThreadSafe。
  • ✴@NotThreadSafe:是可选的,如果类没有被标明是线程安全的,就无法肯定它是不是线程安全的,但是如果想标它不是线程安全的,就标为@ NotThreadSafe。
  • ✴@ThreadSafe:线程安全的。

这些 Annotation相对是非侵入的,这对用户和维护者都是有益的,用户可以立即看出一个类是否是线程安全的,维护者也可以直接检查类是否遵守了线程安全性保证。 Annotation对于第三个利益即得者也是有用的:工具。静态的代码分析工具可以有能力对代码进行验证,看它是否遵守了由Annotation指定的契约,比如标明为@Immutable的类是否真正不可变的。

域Annotation和方法Annotation

上面的类级Annotation只是类的公共文档的一部分,类的线程安全性策略的其他方面,对于维护者来说是完全有必要的,不过并没有作为公共文档的一部分。

阅读全文