摘要: 一、懒汉式 懒汉模式中单例是在需要的时候才去创建的,如果单例已经创建,再次调用获取接口将不会重新创建新的对象,而是直接返回之前创建的对象。如果某个单例使用的次数少,并且创建单例消耗的资源较多,那么就需要实现单例的按需创建,这个时候使用懒汉模式就是一个不错的选择。但是这里的懒汉模式并没有考虑线程安全问 阅读全文
posted @ 2018-12-04 18:45 饕餮灬灬 阅读(458) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 主要方法 CyclicBarrier 阅读全文
posted @ 2018-12-04 17:50 饕餮灬灬 阅读(103) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap 一、hashtable、hashmap、ConcurrentHashMap 1、线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 2、效率低下的Has 阅读全文
posted @ 2018-12-04 16:26 饕餮灬灬 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 一、ThreadLoal的理解 ThreadLoal 变量,它的基本原理是,同一个 ThreadLocal 所包含的对象(对ThreadLocal< String >而言即为 String 类型变量),在不同的 Thread 中有不同的副本(实际是不同的实例,后文会详细阐述)。 因为每个 Threa 阅读全文
posted @ 2018-12-03 18:49 饕餮灬灬 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要用线程池 合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系 阅读全文
posted @ 2018-12-03 17:50 饕餮灬灬 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一、synchronized的作用 synchronized是java中的一个关键字,用于线程同步。1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的 阅读全文
posted @ 2018-11-30 17:22 饕餮灬灬 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 一、什么是cas CAS,compare and swap的缩写,中文翻译成比较并交换。 CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。 从思想上来说,Synchro 阅读全文
posted @ 2018-11-30 14:51 饕餮灬灬 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 一、java内存模型的相关概念:原子性、可见性与有序性 原子性: 原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原 阅读全文
posted @ 2018-11-29 17:55 饕餮灬灬 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 一.hashmap的数据结构 HashMap采取数组加链表的存储方式(哈希表)来实现。亦即数组(散列桶)中的每一个元素都是链表 二.hashmap的构造函数 HashMap():构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。 HashMap(int init 阅读全文
posted @ 2018-11-29 14:12 饕餮灬灬 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 结构特点 List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合; List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode 阅读全文
posted @ 2018-11-28 15:46 饕餮灬灬 阅读(170) 评论(0) 推荐(0) 编辑