Java基础 7
-
21 2020年09月
使用lombok注意事项
在java开发的过程中基本上都使用过lombok这个插件吧,是不是觉得这个插件很好用,一个注解@Data就搞定了,其他的都不用管了,今天我们来看看这个插件是不是这么简单?众说周知@Data注解会帮我们实现 equals 和 hashcode 方法,但是有继承关系时, Lombok 自动生成的方法可能
-
16 2019年08月
Serializable两三事
简介Serializable在java语言中的作用就是用来序列化,通过查看源码,发现只是一个空的接口,竟然能够实现对象的序列化和反序列化?其接口定义如下:public interface Serializable {}实践先来创建一个类用于序列化和反序列化public class User impl
-
21 2018年09月
equals()和hashcode()方法详解
今天来重新梳理下equals方法和hashcode方法,好了开始什么是hashcodehashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值,也就是哈希码,哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码
-
20 2018年09月
Cloneable接口和Objec中的clone()方法
概述Cloneable接口是一个空接口,仅用于标记对象,Cloneable接口里面是没有clone()方法,这个clone()方法是Object类里面的方法!默认实现是一个Native方法如果对象implement Cloneable接口的话,需要覆盖clone方法(因为Object类的clone方
-
09 2018年07月
-
17 2018年05月
fast-fail机制
fast-fail机制,就是快速失败机制,它是java集合的一种错误检测机制,当多个线程对集合进行结构上的改变操作时,就有可能产生fast-fail机制(是有可能,而不是一定)fast-fail示例public class FailFastTest { private static List&
-
15 2018年05月
happens-before原则
随着对java并发的越来越深入,到后面总会接触到happens-before规则。由于存在线程本地内存和主内存的原因,加上重排序,会导致多线程环境下的存在可见性的问题,我们无法保证所有的场景某个线程改的变量对其他线程可见,但是我们可以指定某些规则,这些规则就是happens-before。概述在JM