03 2019 档案

摘要:ReenTrantLock可重入锁(和synchronized的区别)总结 重入性: ReenTrantLock和synchronized都是可重入锁。 同一个线程每进入一次,锁的计数器+1,等到锁的计数器降为0时才释放锁。 实现: Synchronized是依赖于JVM实现的,而ReenTrant 阅读全文
posted @ 2019-03-30 13:49 webglcn 阅读(107) 评论(0) 推荐(0) 编辑
摘要:不报错 会报错 ConcurrentModificationException 通过查看源码发现,引起异常是因为modCount和expectModCount不一致导致的 通过remove方法的源码发现 remove 调用 fastremove, fastremove中只是修改了modCount, 阅读全文
posted @ 2019-03-28 18:59 webglcn 阅读(275) 评论(0) 推荐(0) 编辑
摘要:多线程并发访问单利模式需要双重检查,以防出现实例化两次Singleton实例的情形,如果是数据库连接池,初始化两次会导致第一次数据库连接已经使用,第二次发生异常错误。 方案一 方案二 阅读全文
posted @ 2019-03-27 09:12 webglcn 阅读(259) 评论(0) 推荐(0) 编辑
摘要:SimpleDateformat 线程不安全 SimpleDateFormat 继承自 DateFormat, SimpleDateFormat中的parse方法override父类DateFormat的parse方法。DateFormat的父类提供了public setCalendar的方法 导致 阅读全文
posted @ 2019-03-26 11:07 webglcn 阅读(593) 评论(0) 推荐(0) 编辑
摘要:1. [定义] 二叉排序树(二拆查找树)中,左子树都比节点小,右子树都比节点大,递归定义。 [性能] 二叉排序树的性能取决于二叉树的层数 最好的情况是 O(logn),存在于完全二叉排序树情况下,其访问性能近似于折半查找(见下图 a); 最差时候会是 O(n),比如插入的元素是有序的,生成的二叉排序 阅读全文
posted @ 2019-03-25 09:11 webglcn 阅读(458) 评论(0) 推荐(0) 编辑
摘要:如果理解的有问题,欢迎大家指正。 https://www.cnblogs.com/webglcn/p/10587708.html jdk7的hashmap 由数组和链表组成,存在几个问题: 当key的hash碰撞频率高,导致链表内的数据过多,影响查询效率, 时间复杂度为O(n) 不同的key经过ha 阅读全文
posted @ 2019-03-24 12:56 webglcn 阅读(1494) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示