08 2022 档案

摘要: 阅读全文 »
posted @ 2022-08-28 16:34 雙雙 编辑
摘要:一、什么是Mysql主从复制 MySQL主从复制是其最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制 阅读全文 »
posted @ 2022-08-22 23:05 雙雙 阅读(1790) 评论(0) 推荐(1) 编辑
摘要:为什么MySQL索引是B+树? 本质上是IO问题,从两个方面分析 减少IO量 减少IO次数 从操作系统方面分析 局部性原理 ​ 时间:之前被访问过的数据很有可能再次被访问 ​ 空间:数据和程序都有聚集成群的倾向 ​ 磁盘预读: ​ 内存跟磁盘在进行交互的时候有一个最小的逻辑单位,这个单位称之为页,一 阅读全文 »
posted @ 2022-08-22 19:09 雙雙 阅读(42) 评论(0) 推荐(0) 编辑
摘要:问题提出 Redis中如果出现缓存穿透的情况,我们通常采用两种方式 缓存空对象,对于数据库中查询不到的对象就写入Redis中并设置过期时间, 布隆过滤器,布隆过滤器可以方便的判断一个数据是否存在于海量数据中 介绍 布隆过滤器是一种来检索元素是否在给定大集合中的数据结构,这种数据结构是高效且性能很好的 阅读全文 »
posted @ 2022-08-21 19:56 雙雙 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一致性哈希算法主要应用于Redis分布式缓存 问题引出 在单节点的情况下,Redis缓存不用担心命中率的问题,但是一旦上升到分布式的架构中,可能会造成一台机器有缓存而另一台机器没有缓存的情况,基于此使用一致性Hash算法可以有效地解决在分布式存储结构下动态增加和删除节点后尽量有多的请求命中原来的服务 阅读全文 »
posted @ 2022-08-21 19:54 雙雙 阅读(52) 评论(0) 推荐(0) 编辑
摘要:缓存读写策略 介绍三种缓存读写策略,各有优劣 Read/Write Through Pattern(读写穿透) Read/Write Through Pattern 中服务端把 cache 视为主要数据存储,从中读取数据并将数据写入其中。cache 服务负责将此数据读取和写入 DB,从而减轻了应用程 阅读全文 »
posted @ 2022-08-21 19:50 雙雙 阅读(103) 评论(0) 推荐(0) 编辑
摘要:Nosql Nosql = Not Only SQL 泛指非关系型数据库的,随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0是滴啊,尤其是超大规模的高并发的社区,暴露出很多难以克服的问题,Nosql在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是当下必须要掌握的一 阅读全文 »
posted @ 2022-08-21 10:27 雙雙 阅读(347) 评论(0) 推荐(0) 编辑
摘要:在了解AQS之前我们需要来认识一下这个工具类,因为该工具类是创建锁和其他同步类的基础 LockSupport 该工具类的主要作用是挂起和唤醒线程 LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSupport类的方法的线程是不持有许可证的,LockSupport 阅读全文 »
posted @ 2022-08-20 15:32 雙雙 阅读(33) 评论(0) 推荐(0) 编辑
摘要:JUC进阶 wait和sleep的区别 sleep是Thread的静态方法,wait是Object方法 sleep不会释放锁,它也不需要占用锁,wait会释放锁但调用它的前提是当前线程占有锁 wait必须在同步代码块中 Lock锁 public class LockTest { public sta 阅读全文 »
posted @ 2022-08-20 14:39 雙雙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:再战JUC 整合的狂神和尚硅谷的,感觉尚硅谷讲的有点乱但很深刻,狂神的很浅但是调理清晰两者结合起来很好 进程和线程 进程是计算机中的程序关于某数据集合上的一次运行活动是系统进行资源分配和调度的基本单位是操作系统结构的基础 线程是操作系统能够进行调度的最小单位 并发和并行 并发 并发的关键是你有处理多 阅读全文 »
posted @ 2022-08-20 14:34 雙雙 阅读(35) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal 结合这篇博客来看,效果更好,这篇博客中关于WeakReference弱引用进行了说明,以及对于ThreadLocalHashMap的数据结构也进行了分析 多线程访问同一个共享变量时特别容易触发并发问题,特别是多线程对一个共享变量进行写入时,为了线程安全,一般使用者在访问共享变 阅读全文 »
posted @ 2022-08-19 16:36 雙雙 阅读(33) 评论(0) 推荐(0) 编辑
摘要:什么是Java内存模型(JMM) Java 语言为了保证并发编程中可以满足原子性、可见性及有序性,于是推出了一个概念就是 JMM 内存模型。 JMM 内存模型,目的是为了在多线程条件下,使用共享内存进行数据通信时,通过对多线程程序读操作、写操作行为规范约束,来尽量避免多次内存数据读取不一致、编译器对 阅读全文 »
posted @ 2022-08-19 15:26 雙雙 阅读(121) 评论(0) 推荐(0) 编辑
摘要:这道题考察了ArrayList的构造器和对扩容机制的了解,本篇博客基于此出发讲解ArrayList的自动扩容机制 想要做出这道题必须了解ArrayList的构造函数,ArrayList的构造函数总共有三个: ArrayList()构造一个空的数组。JDK7中构造一个初始容量为10的空列表但是JDK8 阅读全文 »
posted @ 2022-08-18 15:51 雙雙 阅读(101) 评论(0) 推荐(0) 编辑
摘要:Java泛型不变性 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 协变 观察上述sum方法,如果形参为List<Number> list那么Double类型的List无法调用该方法,但是如果我们在lis 阅读全文 »
posted @ 2022-08-16 17:02 雙雙 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Java浅拷贝深拷贝 浅拷贝和深拷贝涉及到了Object类中的clone()方法 实现浅拷贝 浅拷贝的实现需要类重写clone()方法 浅拷贝会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝 如果属性是基本类型,拷贝的就是基本类型的值; 如果属性是内存地址(引用类型),拷贝的就是内存地址 阅读全文 »
posted @ 2022-08-16 10:54 雙雙 阅读(181) 评论(0) 推荐(0) 编辑
摘要:本文中所有的代码全都是大根堆!实现语言是Java 图片来源都是这位大神的,大神的文章也给了我很多启发 数据结构之堆 堆排序 这个视频通俗易懂从什么是堆,什么是堆化,再到实现堆排序讲的很清晰,实现语言是C 什么是堆 1.堆的概念 如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它 阅读全文 »
posted @ 2022-08-15 15:52 雙雙 阅读(111) 评论(0) 推荐(0) 编辑
摘要:我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量达到上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来,缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据,常用的淘汰算法有LRU,LFU,FIFO LRU简介 LRU是Least Recently Used的缩写,这种 阅读全文 »
posted @ 2022-08-11 17:49 雙雙 阅读(27) 评论(0) 推荐(0) 编辑
摘要:HTTP缺点 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 HTTP+加密+认证+完整性保护=HTTPS HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TLS协议代替而已。 通常,HTTP直接和TC 阅读全文 »
posted @ 2022-08-04 14:46 雙雙 阅读(243) 评论(0) 推荐(0) 编辑
摘要:认识HTTP报文 HTTP报文分为请求报文和响应报文 通用首部字段 首部字段名说明 Cache-Control 控制缓存的行为 Connection 逐跳首部、连接的管理 Date 创建报文的日期时间 Pragma 报文指令 Trailer 报文末端的首部一览 Transfer-Encoding 指 阅读全文 »
posted @ 2022-08-04 13:57 雙雙 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示