随笔分类 - Java
摘要:原因 volatile 是保证变量被写时其结果其他线程可见,final 已经让该变量不能被再次写了。 如果你说 final 一个对象,改对象内部字段值,那也不是 volatile 的语义所适用的范围。 volatile volatile是一个特征修饰符(type specifier).volatil
阅读全文
摘要:1.先随便写一个java类,然后运行。 2.经过编译后,生成了Fruiterer.class文件,查看class文件,可以看出下面的内容已经是经过IDEA反编译之后的了,并不能直接看到字节码的内容。 3.使用bytecode viewer反编译工具,在IDEA的插件中搜索bytecode viewe
阅读全文
摘要:1.配置pom文件,在pom文件中引入swagger的相关依赖。 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </d
阅读全文
摘要:/** * 将Object转成List */ @Test public void testObjectCastToList() { Object obj = new Object(); // 这里模拟对解析出来的对象进行转换成List<String> List<String> resList = c
阅读全文
摘要:@Test public void testDayAdd() { // 小时时间段 String start = "09:30"; String end = "00:00"; // 时间格式 SimpleDateFormat sdfOne = new SimpleDateFormat("yyyy-M
阅读全文
摘要:1. 为什么要实现序列化接口Serializable? 答:实现序列化接口Serializable的目的是为了类可持久化,Java中的序列化机制能够将一个实例对象信息写入到一个字节流中(只序列化对象的属性值,而不会去序列化方法),序列化后的对象可用于网络传输(远程),或者持久化到数据库、磁盘中(本地
阅读全文
摘要:1.List集合一次性添加多个元素 public class ListAddMore { public static void main(String[] args) { List<String> listAddMore = new ArrayList<>(); //一次性对集合添加多个元素 Col
阅读全文
摘要:1.Arrays.asList()返回值是仍然是一个可变的集合,但是返回值是其内部类,不具有add方法,可以通过set方法进行增加值,默认长度是10 2.Collections.singletonList()返回的是不可变的集合,但是这个长度的集合只有1,可以减少内存分配,无需分配额外的内存。可以从
阅读全文
摘要:#新增一个字段 alter table 表名 add COLUMN 字段名 类型长度 DEFAULT NULL COMMENT '注释内容'; #例如: alter table device_log_run_operation add COLUMN parser_status VARCHAR(4)
阅读全文
摘要:首先需要说明下,本提到的 @NotEmpty、@NotBlank、@NotNull 分别是javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints
阅读全文
摘要:1.抽象类的基本概念 JAVA中使用abstract关键字来修饰的类是抽象类,一般我们把父类变成抽象类。父类是一个抽象的概念,实例化出来也没有意义,所以把父类变成抽象类后,这个类就不允许实例化了,但是一般可以作为子类对象的接收类型来用。抽象类中可以包含抽象方法也可以不包含,但是具有抽象方法的类一定是
阅读全文