- 博客(8)
- 收藏
- 关注
原创 反射、jdk动态代理、rpc
反射student类@Data@AllArgsConstructor@NoArgsConstructorpublic class Student { private String name; private int age;}反射测试类public class ReflectionTest { @Test public void test1() throws Exception{ Student c = new Student("张三", 2
2022-01-14 14:35:43
207
原创 redis缓存
缓存的设计什么是缓存缓存,是一种存储数据的组件,它的作用是让对数据的请求更快地返回。缓存存在的意义提升访问速度,提升性能,从而能够抗住更高的并发 。因为在系统中大部分的系统瓶颈出现在数据库中,所以我们可以减少数据库的访问来提高系统的并发量。缓存中存在的问题1.缓存一致性问题2.缓存是适用于读多写少的场景缓存的设计1.主动覆盖更新策略获取数据只依赖缓存, 不依赖db, db数据更新时, 会更新缓存数据.读策略:缓存读取数据, 无论是否命中, 均返回, 不会穿透到db写策略:业
2022-01-12 00:55:22
337
原创 大话设计模式:简单工厂模式
这里写自定义目录标题欢迎使用Markdown编辑器前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用
2022-01-11 01:14:47
193
原创 spring中的循环依赖
spring中的循环依赖循坏依赖指的是,A对象中持有B对象的引用,而B对象中持有A对象的引用,他们之间形成了循环依赖。或者是多个对象之间A依赖于B,B依赖于C,C又依赖A,形成循环依赖。又或者是对象自己依赖于自己。在spring中实际上是使用三级缓存来解决循环依赖的,spring中的三级缓存分别是/** 一级缓存,这里存放的对象是属性已经赋值完成的对象 */private final Map<String, Object> singletonObjects = new Concurre
2022-01-11 01:14:07
265
原创 java并发集合:CopyOnWriteArrayList
CopyOnWriteArrayList总的来说,CopyOnWriteArrayList 就是利用锁 + 数组拷贝 + volatile 关键字保证了 List 的线程安全。所有的操作都是线程安全的,因为操作都是在新拷贝数组上进行的/** 可重入锁 */final transient ReentrantLock lock = new ReentrantLock();/** 这里数组被volatile修饰,意思是一旦数组被修改,其它线程立马能够感知到 */private transient v
2021-11-16 20:14:11
124
原创 java集合:HashMap
HashMap常量/** * 初始容量16,写作1 << 4是为了提示这是2的四次方 * 初始容量如果过小会造成频繁的扩容,初始容量如果过大会造成内存浪费 */static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16/** * 最大容量必须为2的幂 */static final int MAXIMUM_CAPACITY = 1 << 30;/** * 默认的负载因子 * 均衡
2021-11-15 19:13:49
90
原创 java集合:LinkedList
LinkedListLinkedList底层是一个双向链表,节点数据结构为private static class Node<E> { E item;// 节点值 Node<E> next; // 指向的下一个节点 Node<E> prev; // 指向的前一个节点 Node(Node<E> prev, E element, Node<E> next) { this.item = element
2021-11-15 14:29:47
53
原创 Java集合:ArrayList
ArrayListprivate static final long serialVersionUID = 8683452581122892189L;//默认的初始容量private static final int DEFAULT_CAPACITY = 10;//空ArrayList的共享空数组private static final Object[] EMPTY_ELEMENTDATA = {};//默认容量空数组private static final Object[] DEFAU
2021-11-15 13:18:56
415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人