每日精进,勿忘拾遗
摘要: spring提供了两种方式用于实现对象销毁时去执行操作 1.实现DisposableBean接口的destroy 2.在bean类的方法上增加@PreDestroy方法,那么这个方法会在DisposableBean.destory方法前触发 3.实现SmartLifecycle接口的stop方法 p 阅读全文
posted @ 2023-04-28 12:08 祁山墨子 阅读(398) 评论(3) 推荐(1) 编辑
摘要: 序言 本片文章用于归纳java中初始化一个ArrayList的几种方式 add方法添加 最基础的方式就是我们在new一个ArrayList之后使用add方法添加元素 /** * 第一种方式,通过add方法 * @return */ public List<String> initOne(){ Lis 阅读全文
posted @ 2022-12-03 22:04 祁山墨子 阅读(3191) 评论(1) 推荐(2) 编辑
摘要: 先抛结论 是因为连接了两个显示器的问题,拔掉其中一个显示器的接头,就可以正常使用了,至于往深了的问题,我就不知道了,反正这个情况可以给各位提供一个参考,不一定就都是这个问题导致的。 过程 最近升级显卡,抛弃了跟随我3年的RTX2070影驰大将,换上了RX6800xt樱瞳老婆,在装上显卡并安装好驱动以 阅读全文
posted @ 2022-09-26 21:45 祁山墨子 阅读(2747) 评论(0) 推荐(0) 编辑
摘要: 红黑树的删除 红黑树的删除相对于插入,会复杂很多。 我们分情况讨论 1. 删除节点为叶子节点 分两种情况,删除节点是红色节点和删除节点为黑色节点 1.1 删除节点为红色节点 如果是红色节点,我们可以直接删除,因为删除红色叶子节点并不会影响整体红黑树的结构 1.2 删除节点为黑色 假设左边黑色节点为要 阅读全文
posted @ 2022-08-14 10:37 祁山墨子 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 前言 红黑树是一种特殊的B树是B树种2-3-4树的一种特殊实现,红黑树保证了每个节点只会有两个子节点,通过对每个节点进行染色,然后通过不同颜色的节点组合来分别代表2-3-4的2节点、3节点、4节点树的情况。在学习红黑树之前,我们需要先去了解2-3-4树。 一、 B树 那么如果想要对红黑树有一个较为深 阅读全文
posted @ 2022-08-14 10:36 祁山墨子 阅读(519) 评论(0) 推荐(2) 编辑
摘要: 偏向锁的定义 顾名思义,偏向锁会偏向第一个访问锁的线程。 如果在接下来的运行过程中,该锁没有被其他线程访问,这持有偏向锁的线程将永远不需要同步 如果在运行过程中,遇到了其他线程抢占锁,则持有偏向锁的线程会被挂起,JVM会尝试消除他身上的偏向锁,将锁恢复到标准的轻量级锁(CAS),也就是说,偏向锁,只 阅读全文
posted @ 2021-12-08 19:31 祁山墨子 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 最近再查看java的源码的时候看见了这一类代码 final SecurityManager sm = System.getSecurityManager(); 想要了解这个是为了做什么,查看资料之后发现java的SecurityManager的应用场景如下: 当运行未知的Java程序的时候,该程序可 阅读全文
posted @ 2020-08-28 17:50 祁山墨子 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 一、类加载过程 多个java文件经过编译打包生成可运行jar包,最终由java命令运行某个主类的main启动程序,这里需要先通过类加载器把主类加载到JVM 主类在运行过程中如果使用到其他类,会逐步加载这些类。 注意:jar包里的类不是一次性全部加载的,是使用到时才加载,不过类似于java.lang. 阅读全文
posted @ 2020-02-06 18:53 祁山墨子 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 慢查询解决:使用索引 索引是帮助Mysql高效获取数据的排好序的数据结构常见的存储数据结构:二叉树 二叉树不适合单边增长的数据红黑树(又称二叉平衡树) 红黑树会自动平衡父节点两边的节点数B+树 Mysql底层用的是B+树 非叶子节点不存储data(data在Mysql中有可能是查询目标行的所有数据),只存储索引(冗余),可以存放更多索引,减少io次数。 叶子节点包含所有索引字段... 阅读全文
posted @ 2020-01-03 18:32 祁山墨子 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一、锁 1、锁的定义 锁即是一种用来协调多线程或进程并发使用同一共享资源的机制 2、锁的分类 从性能上分类:乐观锁和悲观锁 从数据库操作类型上分类:读锁和写锁 从操作粒度上分类:表锁和行锁 2.1 从性能上分类 2.1.1 乐观锁 乐观锁顾名思义就是操作的时候很乐观,认为操作不会产生并发问题(不会有 阅读全文
posted @ 2020-01-03 18:11 祁山墨子 阅读(336) 评论(0) 推荐(0) 编辑