摘要: https://www.cnblogs.com/tuhooo/p/7921651.html 阅读全文
posted @ 2019-03-20 17:29 yuange 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 一、乐观锁与悲观锁 悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁 阅读全文
posted @ 2019-03-20 17:28 yuange 阅读(2591) 评论(0) 推荐(2) 编辑
摘要: 一、同步方法 对共享资源进行访问的方法定义中加上synchronized关键字修饰,使得此方法称为同步方法。可以简单理解成对此方法进行了加锁,其锁对象为当前方法所在的对象自身。多线程环境下,当执行此方法时,首先都要获得此同步锁(且同时最多只有一个线程能够获得),只有当线程执行完此同步方法后,才会释放 阅读全文
posted @ 2019-03-20 17:14 yuange 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、Java多线程的阻塞状态与线程控制 1.1join() join 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。 public class ThreadTest { public static 阅读全文
posted @ 2019-03-20 16:20 yuange 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 一、线程的生命周期及五种基本状态 Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状 阅读全文
posted @ 2019-03-20 15:57 yuange 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 1、CopyOnWriteArrayList 1.CopyOnWriteArrayList(字译名称:写时复制),它可以看成是线程安全且读操作无锁的ArrayList。 2.使用场景: 读操作远远大于写操作,比如有些系统级别的信息,往往需要加载或者修改很少的次数,但是会被系统内的所有模块频繁的访问。 阅读全文
posted @ 2019-03-18 21:26 yuange 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 一、java集合框架图 二、总体分体 所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口 List集合是有序集合,素可以重复,可以根据元素的索引来访问。 Set集合是无序集合,元素不可以 阅读全文
posted @ 2019-03-16 23:34 yuange 阅读(168) 评论(0) 推荐(0) 编辑
返回顶部