摘要:
装饰器模式,动态的给一个对象添加一些额外的职责,比生成子类更为灵活。 继承主要有单继承的局限性和可能产生类爆炸的后果。 SynchronizedCollection主要利用装饰器模式解决了一些集合线程不安全的问题。通过sync给对应的方法加锁,并让其保持原子性 static class Synchr 阅读全文
摘要:
以我的认知来说,java中的ArrayList实现List,List又是继承Collection,往后就不太清楚了。 今天看源码的时候发现Collection继承了Iterable,Iterable接口的作用是允许对象称为for-each loop语句的目标。 因此如果想了解ArrayList如何实 阅读全文
摘要:
阻塞队列是一个在队列基础上又新增了两个附加操作的队列,用于解耦 支持阻塞的插入方法:队列满的时候,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法:队列空的时候,获取元素的线程会等待队列变为非空 blockingqueue继承queue,属于juc包。 boolean add(E e); 阅读全文
摘要:
记录一下我使用的常用快捷键 ctrl + alt + M 快速提取代码块,在本类内生成一个新的代码 ctrl + alt +T 快速生成一个环绕方法,这里我常用这个写try catch, alt + ↑ / ↓ 在类内翻方法,第一次嗯会制定当前光标的最近的上一个/下一个方法,也会指定到类名上 alt 阅读全文
摘要:
来自lucene的Segment到底是什么? 倒排索引inverted index: 通过倒排索引机制,我们可以快速的根据词项信息来检索他属于哪一个文档。由term dictionary与posting list组成 term dictionary是分词之后的词项,按序排序后可以使用二分法查找,将时 阅读全文
摘要:
春节将至,对自己的去年做一个总结。 1-2月份寒假:苍穹外卖;深度学习;javaPy两开花 在寒假前零零散散学习了springboot+vue做基础,寒假正式学习了springboot,看完了黑马的苍穹外卖。因为一些缘故在不懂vue的情况下想硬学electron很快因为看不懂而放弃。因为学习上的一些 阅读全文
摘要:
一、Windows快速部署 1.在MinIO官网下载Windows版本 2.只需要下载minIO server即可 3.在下载好的文件夹下打开cmd 我是下载到了D:\MinIO minio.exe server D:\MinIO\Data --console-address ":9000" --a 阅读全文
摘要:
首先简单回忆一下思路:登录接口为用户生成一个jwt,jwt存于redis中。在使用后续功能通过web拦截器拦截,先获取校验jwt是否过期,再决定是否放行。后续根据jwt中取出来的信息即可实现简单的鉴权 总体来说功能如下:本博客以springboot3+为例,使用jjwt0.12.3 <depende 阅读全文
摘要:
redis的zset有两种数据结构:跳表和压缩列表 压缩列表除了一般元素外还包括列表长度、列表元素个数、尾部偏移量、列表结束标识等。在zset的长度较小的时候,用这个比较好 什么是跳表 跳表是在链表的基础上,增加了多层索引,利用多级索引的跳转快速实现查询。每次新增一个节点,他的上层索引的设置概率为5 阅读全文
摘要:
redisson获取不到锁怎么处理 1.阻塞等待锁释放:redisson有waitTimeout参数控制锁等待时间,当某线程获取不到锁时,会进入阻塞状态等待锁释放或超过设置的时间 2.tryLock会根据参数直接返回或者抛出异常。 tryLock一般有两种: 一种是不带参数的,这种不会阻塞,锁可用就 阅读全文