
java知识
java知识
xiaomisolo
这个作者很懒,什么都没留下…
展开
-
final的内存语义
final域的重排序规则对于final域,编译器和处理器要遵守两个重排序规则1> 在构造函数内对一个final域的写入,与随后把这个构造函数的引用赋值给一个引用变量,两个操作不能重排序2> 初次读一个包含final域对象的引用,和随后初次读这个final域,这两个操作不能重排序class FinalExample{ int i;//普通变量 final ...转载 2019-09-22 14:45:03 · 143 阅读 · 0 评论 -
@JsonFormat与@DateTimeFormat
一般都是使用@DateTimeFormat把传给后台的时间字符串转成Date,使用@JsonFormat把后台传出的Date转成时间字符串,但是@DateTimeFormat只会在非json数据上生效,即如果@DateTimeFormat放到@RequestBody下是无效的。 在@RequestBody中则可以使用@JsonFormat把传给后台的时间字符串转成Date,也就是说@Json...转载 2020-03-01 16:01:53 · 203 阅读 · 0 评论 -
转义字符,java正则表达式中的特殊字符
1.常见的转义字符字母前面加上反斜线 "\" 来表示常见的那些不能显示的ASCII字符.称为转义字符。如 \0, \t, \n 等。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) ,将当前...转载 2019-12-22 15:13:55 · 797 阅读 · 0 评论 -
Lombok简介与作用
1.官方介绍Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your clas...转载 2019-12-07 12:42:44 · 319 阅读 · 0 评论 -
@Validated和@Valid相关使用与区别
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范,是标准 JSR-303 的一个变种),javax提供了@Valid(标准JSR-303规范),配合 BindingResult 可以直接提供参数验证结果。在分组、注解地方、嵌套验证等功能上两个有所不同:1. 分组@Validated:提供了一个分组功能,可以在入参验证...转载 2019-10-27 15:42:42 · 1235 阅读 · 0 评论 -
为什么内部类调用的外部变量必须是final修饰的?
因为生命周期的原因。方法中的局部变量,方法结束后这个变量就要释放掉,final保证这个变量始终指向一个对象。首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而跟随者被销毁。问题就来了,如果外部类的方法中的变量不定义final,那么当外部类方法执行完毕的时候,这个局部变量肯定也就被GC了,然而内部类的某个方法还没有执行完,这个时候他所引用的外部变量已经找不到...转载 2019-10-27 15:20:53 · 380 阅读 · 0 评论 -
No identifier specified for entity
一个原因是没有加@Id注解,另一个原因是使用了错误包的@Id(javax.persistence.Id和org.springframework.data.annotation.Id区别)很细微的差别,可能不注意看就错了而且很难去排查问题;区别在于:org.springframework.data.annotation.Id是spring用来支持MongoDB等非关系型数据库的持久化(spr...原创 2019-10-20 17:17:01 · 105 阅读 · 0 评论 -
java的happen-before原则
再来重复下八大原则:单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。 锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。 volatile的happen-before原则:对一个volatile变量的写操作happen-before对此变量的任意操作(当然也包括写操作了)。...转载 2019-09-21 17:00:27 · 137 阅读 · 0 评论 -
InputStream转byte数组
以便平常使用public static byte[] read(InputStream inputStream) throws IOException { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte...原创 2019-09-20 17:11:23 · 2522 阅读 · 0 评论 -
List排序
1、list<Integer>的正序List<Integer> list = new ArrayList<>();list.add(50);list.add(45);list.add(25);list.add(98);list.add(32);List<Integer> collect = list.stream().sorted()....转载 2019-09-17 22:40:17 · 1037 阅读 · 0 评论 -
equals()和hashCode()
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-07 16:12:42 · 147 阅读 · 0 评论 -
java类的加载时机和过程
1 开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下: class SingleTon { pr...转载 2019-09-07 15:37:26 · 96 阅读 · 0 评论