随笔分类 - java
摘要:面试中多次被问到synchronized关键字的实现原理,一直认为仅是monitorenter与monitorexit两条指令而已,原来底层涉及到多种锁优化策略,包括:自旋锁,轻量锁,偏向锁。 1、自旋锁 互斥同步对性能影响最大的部分是线程的阻塞与恢复,因为这两个操作涉及用户态与内核态的转换。如果共
阅读全文
摘要:当我们需要将自己的类存入HashMap或HashSet时一般都要重写其equals与hashCode方法,但在重写时要符合规范否则会出问题。 1、equals方法 首先equals方法需要满足如下几点性质: 自反性:对于非空引用x,x.equals(x)的的结果一定为真。 对称性:对于非空引用x,y
阅读全文
摘要:这几天打算研究一下Retrofit,遇到的第一个知识点就是动态代理 。动态代理对应设计模式中的代理模式,还有个模式叫做静态代理,我们知道代理类与目标类需要实现相同的接口,在静态代理中手动实现这些接口会产生大量的模板代码,动态代理就可以很好地解决这一问题。 1、示例 接下来的例子,我们使用动态代理为网
阅读全文
摘要:从半个多月前接到阿里的面试电话,被多线程问题难住,到今天终于读完了《Java Concurrency In Practice》。想总结一下,又发现自己没有能力将一本书的内容都概括下来。还是把书里最后一部分Java内存模型相关的内容搬过来谈一谈吧。 1、happens-before 什么是Java内存
阅读全文
摘要:1、前言 之前好几次看到有人在面经中提到了乐观锁与悲观锁,但是一本《Java Concurrency In Practice》快看完了都没有见到过这两种锁,今天终于在第15章发现了它们的踪迹。 15.2 Hardware support for concurrency Exclusive locki
阅读全文

浙公网安备 33010602011771号