小技能
含泪写笔记
这个作者很懒,什么都没留下…
展开
-
== 和equals()
一、==作用与基本类型 比较的是基本类型的值作用引用数据类型 比较的是内存地址的值二、equals3. equals()是Object类中的方法,默认比较的是内存地址的值4. String是Object的子类,他重写了equals方法,比较的是字符串内容是否相同当我们写了一个类时,并且有判断类的对象是否相同的需求时,自然而然想到要重写equals()方法,但是重写equals方法就要重写hashcode()方法!!首先重写一个equals():用了反射,来判断两个对象的类是否相等c原创 2021-09-18 18:58:03 · 92 阅读 · 0 评论 -
LOMBOK插件安装
有用原创 2021-09-11 21:55:38 · 179 阅读 · 0 评论 -
实现一个自旋锁
public class Study { public static void main(String[] args) { ZixuanTest zixuanTest = new ZixuanTest(); //线程A持有5秒钟锁 new Thread(()->{ zixuanTest.lock(); try { Thread.sleep(5000);原创 2021-09-03 16:24:40 · 135 阅读 · 0 评论 -
懒汉式单例模式的线程安全实现(最新)
懒汉式单例模式是线程不安全的,这里有两个实现单例模式线程安全的方法(枚举方法不写了)1.DCL双端锁通过volatile禁止指令重排,防止得到nullpublic class Study { private volatile static Study instance; private void Study(){ } public static Study getInstance(){ if (instance == null){ syn原创 2021-09-03 14:44:43 · 433 阅读 · 0 评论 -
手写死锁的小问题和查看死锁
问题:在第一个线程中没有调用sleep()方法时,执行程序后没有出现死锁原因:第一个线程获得o锁后,第二个线程还没有获得o2锁,所以没有资源冲突解决方法:第一个线程获得o锁后,让第一个线程sleep2秒,让第二个线程获得o2锁,查看死锁的方法①打开cmd②执行 jps查看程序 号③执行 jstack 程序号 来看是否发生死锁public class Deadsuo { static Object o = new Object(); static Object o2 =原创 2021-09-02 11:36:51 · 60 阅读 · 0 评论 -
解决jvisualvm无法安装插件问题
在jvisualvm安装visual GC时,出现了搜索不到插件,以致于不能安装该插件的问题。经过探索,找到了个解决方方法:1.打开工具–插件2.点开设置3.删除提供器重新添加(记得复制url)这样就可以安装了....原创 2021-08-24 18:15:07 · 603 阅读 · 1 评论 -
读取配置文件的两种方法
public class ReadProperties { @Test public void test() throws IOException { Properties properties = new Properties();// //方式一:文件流 FileInputStream fis = new FileInputStream("src\\main\\resources\\jdbc.properties"); p原创 2021-08-20 11:28:27 · 172 阅读 · 0 评论