自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Mango用的是B-Tree还是B+Tree? 一道中文互联网特有的面试题

Mango用的是B-Tree还是B+Tree?Oracle用的是B-Tree还是B+Tree?

2023-05-29 04:00:18 175

原创 JVM 笔记

链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?文档:03_02_JavaAgent_AboutObject.md。

2023-05-25 01:58:26 105

原创 设计模式笔记

链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?

2023-05-25 01:52:44 113

原创 Shiro 源码分析笔记

【代码】Shiro 源码分析笔记。

2023-05-25 01:47:37 80

原创 Kafka 相关笔记

链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?链接:http://note.youdao.com/noteshare?文档:kafka生产者.mindmap。文档:kafka再平衡的秘密.md。

2023-05-25 01:45:02 58

原创 Redis server的一些实现细节笔记

redis保存了channel对应了哪些client,当发送消息时,遍历每个client发送。c->db->blocking_keys 记录blocking_key对应的客户端列表。2.db有个watched_keys字典,记录了某个key被哪些client 监听。1.服务端client记录了当前client watch了哪些key。3.修改某个key时,遍历对应的client,设置dirty标志位。4. EXEC,判断当前client被打上了dirty标记,不执行。客户端订阅了哪些channels。

2023-05-25 01:43:42 48

原创 同盾面试题笔记——为什么Dubbo支持单一长连接,什么情况需要使用多个连接

2021年面试同盾,面试官问题的一个问题。以下是网上找到的答案:URL 是 Dubbo 配置的载体,通过 URL 可让 Dubbo 的各种配置在各个模块之间传递。Invoker 是实体域,它是 Dubbo 的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起 invoke 调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。Dubbo 默认的 ProxyFactory 实现类是 JavassistProxyFactory。

2023-05-25 01:35:17 92

原创 零拷贝上下问切换笔记

零复制(英语:Zero-copy;也译零拷贝)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。传统方式下每个读/写周期都需要复制两次数据和切换两次上下文,而数据的复制都需要依靠CPU。通过零复制技术完成相同的操作,上下文切换减少到两次,并且不需要CPU复制数据DMA Direct Memory Access 直接内存访问。

2023-05-25 01:21:52 102

原创 JDK自带排查问题的工具

列出java 进程。

2023-05-25 01:00:48 61

原创 Spring MVC 处理流程笔记

处理架构。

2023-05-25 01:00:35 47

原创 spring security 工作原理

1。认证流程。

2023-05-25 01:00:12 44

原创 【Redis底层数据结构笔记】——压缩列表ziplist,intset,skiplist,hash等

【飞书笔记】redis中的数据结构简洁版:Redis中的数据结构详细版(未完待续,有空再补上其他数据结构):

2023-05-23 11:45:08 72

原创 innodDB知识树笔记【脑图】

链接:http://note.youdao.com/noteshare?文档:innodDB知识树.mindmap。

2023-05-23 11:36:17 58

原创 G1垃圾回收器笔记详解

设计目标,尽可能少或者不需要调优,只要记住MaxGCPauseMillis=N。

2023-05-23 11:32:17 192

原创 InoDB三大特性-插入缓冲、双写、自适应索引

为了解决这个问题,InnoDB设计出了插入缓冲技术,对于非聚集类索引的插入和更新操作,不是每一次都直接插入到索引页中,而是先插入到内存中。否则,先将其放入插入缓冲区中,再以一定的频率和索引页合并,这时,就可以将同一个索引页中的多个插入合并到一个IO操作中,大大提高写性能。这样就可以解决上文提到的部分写失效的问题,因为在磁盘共享表空间中已有数据页副本拷贝,如果数据库在页写入数据文件的过程中宕机,在实例恢复时,可以从共享表空间中找到该页副本,将其拷贝覆盖原有的数据页,再应用重做日志即可。为索引B+树建立索引,

2023-05-23 11:30:03 145

原创 【MySQL锁学习笔记,执行sql如何加锁】

加什么锁,取决于where条件是否有索引、索引的类型、隔离级别主键记录加X锁唯一索引两个X锁,id唯一索引X锁,主键记录加X锁其他情况非唯一索引RC 读已提交满足条件的非唯一索引加锁X所,主键记录加X锁RR 可重复读比RC时多加GAP锁无索引RC聚簇索引上的所有记录,都被加上了X锁。mysql可能会提前释放优化,不满足2PL 2阶段锁RR那么会锁上表中的所有记录,同时会锁上聚簇索引内的所有GAP;同理,有优化,对于不满足查询条件的记录。

2023-05-23 11:13:15 60

原创 操作系统学习笔记分享

文档:操作系统学习文档.mindmap。

