目录
[3.6. synchronized](#3.6. synchronized)
一、预言
在阿里巴巴开发规范一文中,介绍了如何添加插件,使得开发更规范。在添加完毕后,进行代码扫描,可以发现各种问题。如下图所示,在上面第一条,生成所有的类都必须添加创建者信息
实际生产中,创建者信息可以如下图所示。但我这个是通过MP框架自动生成的,那如何通过idea设置自动生成呢
二、在Java类的开头自动注释作者名字和日期等信息
2.1.各种预设变量
2.2.idea配置
java
/**
* @Author: BLUE BLUE
* @Package: ${PACKAGE_NAME}
* @Project: ${PROJECT_NAME}
* @name : ${NAME}
* @Date: ${DATE} ${TIME}
* @Description:
*/
idea:File--->Settings--->Editor--->Code Style--->File and Code Templates,按下图所示
注意一:⑤File Header 是系统默认模版组,因此在进行操作⑥以后,可以不勾选⑦。
图 2.2.1
从下图可以看到,Class对应的模版是"File Header.java",这刚好与上图中模版组对应,那么在生成类时,将自动应用模版。同时,除了Class类外,还有Interface接口,Enum枚举等等,应用的都是该模版,如果想让不同的类应用不同的模版,则需要新增模版。
图 2.2.2
注意二: 上面提到新增模版,下面就是介绍新增模版流程。从下图 图2.2.3中可以看到,⑤的Name对应的是模版名称,后面的Extension对应的是拓展名是java,这也解释了图2.2.2中File Header.java中,java的由来。
图 2.2.3
2.3.成品展示
Description为自定义信息,一般用于介绍类作用,或者一些其他的类信息说明,可删。
三、快捷开发
除了上面介绍的用于规范开发的配置,还有一些用于快速开发的快捷键,由于种类太多,就不做意义介绍了,只简要展示几个
3.1.三种循环热键
3.2.if判断
3.3.instanceof运算
instanceof是Java的一个二元操作符(运算符)。它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。
上面代码的完整示例,可如下所示:
java
public class Test {
public HashMap m(Object o) {
HashMap hashMap = o instanceof HashMap ? ((HashMap) o) : null;
return hashMap;
}
}
3.4.非空判断
3.5.测试打印
3.6. synchronized
synchronized是Java语言中的一个关键字,它代表方法加锁,用于解决多个线程之间访问资源的同步性问题。synchronized的作用是保证在同一时刻,被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果。