- 博客(8)
- 收藏
- 关注
转载 如何保证缓存与数据库的双写一致性?
面试题如何保证缓存与数据库的双写一致性?面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况下多几倍的机器去支撑线上的一个请求。Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。
2021-11-30 09:41:16
115
原创 NC78 反转链表
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre=null; ListNode cur=head; .
2021-11-03 17:05:25
65
原创 Hashtable和HashMap的区别
关于HashMap的一些说法:HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。 c) HashMap实现不同步,线程不安全。 HashTable线程安全 。HashMap中的key-value都是存储在Entry中的。HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()
2021-09-07 22:25:43
90
原创 面向对象知识汇总
面向对象什么是面向对象构造器封装继承方法重写多态instanceof 和类型转换抽象类(关键词abstract)接口(interface)什么是面向对象面向对象(OOP)的本质就是:以类的方式组织代码,以对象的组织(封装)数据。三大特性:封装、继承、多态构造器和类名相同没有返回值作用:new 的本质在调用构造方法。初始化对象的值。注意点:定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造。封装我们的程序设计追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节由自己完成,
2021-08-28 15:33:50
67
原创 快速创建SpringBoot项目
如何创建SpringBoot项目实例:用SpringBoot输出一段字符串“Hello World”1. 构建SpringBoot项目。打开IDEA,点击“创建新项目”。2. 然后选择Spring Initializr,其他选择默认,点击“下一个”。3. 填写项目信息然后点击“下一步”,“完成”,等待生成项目。4. 编写控制器,实现输出功能。注意要在启动类的同级目录下创建controller。然后在controller包下创建HelloController类。具体代码如下:pack
2021-03-11 00:50:58
110
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人