2023-05-23 10:59:12 62

原创 【从2023往前回顾两年——2021-2022的填坑日记】

最近两年部门同事们找我解决过挺多问题的,都有记录下来,时不时我还会回顾一下,避免踩坑。也有一些是当我知道别人最近踩过了坑,我也会记录起来

2023-02-22 22:48:40 118

原创 容器环境-雪花算法基于Redis的workerId的自动分配

雪花算法在docker 容器环境中,每次启动新的pod,无法为每个pod设置固定workerId。使用redis或zk获取随机唯一的workerId是一种好办法。3.特殊情况下,发生workerId冲突(redis的value不一致说明冲突了),尝试进行自动恢复——即获取新的workerId。下面以Redis为例,为Mybatis-Plus设置雪花算法的WorkerId。1.随机WorkerId,使用Redis保证不重复(使用setNx保证)

2023-02-19 02:08:45 2922

原创 Druid数据源推荐配置

以下数据源配置是本人整理的生产配置,如有建议请在评论区讨论。

2023-01-04 18:23:41 2738

原创 2022年读过的书单

2022年读过的书单。

2022-12-12 00:12:25 288

原创 第二章 可重入锁——ReentrantLock实现原理

Lock接口是提供加锁操作方法作用lock阻塞直到获得锁和lock类似,但可响应中断,抛中断异常tryLock尝试获得锁,不管是否获取到,立马返回。返回true获得锁,返回false没获得。调用tryLock只会以非公平方式去争抢锁与tryLock类似,获取不到不是立马返回,会等待一段时间unlock解锁相当于syschronized的同步代码块的wait、notify、notifyAll,相比syschronized,ReentrantLock支持多个Condition。

2022-12-11 04:15:19 1617

原创 k8s Pod 创建过程

k8s pod 启动过程

2022-12-01 22:48:37 69

原创 动态规划的思考过程——力扣6244.完美分割方案数

给你一个字符串 s ,每个字符是数字 '1' 到 '9' ,再给你两个整数 k 和 minLength 。如果对 s 的分割满足以下条件,那么我们认为它是一个 完美 分割:s 被分成 k 段互不相交的子字符串。每个子字符串长度都 至少 为 minLength 。每个子字符串的第一个字符都是一个 质数 数字,最后一个字符都是一个 非质数 数字。质数数字为 '2' ,'3' ,'5' 和 '7' ,剩下的都是非质数数字。请你返回 s 的 完美 分割数目。

2022-11-20 19:23:41 134

原创 稀疏表(ST表)O(1)时间复杂度查询区间最值

使用Java实现ST表

2022-09-22 00:24:54 358

原创 Java多线程系列

Java多线程系列第一章 Java线程池实现原理待填的坑:可重入锁——ReentrantLock实现原理读写锁——ReadWriteLock实现原理读写锁的改进——StampedLock实现原理抽象队列同步器——AbstractQueuedSynchronizer(AQS)ConcurrentHashMap实现原理BlockingQueue实现原理CopyOnWriteArrayList实现原理线程池的改进——工作窃取线程池: ForkJoinPool谈一谈happends-befor

2022-05-02 19:07:31 521

原创 深入理解Java多线程——Java线程池源码详解

详解Java线程池的实现,详解线程池的源码。内容包括线程池的核心参数、线程池的执行过程、addWorker增加worker线程过程、线程池的关闭过程等

2022-05-02 19:05:59 960

原创 2.Mybatis源码分析:动态代理实现JDBC打印日志

Mybatis使用了动态代理来打印JDBC的执行日志。本文默认已经对Java动态代理有所了解。Mybatis首先对所有java.sql.Connection进行代理,打印日志。返回代理对象,接下来sql参数的日志由PreparedStatement和Statement的代理对象完成。ConnectionLogger: if ("prepareStatement".equals(method...

2019-05-02 19:51:36 345

原创 1. Mybatis日志的工厂模式和适配器模式

1.日志模块的类图如下:1.适配器模式日志模块使用了适配器模式,各种日志框架适配Log接口:NoLogginImpl: 无日志的实现,不打印日志直接返回Sfl4jImpl: 适配Sfl4j的实现Jdk14LoggingImpl: 适配使用Jdk Logging框架JakartaCommonsLoggingImpl: 适配使用Apache Commons LoggingLog4jI...

2019-05-02 15:07:46 391

原创 "新人"报到

原来的账号是2014年注册的。近期萌生了写点博客的想法,于是乎注销了原来的账号,重新注册了一个用户名比较好记的账号。至于博客内容的话,还没想好。我想大概会是学习笔记和读数笔记之类的吧。或者分享一点有趣的东西吧...

2019-03-05 11:12:26 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除