Java 相关
文章平均质量分 57
Java相关的学习,比如java底层原理设计模式。大数据相关的spark和Hadoop等
克念
这个作者很懒,什么都没留下…
展开
-
Java 多线程简单死锁实现
什么情况下才会出现死锁呢?一种比较典型的情况是: 有两个线程,就叫做thread1 和thread2,这两个线程的执行过程中都需要获取资源A和资源B的锁。当出现这种情况的时候,就会导致两个线程死锁: Thread1访问A资源,然后准备访问B资源,Thread2先访问B资源,然后准备访问A资源。当thread1和thread2同时执行的时候,就可能导致死锁。因为可能thread1...原创 2018-05-11 16:32:32 · 724 阅读 · 0 评论 -
Java 线程安全的单例模式
第一种,通过synchronized 关键字双重非空判断public class ThreadSafeSingleton { //使用volatile关键字,可以保证当ThreadSafeSingleton对象在第一个线程中创建完毕的时候,其它的线程可以立马感知到 private static volatile ThreadSafeSingleton threadSafeS...原创 2018-05-14 22:35:33 · 1159 阅读 · 0 评论 -
Java Thread.yield方法和Object.wait方法的区别
yield方法和wait方法都会导致当前线程的停止。但是它们是有区别的。 首先,yield方法是Thread对象提供的方法,wait是Object对象提供的方法可以看到线程一共有下面的几种状态。 1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调...原创 2018-05-15 10:30:10 · 1289 阅读 · 0 评论 -
Java中通过反射为构造函数为private的类创建对象
在Java中,一般情况下会使用new关键字来调用类的有参或者无参构造函数来建立一个对象,也可以通过Class.newInstance()方法来调用类的无参构造函数来建立一个对象。而如果一个类的构造函数为private 类型,不是public类型的话,那么new关键字和Class.newInstance()方法都将没有用武之地。这也是为什么我们通过把构造函数设置为private类型来实现单例模式的原...原创 2018-05-16 10:15:18 · 4099 阅读 · 0 评论