自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 分布式事务——9种解决方案的原理与分类

详细介绍常见的 9 种分布式事务解决方案的原理,并从多种角度对它们进行分类与归纳,分析它们的设计思路,找出共同点与不同点,窥见分布式事务的本质

2024-05-24 14:39:27 1014

原创 二叉树的非递归遍历(前序、中序、后序多种方法)

总结了二叉树的非递归遍历的前序、中序、后序三种方式的多种方法,同时实现了深度优先遍历与广度优先遍历的统一。

2022-09-19 02:37:38 640 1

原创 线程池核心知识点(通俗易懂 简单白话)

简单易懂的几句大白话,解释清楚 Java 线程池的核心知识点,包括线程池的好处、线程池的创建方式、线程池的类型、线程池的 7 大参数、线程池的运作原理等。

2022-08-27 02:19:06 299

原创 彻底理解Java线程的创建 深入源码 生动分析

深入浅出地分析了 Java 中线程创建的过程,深入源码,对与创建线程有关的类进行逐个分析,理清它们之间的联系与区别,最终得出结论,即“Java 中的线程创建方式有且只有一种,那就是 new 一个 Thread 对象,并给它一个 Runnable 类型的对象, Thread 对象负责启动线程, Runnable 对象负责执行线程”。......

2022-08-18 02:06:54 338

原创 线程的四种创建方式

介绍了 Java 中四种创建线程的方式,给出了 Java 代码实现,并给出了“本质上只有一种创建线程的方式”这一结论。

2022-08-18 00:41:49 1035

原创 单例模式详解(从懒汉式、饿汉式到完美的枚举式)

详细地介绍了单例模式,从饿汉式实现方式,到懒汉式实现方式及其线程安全问题与指令重排问题,将两种实现方式进行了对比,进而介绍了反射和序列化如何破坏普通的单例模式,最后介绍了完美的枚举实现方式,并解释了枚举实现方式的优势所在和能够防御反射与序列化的破坏的原因。...

2022-08-17 02:50:56 268

原创 Spring中的常用注解

将 Spring 中常用的几十个注解分为几个大类,介绍了它们的主要功能,以及各个注解之间的联系与区别。

2022-08-14 23:27:05 230

原创 SpringMVC工作流程与核心组件

SpringMVC 的详细工作流程和其中的核心组件介绍。

2022-08-14 21:02:06 472

原创 堆的各种操作与堆排序 Java&Golang

本文以大顶堆为例,给出堆中各种常见的操作与堆排序的 Java 代码,并附带以面向对象原则实现的 Golang 版本的代码。

2022-07-26 00:30:41 166

原创 《剑指offer》所有题目解法思路与出现频率汇总

本文并不适用于初次学习这本书中的题目,而是适用于在已经做过这些题目之后来进行复习。同时,这里统计了每个题目在面试中出现的频率,可以根据情况分重要性进行复习。

2022-07-18 23:24:38 270

原创 下一个排列(双指针)

使用双指针解法,并在最后的反转步骤重用两个指针,使得空间开销最低。该解法也可在一些其他题目中作为工具函数使用,如在题目[剑指 Offer 38. 字符串的排列]中使用该方法要比使用普通的回溯解法简单很多。...

2022-07-14 20:12:28 109

原创 不用加减乘除做加法 从递归到迭代

该题目直接看最优的迭代解法很难看懂,因为没有一个递进理解的过程,所以需要先从简单的递归开始理解,然后再改进为更优的迭代解法。

2022-07-11 21:30:44 151

原创 圆圈中最后剩下的数字(约瑟夫环问题)

0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。...

2022-07-08 21:33:31 2447

原创 K个一组翻转链表 最易懂的递归与迭代解法

这个题目大部分答案非常复杂难懂,勉强看懂了也很难复现出来,复现出来也很难记住。这里先给出一个递归解法,简单易懂,容易记住,也容易实现;进而给出一个更优的迭代解法。

2022-07-07 16:15:20 254

原创 MySQL中的主从架构

MySQL中的主从架构

2022-07-05 01:27:22 99

原创 MySQL中的MVCC

MySQL中MVCC的原理,及其解决脏读、不可重复读与幻读的原理

2022-07-05 01:18:22 197

原创 MySQL中的锁

MySQL中的各种锁,以及锁与四种隔离级别的关系

2022-07-05 00:53:19 276

原创 MySQL中的事务与日志

MySQL中的事务与日志的核心知识点

2022-07-05 00:06:37 517

原创 MySQL性能分析与优化

MySQL性能分析与优化

2022-07-04 23:13:41 409

原创 InnoDB页的结构与行格式

InnoDB中页的内部结构与行格式

2022-07-04 22:53:41 363

原创 MySQL索引核心知识点

MySQL中索引的核心知识点

2022-07-04 07:13:53 233

原创 MyISAM与InnoDB的区别

MyISAM与InnoDB的区别

2022-07-04 06:00:17 51

原创 SQL语句的执行过程

MySQL中SQL语句的执行流程

2022-07-04 05:46:53 233

