
Java
AcceptedF
这个作者很懒,什么都没留下…
展开
-
单例模式的三种实现-Java
1.双重检查锁定:加同步锁前后两次判断实例是否已存在public class Singleton {private Singleton(){}private volatile static Singleton instance=null;public static Singleton getInstance(){if(instance==null){synchroniz原创 2017-03-20 17:02:46 · 243 阅读 · 0 评论 -
各种常用排序算法
排序算法概述1.选择排序思路:以升序排序举例,从第一个数开始,和后面的数逐一比较,获取最小数的索引,并和第一个数交换;接下去从第二个数开始,和后面的数逐一比较,获取最小数的索引,并和第二个数交换;以此类推。分析:对于长度为N的数组,选择排序需要大约N^2/2次比较和N次交换代码: public static void selectSort(int[] a原创 2017-08-21 15:38:02 · 204 阅读 · 0 评论 -
Java死锁
一、死锁是什么死锁:当两个线程相互等待对方释放同步监视器便会发生死锁。死锁产生的4个必要条件:1.互斥条件:一个资源每次只能被一个线程使用。2.请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:线程已获得的资源在未使用完之前,不得强行剥夺。4.循环等待条件:若干线程之间形成头尾相接的循环等待资源关系。二、如何避免死锁避免死锁的方法是允许前3个条件存在,破坏第4个条...原创 2018-04-15 13:38:11 · 147 阅读 · 0 评论