
Runnable的缺陷 不能返回返回值 不能抛出Checked Exception Callable接口 实现call()有返回值可以抛出异常 Future类 Future和...
Lock接口 1. 简介,地位,作用 锁是一种工具,用于控制对共享资源的访问 Lock不是用来替代Synchronized的,而是在Synchronized不满足的时候提供更...
工具类 CountDownLatch 倒计时门插 构造方法public CountDownLatch(int count),count为需要倒数的数值调用await()方法的...
什么是不变性(Immutable) 如果对象在创建后,状态就不被修改,那么它就是不可变得不可变对象要求,所有属性都不能改变 具有不可变性的对象一定是线程安全的,不需要其他安全...
两大使用场景 每个线程需要一个独享的对象(通常是工具类,典型的有SimpleDataFormat, Random) 每个线程内需要保存 全局的信息(这些信息在同一个线程内相同...
LruCache
为什么要使用线程池 反复创建线程开销大, 过多的线程占用太多内存 线程池的好处 加快响应速度 合理利用CPU,内存 统一管理资源 线程池适用的场合 实际开发中,如果需要创建5...
死锁 死锁是什么? 发生在并发中, 当两个(或更多)线程(或进程)相互持有对方的资源,又不主动释放,导致程序陷入无尽的阻塞,就是死锁。 多个线程造成死锁的情况 如果多个线程的...
为什么需要单例? 节省内存和计算, 保证结果正确 方便管理 适用场景 无状态的工具类:比如日志工具 全局信息类 八种写法 1. 饿汉式(静态常量)[可用] 2. 饿汉式(静态...
Markdown语法[https://www.jianshu.com/p/a3786cc10a99#fnref1] JMM(Java Memory Model) 是一种规范是...
Markdown语法[https://www.jianshu.com/p/a3786cc10a99#fnref1] 核心一:实现多线程的方法到底是几种?1种2种还是4种? 网...
Markdown语法[https://www.jianshu.com/p/a3786cc10a99#fnref1] 2 Synchronized简介 1) synchroni...
Markdown语法[https://www.jianshu.com/p/a3786cc10a99#fnref1] HTTP 的概念、原理、⼯作机制、数据格式 HTTP 的定...