原创 Java归并排序模板

归并排序模板,简洁、好记

2022-06-28 21:13:55 191

原创 数据库三范式和BCNF范式的理解:生动举例

通过生动形象的例子理解三大范式、BCNF范式以及反范式化,简单易懂。本文用生活中易于理解的概念,直观地描述这些范式和它们的应用场景,同时也给出了相应的实际数据库案例。

2022-06-28 04:21:36 23289 22

原创 Java快速排序模板(多种pivot选取方法)

快速排序模板,简洁、好记。partition函数中的左右指针最后总是相等,因而鲁棒性强,可扩展性好,可在很多算法中复用。同时,给出可以随意更换pivot的选取方法的模板,只要改写findPivot()函数就可以随意更换不同的pivot的选取方法,具有很好的可扩展性。......

2022-06-23 23:14:17 547

原创 栈的压入、弹出序列 不用栈模拟的解法 空间复杂度O(1)

该题目大部分答案都是使用栈模拟的方法,但是这样需要额外使用一个栈,不仅需要 O(n) 的空间复杂度,还会因大量的入栈和出栈操作导致时间消耗很高。这里给出一个空间复杂度为 O(1) 的解法,只需要三个指针,直接在输入的数组上用三个指针模拟入栈与出栈,这样不仅额外空间消耗极少,而且指针操作的时间消耗也远小于使用栈模拟的方式,在 LeetCode 上的执行用时为 0 ms(栈模拟的方法大部分都是用时 1 ms)。...

2022-06-20 19:55:42 125

原创 内存占用率过高怎么办 一分钟解决

内存占用率过高,内存使用率过高,内存使用量过高,一分钟解决

2022-06-04 05:17:47 7900

原创 Java二分查找模板

二分查找模板和一个它的一个有用的变体的模板

2022-06-01 17:03:14 227

原创 给定N个物品的背包问题-动态规划

给定 NNN 个物品,所有物品的体积恰有 KKK 种 (K≤N)(K \leq N)(K≤N),第 iii 种物品的体积为 Vi(0<Vi<1)V_i (0 < V_i < 1)Vi​(0<Vi​<1) 且第 iii 种物品的个数为 Ni(1≤i≤K)N_i(1 \leq i \leq K)Ni​(1≤i≤K),其中 N1+N2+⋯+Nk=NN_1 + N_2 + \dots + N_k = NN1​+N2​+⋯+Nk​=N。现有无穷多个体积为 1 的箱子,要将这 NNN

2022-05-25 03:22:46 897

原创 动态规划题目汇总(持续更新)

动态规划题目汇总(持续更新)

2022-05-25 00:55:59 2182

原创 二叉搜索树的后序遍历序列(辅助栈 最清晰易懂的可视化讲解)

二叉搜索树的后序遍历序列(辅助栈 最清晰易懂的可视化讲解) 从可视化角度进行分析,最清晰直白的思路,最简洁的代码实现

2022-05-11 02:05:44 3004 6

原创 PyCharm中项目上传到Linux服务器,出现ModuleNotFoundError: No module named ‘XXX’

PyCharm中项目上传到Linux服务器,出现ModuleNotFoundError: No module named ‘XXX’

2022-03-12 01:16:37 3644 1

操作系统核心知识点总结

资源特点:一张图囊括操作系统在面试中的全部核心知识点,图文并茂,各个知识点以网络图的形式相互连接,相互之间的关系非常清晰,易于记忆与梳理。可随意放大和缩小,既可以把握全局知识脉络,又可以深入理解每个具体知识点。 内容概要:内容包括进程与线程的关系与对比、进程间的通信方式、进程的调度策略、进程的状态、进程与线程间的同步方式、死锁及解决方法、协程与线程、虚拟内存、用户态与内核态、并发与并行等面试中最常见的八股文知识点(这些知识点在面试中出现的频率应该占全部操作系统知识点的 90% 以上)。 适用人群:马上要找工作,但是没有足够时间学习操作系统中的全部知识,需要速成操作系统面试八股文的同学。掌握这里的核心知识点,即可应对面试中绝大部分的操作系统相关问题。

2022-08-04

计算机网络核心知识点总结

资源特点:一张图囊括计算机网络在面试中的全部核心知识点,图文并茂,各个知识点以网络图的形式相互连接,相互之间的关系非常清晰,易于记忆与梳理。可随意放大和缩小,既可以把握全局知识脉络,又可以深入理解每个具体知识点。 内容概要:内容包括 7 / 5 / 4 层网络模型、 HTTP 报文格式与版本、TCP 三次握手与四次挥手、TCP / UDP 的对比、Cookie 与 Session 的关系与对比、常见的负载均衡算法等面试中最常见的八股文知识点(这些知识点在面试中出现的频率应该占全部计算机网络知识点的 90% 以上)。 适用人群:马上要找工作,但是没有足够时间学习计算机网络中的全部知识,需要速成计算机网络面试八股文的同学。掌握这里的核心知识点,即可应对面试中绝大部分的计算机网络相关问题。

2022-08-04

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

TA关注的人

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