【LeetCode】117 填充每个节点的下一个右侧节点指针II1 问题给定一个二叉树: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个 2023-06-30 算法LeetCode 二叉树 数据结构 BFS
【RocketMQ学习】1.基础知识1 消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。 1.1 作用解耦、异步、削峰、分发 2 物理架构RocketMQ底层架构 启动流程: NameSe 2023-06-30 RocketMQ学习RocketMQ
【JVM学习】5.HostSpot的细节1 前言前一章节介绍了常见的对象存活判定算法和垃圾收集算法,里面提到了很多专有名词,这一章节主要就这些专有名词,加上自己的理解进行详细介绍。 2 三色标记(Tri-color Marking)在三色标记法之前有一个算法叫Mark-And-S 2023-06-30 JVM学习JVM 三色标记 安全点 跨代引用 写屏障
【JVM学习】4.垃圾回收机制及算法1 定义垃圾收集器(Garbage Collector,下文简称GC)。 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭; 栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需 2023-06-28 JVM学习JVM GC算法
【JVM学习】3.JVM中的对象1 JVM 中对象的创建过程主要包括以下几个过程:检查加载、内存分配、内存空间初始化、设置、对象初始化。 1.1 检查加载当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查 2023-06-27 JVM学习JVM 类加载 内存分配
【LeetCode】116. 填充每个节点的下一个右侧节点指针1 问题给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; No 2023-06-26 算法LeetCode 二叉树 数据结构 DFS BFS
【JVM学习】2.内存区域1 运行时数据区域在 JVM 中,JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈等。 按照与线程的关系也可以这么划分区域: 线程私有区域:一个线程拥有单独的一份内存区域。 线程共享区域:被所有线程共享,且只有一份。JVM 2023-06-26 JVM学习JVM JVM内存区域
【JVM学习】1.JVM基础知识1 JVM 从编译到执行首先给出基于JDK8的JAVA SE产品组件,里面包含了JDK,JRE,JVM三者之间的关系: the components of Oracle's Java SE products JVM:Java Virtua 2023-06-26 JVM学习JVM
【MySQL学习】9.锁1 InnoDB中的锁在MySQL官方文档中(version 5.7),InnoDB中有以下几种锁: Shared and Exclusive Locks:共享(乐观)锁、排他/互斥/独占锁 Intention Loc 2023-06-21 MySQL学习MySQL 锁
【Hexo】由CDN引发的暴躁场面1 起因今儿早,按照惯例打开自己的博客,结果,图特么全都裂开了。F12打开控制台,一看,凡是通过cdn.jsdelivr.net访问的图片全都挂掉。瞬间飙血。 2 尝试解决方案还是有的,查看了下替代cdn.jsdelivr.net的方案: 2023-06-20 HexoHexo博客 Hexo注入器
【MySQL学习】8.事务原理与MVCC1 实现机制WAL(Write-ahead logging,预写式日志)机制。 在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 WAL机制 这两个日志都是 In 2023-06-19 MySQL学习MySQL MVCC
【MySQL学习】7.InnoDB 引擎底层解析1 常见引擎 种类 特点 InnoDB 现Mysql的默认事务型存储引擎,并且提供了行级锁和外键的约束。性能不错且支持自动崩溃恢复 MyISAM Mysql 5.1 版本前的默认存储引擎。特性丰富但不支持事务,也不支持行级锁和 2023-06-15 MySQL学习MySQL InnoDB