
java
向上的胡萝卜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java-synchronized
1.场景: ----------------以下都是对象锁---------------------------------------------- Synchronized同步方法方法 1.关键字Synchronized取得的锁都是对象锁 2.多个线程去争抢同个对象锁的时候容易导致脏读 3.可重入锁:因为关键字取得的是对象锁,可以通过重入锁调用父类的同步方法:为什么呢,因为父类方法本原创 2016-03-22 18:23:10 · 256 阅读 · 0 评论 -
ReentrantLock
ReentrantLock 1. ReentrantLock lock.lock(); lock.unlock(); 相当于synchronized语句块 lock.tryLock() 如果锁已经被保持了的话就直接跳过,不阻塞吧 2.Condition condition = lock.newCondition(); condition.await();//必须卸原创 2016-03-23 14:34:43 · 309 阅读 · 0 评论 -
java-volatile
volatile关键字 意义: 解决了私有堆栈和公共堆栈的值不同步问题。强制性从公共堆栈中取值。 1.保证数据的可见性,不保证原子性(原子性:要么一起成功,要么一起失败);synchronized会保证原子性,并且会将私有内存和公共内存做同步所以也支持可见性 2.是线程同步的轻量级实现 3.只能修饰变量 4.volatile不会发生阻塞,synchronized会发生阻塞 5.只能原创 2016-03-22 13:27:32 · 290 阅读 · 0 评论 -
多线程 等待/通知机制
多线程 等待/通知机制 1.通过操作值和操作栈进行传递消息 多生产 多消费 模式要多看看 2.通过管道进行传递消息 2.1字节流 PipedInputStream PipedOutputStream 2.2字符流 PipedReader PipedWriter 3.join 意思就是把子线程合并到主线程上来 主线程创建并启动了子线程,为了防止子线程未完成原创 2016-03-23 17:01:27 · 776 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap 1.实现原理 2.数据结构 3.增删改查 一.实现原理 锁分离 ConcurrentHashMap使用分段锁技术,将数据分段存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候, 其他段的数据也能被其他线程访问,能够实现真正的并发访问。 对于一个key,需要经过三次(为什么要hash三次下文会详细讲解)hash操转载 2016-03-25 16:23:59 · 397 阅读 · 0 评论 -
内部类
嵌套类 内部类 特点区别 嵌套类:静态嵌套类 1.用的很少 2.只能访问外部类静态成员 内部类:非静态嵌套类 内部类分为成员内部类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能用普通的方式访问原创 2017-03-17 21:11:21 · 253 阅读 · 0 评论