![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
juc
沙发斯蒂芬大大
这个作者很懒,什么都没留下…
展开
-
多线程基础
多线程基础/** 多线程* 创建线程任务两种方式* 1.继承Thread 类 重写run方法。此方法内容为多线程任务。* 2.通过d实现Runnable接口实现run方法。创建d对象 Ticket d = new Ticket(); 更常用。* 创建多线程* Thread t1 = new Thread(); 方式一*...原创 2018-09-14 10:51:43 · 101 阅读 · 0 评论 -
单例模式大全
饿汉式// 饿汉式单例public class Hungry { // 可能会浪费空间 private byte[] data1 = new byte[1024*1024]; private byte[] data2 = new byte[1024*1024]; private byte[] data3 = new byte[1024*1024]; private byte[] data4 = new byte[1024*1024]; private原创 2020-08-24 09:40:09 · 128 阅读 · 0 评论 -
JUC
目录Lock1. 监视器实现精准唤醒2.公平锁3.synchronized 和 Lock 的区别4. 8锁问题集合类不安全1.HashSet的本质就是一个HashMap2.List 不安全的解决3. Set不安全解决注意:CopyOnWriteArraySet 内部由CopyOnWriteArrayList构成4.Map 不安全的解决Callable1.与Runnable差别同一个FutureTask 实例, 只能被线程执行一次...原创 2020-08-20 19:37:34 · 180 阅读 · 0 评论 -
JUC(2)
JMMJava内存模型,不存在的东西,概念!约定!关于JMM的一些同步的约定1、线程解锁前,必须把共享变量立刻刷回主存。2、线程加锁前,必须读取主存中的新值到工作内存中!3、加锁和解锁是同一把锁解释: 该锁是jvm 层面的同步机制。jvm内存交互8种操作内存交互操作有8种,虚拟机实现必须保证每一个操作都是原子的,不可在分的(对于double和long类 型的变量来说,load、store、read和write操作在某些平台上允许例外)lock (锁定)...原创 2020-08-23 18:07:36 · 174 阅读 · 0 评论