上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
摘要: 引言 上一篇文章聊到了Java内存模型,在其中我们说JMM是建立在happens-before(先行发生)原则之上的。为什么这么说呢?因为在Java程序的执行过程中,编译器和处理器对我们所写的代码进行了一系列的优化来提高程序的执行效率。这其中就包括对指令的“重排序”。重排序导致了我们代码并不会按照代 阅读全文
posted @ 2020-11-28 15:14 looyee 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 引言 在计算机系统的发展过程中,由于CPU的运算速度和计算机存储速度之间巨大的差距。为了解决CPU的运算速度和计算机存储速度之间巨大的差距,设计人员在CPU和计算机存储之间加入了高速缓存来做为他们之间的桥梁,在运算时,先将数据拷贝到高速缓存中,计算完成后再将结果写入计算机存储,这样大大提高了计算效率 阅读全文
posted @ 2020-11-28 15:13 looyee 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 一、锁机制 常用的锁机制有两种: 1、悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。悲观锁的实现,往往依靠底层提供的锁机制;悲观锁会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。 2、乐观锁:假设不会发生并发冲突,每次不加锁而是假设没有冲突而去完成某项操作,只在提交操作时检查 阅读全文
posted @ 2020-11-28 09:44 looyee 阅读(1192) 评论(0) 推荐(0) 编辑
摘要: 以下主要为重写loadClass()和使用线程上下文类加载器这两种打破双亲委派模型方法的总结,并结合具体实例进行分析。 参考:破坏双亲委派模型 什么地方违反了双亲委派模型 以JDBC为例谈双亲委派模型的破坏 本文转载自:https://blog.csdn.net/cy973071263/articl 阅读全文
posted @ 2020-11-10 16:57 looyee 阅读(9135) 评论(1) 推荐(3) 编辑
摘要: 1、背景: 1)当Tomcat中部署的两个WEB应用,都有相同的包路径以及类名称,但是业务实现不同。安装JVM的双亲委派机制,可能存在互相覆盖的情况; 所以为了解决以上问题,tomcat提供WebAPP ClassLoader : 加载各自应用下的WEB-INF/class WEB-INF/lib 阅读全文
posted @ 2020-11-10 16:46 looyee 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 1.B+树内节点不存储数据,所有 data 存储在叶节点导致查询时间复杂度固定为 log n。而B-树查询时间复杂度不固定,与 key 在树中的位置有关,最好为O(1)。 如下所示B-树/B+树查询节点 key 为 50 的 data。 B-树: 从上图可以看出,key 为 50 的节点就在第一层, 阅读全文
posted @ 2020-11-05 17:08 looyee 阅读(616) 评论(0) 推荐(0) 编辑
摘要: B 树全程是 Balance Tree, 也可以称为 B - 树,但中间的 - 不是减号,只是一杠 B - 树的重点: 把原来 “瘦高” 的树结构变得“矮胖”。 B 树是一种多路平衡查找树,它的每一个节点最多包含 K 个孩子,K 被称为 B 树的阶。k 的大小取决于磁盘页的大小。 只要树的高度足够低 阅读全文
posted @ 2020-11-05 16:40 looyee 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 最近在看mybatis的源代码,发现了mybatis中实现的LruCache使用到了LinkedHashMap,所以就探究了一下LinkedHashMap是如何支持Lru缓存的 LinkedHashMap内部维护了一个所有的Entity的双向链表 同时构造方法可以设置Iterator的时候,是按照插 阅读全文
posted @ 2020-11-02 08:51 looyee 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 递归方式调用: public class Solution { public static void main(String[] args) { TreeNode[] node = new TreeNode[10]; for (int i = 0; i < 10; i++) { node[i] = 阅读全文
posted @ 2020-10-28 15:04 looyee 阅读(70) 评论(0) 推荐(0) 编辑
摘要: select t.退票原因, t.客票类型, t.数据, t.退票量, to_char(t.退票量 / max(t.退票量) over (partition by t.客票类型) * 100, 'FM999990.0') || '%' as 占比, t.自动审核量, t.自动审核率, t.人工审核量 阅读全文
posted @ 2020-10-27 14:54 looyee 阅读(85) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页