July 22, 2022
MQ 学习笔记1. 使用场景
异步
解耦
削峰
异步提高系统的响应速度、吞吐量。
场景一 异步处理播放记录
空中课堂有很多点播模块,如:名师讲堂、抗议助学、互动课堂、同步课堂、家长课堂、苏e优课等。
通常这些模块需要:
记录观看的用户信息
自增对应模块表的观看量
维护旧数据表的观看量(逻 ...
Read more
July 22, 2022
Spring Framework
AbstractContext refresh 方法流程1. refresh 总体流程IoC 容器刷新的方法是由 AbstractApplicationContext.refresh 实现,方法如下:
12345678910111213141516171819202122232425262 ...
Read more
July 20, 2022
MySQL InnoDB Buffer Pool
本文主要内容源自官网:MySQL :: MySQL 8.0 Reference Manual :: 15.5.1 Buffer Pool感兴趣的可以直接阅读
缓冲池是主内存的一块区域,其中 InnoDB 访问表和索引数据时会在其中进行 ...
Read more
July 20, 2022
官方网址
https://git-scm.com/
https://git-scm.com/book/zh/v2/
使用前的准备配置用户信息
项目配置优先生效,如果没有项目配置,则使用全局配置。
服务器 Git裸仓库搭建
常用命令Getting and Creating ...
Read more
July 20, 2022
I/O当应用程序发起 I/O 调用后,会经历两个步骤:
内核等待 I/O 设备准备好数据
内核将数据从内核空间拷贝到用户空间。
Java 中 3 种常见 IO 模型
BIO (Blocking I/O)
同步阻塞 I/O 模型,应用程序 ...
Read more
July 20, 2022
JVM
即时编译器目前主流的两款商用 Java VM (HotSpot、OpenJ9)里,Java 程序最初都是通过解释器(Interperter)进行解释的。当 VM 发现某个方法或者代码块的运行特别频繁,就会把这些代码认定为 “热点代码”(Hot Spot Code),为了提到热点代码的执行效率 ...
Read more
July 20, 2022
JVM
JVM 垃圾回收笔记参考文章JVM 规范
https://blogs.oracle.com/jonthecollector/our-collectors
关于 minor gc 和 full gc 的名词,从该文章可以获取
Java Hotspot 内存管理白皮书
GC 算法标记-清除算法( ...
Read more
July 20, 2022
TCP
TCP
报文种类
SYN
Data
FIN
Reset
ACK
SYN、Data、FIN 这三种报文发送方一定要收到 ACK 报文,如果在超时时间内不确认,发送方会一直重传,直到对方确认,或者达到重传上线次数而 Reset 连接。
三次握手
三次握手本质上是四次报文交互:
A 发送 ...
Read more
July 19, 2022
JDK
Java Collection容器底层数据结构List
ArrayList: Object[] 数组
Vector: Object[] 数组
LinkedList: JDK 1.7 之前,双向循环链表;JDK 1.7 之后,双向链表
Map
HashMap:JDK 1.8 之前,数组 + ...
Read more
July 19, 2022
Spring Bean
Spring Bean @Autowired 与 JSR-250 @Resource@Autowired由 Spring 提供的注解,依赖注入的过程由 AutowiredAnnotationBeanPostProcessor 执行。
通常这一步骤发生在 populateBean 流程之中,使 ...
Read more