`
朱秋旭
  • 浏览: 228058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lombok 之 Synchronized

阅读更多

LomBok 的相关目录已经整理出来,希望大家可以根据需求自助学习,好工具要大家分享:

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

@Sychronized 是一个处理线程安全问题的annotation, 他的使用方法和关键字 synchronized比较类似,但是有一些不同点就是,关键字synchronized是锁定当前对象(this指针) , 而@Synchronized则会锁定一个private的常量。如果当前类中没有这个常量,就会自动生成一个。

import lombok.Synchronized;

public class SynchronizedExample {
  private final Object readLock = new Object();
  
  @Synchronized
  public static void hello() {
    System.out.println("world");
  }
  
  @Synchronized
  public int answerToLife() {
    return 42;
  }
  
  @Synchronized("readLock")
  public void foo() {
    System.out.println("bar");
  }
}

 

如果当前锁定的方法是一个静态的方法的话,会自动生成一个静态常量,如果是一个普通方法的话会生成一个普通常量,类型为Object

 

public class SynchronizedExample {
  private static final Object $LOCK = new Object[0];
  private final Object $lock = new Object[0];
  private final Object readLock = new Object();
  
  public static void hello() {
    synchronized($LOCK) {
      System.out.println("world");
    }
  }
  
  public int answerToLife() {
    synchronized($lock) {
      return 42;
    }
  }
  
  public void foo() {
    synchronized(readLock) {
      System.out.println("bar");
    }
  }
}

 

0
0
分享到:
评论

相关推荐

    lombok.jar;lombok.jar

    lombok.jar lombok.jar lombok.jar lombok.jar 亲测好用!!!

    lombok-1.16.20-API文档-中文版.zip

    赠送jar包:lombok-1.16.20.jar; 赠送原API文档:lombok-1.16.20-javadoc.jar; 赠送源代码:lombok-1.16.20-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.20.pom; 包含翻译后的API文档:lombok-1.16.20-...

    lombok.jar(1.16.18版本)最新包

    lombok(1.16.18版本)最新包, 1、下载Lombok.jar 2、双击运行Lombok.jar 数秒后将弹出一框,以确认eclipse的安装路径 3、确认完eclipse的安装路径后,点击install/update按钮,即可安装完成 4、安装完成之后,请...

    lombok 1.18.24 良心价

    lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 ...

    lombok_lombok.zip

    lombok_lombok.zip

    lombok的eclipse安装包

    eclipse安装lombok支持的jar包,一键安装,简单轻松可用

    lombok_lombok_源码.zip

    lombok_lombok_源码.zip

    lombok 1.18.24

    lombok 1.18.24

    lombok-1.16.10-API文档-中文版.zip

    赠送jar包:lombok-1.16.10.jar; 赠送原API文档:lombok-1.16.10-javadoc.jar; 赠送源代码:lombok-1.16.10-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.10.pom; 包含翻译后的API文档:lombok-1.16.10-...

    eclipse的lombok驱动包

    lombok

    lombok-1.18.6-source.zip

    下载Lombok,版本为Lombok1.18.6.jar(因jdk1.8与1.16.x版本不匹配,所以才升级1.18.x版本) 安装方法: 将Lombok1.18.6.jar复制到eclipse安装目录下之后鼠标双击它,然后点击弹窗页面的Specify location按钮之后...

    Lombok安装及使用

    Lombok安装及使用,里面包含文档说明及jar包,安装步骤、例子都在里面,欢迎使用

    IDEA lombok 插件安装下载

    IDEA lombok 插件 get set方法可以提示

    lombok 1.18.16

    lombok 1.18.16,2020.11.9 从官网下载的:https://projectlombok.org/download

    lombok-1.16.10-API文档-中英对照版.zip

    赠送jar包:lombok-1.16.10.jar; 赠送原API文档:lombok-1.16.10-javadoc.jar; 赠送源代码:lombok-1.16.10-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.10.pom; 包含翻译后的API文档:lombok-1.16.10-...

    lombok.jar lombok.jar

    将lombok.jar文件,放到eclipse安装路径,该jar包也就是lombok插件的jar文件了  打开eclipse.ini文件,添加如下内容:  -javaagent:lombok.jar  -Xbootclasspath/a:lombok.jar 重启eclipse

    IDEA lombok 插件

    IDEA lombok 插件 lombok-plugin-0.8.8-14

    lombok-1.16.20-API文档-中英对照版.zip

    赠送jar包:lombok-1.16.20.jar; 赠送原API文档:lombok-1.16.20-javadoc.jar; 赠送源代码:lombok-1.16.20-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.20.pom; 包含翻译后的API文档:lombok-1.16.20-...

    lombok 插件idea 下载

    lombok插件,IDEA离线安装包,插件 get set方法可以提示,简单粗暴,很强大!

    Lombok1.16.20.jar Lombok1.16.6.jar

    最新的Lombok版本下载,Lombok1.16.20.jar,还有lombok-1.16.6.jar、常用的lombok-1.12.4.jar

Global site tag (gtag.js) - Google Analytics