一. 基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet); 2)HashMap的底层实现,之后会问ConcurrentH…
分类:java并发
java线程的同步控制--重入锁ReentrantLock
我们常用的synchronized关键字是一种最简单的线程同步控制方法,它决定了一个线程是否可以访问临界区资源。同时Object.wait() 和Object.notify()方法起到了线程等待和通知的作用。这些工具对…
锁(2)-- 分布式锁
前言: 锁分3种:java锁、分布式锁、DB锁 分布式锁的几种实现方式 目前几乎很多…
Java synchronized 锁住的是整个对象还是只有方法
先上结论: 类方法中,synchronized锁住的是对象this,只有调用同一个对象的方法才需要获取锁。同时,同一个对象中所有加了synchronize的方法只能一次调用一个 静态方法中,synchronize…
java线程安全之synchronized锁重入及出现异常锁自动释放(五)
科技快讯 11月16日下午消息,以“Bring AI to Life”为主题的2017百度世界大会今天在北京国贸大酒店和北京嘉里大酒店举行。爱奇艺创…
Java 对象锁与monitor的区别
转载自https://blog.csdn.net/kai_wei_zhang/article/details/8196364 在JVM的规范中,有这么一些话: “在JVM中,每个对…
JUC 原子类
volatile 变量 volatile变量具有可见性,也就是说线程能够自动发现volatile 变量的最新值;对volatile变量进行操作不会造成阻塞。 适用于:多个变量之间或者某个变量的当前值与修改后值之间没有约束…
Java单例模式中双检锁的线程安全问题
一、 实现一个双检锁 双检锁,顾名思义,两次检查一次锁: public class DoubleCheckLock { private static DoubleCheckLock instance; private D…
Java synchronized 可重入锁 基本概念
Java 5以前的并发编程 Java的线程模型建立在抢占式线程调度的基础上,也就是说: 所有线程可以很容易的共享同一进程中的对象。 能够引用这些对象的任何线程都可以修改这些对象。 为了保护数据,对象可以被锁住。 Java…
【18】java锁之wait,notify(wait会释放锁,notify仅仅只是通知,不释放锁)
wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(notify并不…
java web应用连接mysql会突然connection连接失败
tomcat6.0 mysql5.1 项目:java web项目 问题:原本项目运行了好几天了,一直没发现问题,突然今天报数据库连接异常,进入看日志发现 ### Error querying database. &nbs…
java线程:互斥锁与读写锁
两种互斥锁机制: 1、synchronized 2、ReentrantLock ReentrantLock是jdk5的新特性,采用ReentrantLock可以完全替代替换synchronized传统的锁机制,而且采用R…