
笔记
文章平均质量分 55
0warnings0errors
这个作者很懒,什么都没留下…
展开
-
Java Lock最佳实践
在进行并发操作时,通常需要加锁操作来保证一致性。Java类库中提供了几种用于替代synchronized的锁,比如ReentrantLock,具体实现可能还有基于Redis等其他形式的锁,在JDK官方文档中,给出了加锁的最佳实践:正确加锁操作Lock l = ...;l.lock();try { // access the resource protected by this lock} finally { l.unlock();}unlock操作放在finally无可厚非,这里主要原创 2021-09-27 19:16:57 · 365 阅读 · 0 评论 -
Java四种引用类型及常见应用场景
Java具有四种不同强度的引用类型:强引用:被强引用关联的对象不会被回收,一般通过new来构造对象时,就会返回一个强引用。Object obj = new Object()软引用:通过SoftReference来构造,会在内存不足时回收,一般可用于缓存等场景,比如MyBatis中缓存的装饰器就有SoftCache类型。在Class.java中用于保存反射数据弱引用:通过WeakReference来构造,会在下次GC时回收,也可用于缓存场景,MyBatis缓存装饰器WeakCache。线程类原创 2021-09-26 19:10:19 · 445 阅读 · 0 评论 -
《Java Puzzlers》——类
文章目录继承中的同名字段使用类库中类的名字命名问题命名问题续跨包访问方法作用域字段隐藏私有成员同一性名字重用术语表继承中的同名字段问题:class Base { public String className = "Base";}class Derived extends Base { private String className = "Derived";}public class PrivateMatter { public static void main(原创 2020-09-23 20:54:57 · 194 阅读 · 0 评论 -
《Java Puzzlers》——高级谜题
文章目录有毒的括号等价的自反性、传递性和对称性原生类型泛型序列化问题匿名内部类的继承常量表达式随机shuffle的公平性最终章,一些小知识有毒的括号问题:给定一个合法的 Java 表达式,添加一个注解赋值顺序的括号就变成不合法的了。解决方案:补码的不对称性,给最小负数加一个括号就不合法了。等价的自反性、传递性和对称性不符合自反性,例如 Double.NaN == Double.NaN 为 false;符合对称性;不符合传递性,由于整数与浮点数之间的转换有可能会出现丢失精度的问题,所以可能破坏原创 2020-08-31 20:41:16 · 271 阅读 · 0 评论