自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(831)
  • 资源 (2)
  • 收藏
  • 关注

原创 redis命令执行:线程模型 及 事务

Redis事务 ≠ 数据库事务,应将其视为 受限的批处理工具。严格避免在事务中操作大Key(如百万元素的Hash),否则可能引发主线程长时间阻塞。当需要 强原子性 和 复杂逻辑 时,Lua脚本是更可靠的选择。

2025-07-24 06:15:00 15

原创 redis概述:一条redis命令执行流程

流程如下。

2025-07-24 06:15:00 17

原创 Redis基本概念:为什么选择redis 及 redis为什么这么快

Redis 基于内存,内存的访问速度比磁盘快很多;Redis 基于 Reactor 模式设计开发了一套高效的事件处理模型,主要是单线程事件循环和 IO 多路复用(Redis 线程模式后面会详细介绍到);Redis 内置了多种优化过后的数据类型/结构实现,性能非常高;Redis通信协议实现简单且解析高效。高性能核心机制内存存储:Redis全程操作基于内存,读写速度可达微秒级,避免磁盘I/O瓶颈,支持每秒数十万次操作。

2025-07-23 06:15:00 403

原创 Redis存储引擎层:内存管理

重要性:Redis作为基于内存的高性能数据库,其内存管理直接关系到性能、稳定性和成本控制。

2025-07-22 06:15:00 13

原创 MYSQL总结:架构及相关使用、注意

当客户端发送连接请求时,MySQL服务器会在连接层接收请求,分配一个线程来处理该连接,随后进行身份验证,主要经过下面几个阶段呢客户端连接的建立与处理安全认证连接资源管理:线程管理:MySQL与客户端之间会采用半双工的通讯机制工作半双工:代表同一时刻内,单方要么只能发送数据,要么只能接受数据。

2025-07-21 06:15:00 20

原创 mysql问题

如果将ORDER BY子句添加到使用DISTINCT子句的语句中,则结果集将被排序,并且与使用GROUP BY子句的语句返回的结果集相同。例如,要从customers表中获取城市(city)和州(state)的唯一组合,可以使用以下查询:该语句将返回两个列中所有唯一的组合。如果列具有NULL值,并且对该列使用DISTINCT子句,MySQL将保留一个NULL值,并删除其它的NULL值,因为。DISTINCT子句与SELECT语句一起组合来消除结果集中的重复行。这样就能正确查询出第N页的记录集。

2025-07-20 06:15:00 736

原创 Mysql原理:服务层详情

查询缓存会,下次再查直接从内存中取。缓存的结果是的,所以一个 client 查询的缓存结果,另一个 client 也可以使用检查查询缓存时,MySQL Server 不会对 SQL 做任何处理,它精确的使用客户端传来的查询,仅缓存查询最终结果集太大的结果集不会被缓存 (< query_cache_limit)如果查询中缓存建立之后,MySQL 的查询缓存系统会跟踪查询中涉及的每张表,MySQL 缓存在。

2025-07-19 06:15:00 20

原创 Mysql基本概念:视图、约束、触发器、存储过程、游标

约束 是作用于数据库表中字段的规则,用于强制保证数据的完整性、一致性和有效性。其核心目标是通过限制非法数据输入来避免脏数据产生。SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)是对一系列 SQL 操作的批处理一组为了完成特定功能的 SQL 语句集,存储在数据库中。

2025-07-18 06:15:00 648

原创 Mysql基本概念:基本名词概念、ER图、数据库范式、主外键、mysql数据类型

MySQL 是开源关系型数据库管理系统(RDBMS),广泛应用于企业级数据存储和管理场景关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2025-07-17 06:15:00 600

原创 mysql语句:DML、DDL、DQL、TCL、DCL

DDL (Data Definition Language)是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。数据定义语言(Data Definition Language,DDL)是 SQL 语言集中负责数据结构定义与数据库对象定义的语言。·DDL 的主要功能是定义数据库对象。典型命令:CREATE(创建表)、ALTER(修改表结构)、DROP(删除表)、TRUNCATE(清空表)、RENAME(重命名表)

2025-07-16 06:15:00 762

原创 Tomcat基本概念

Server: 表示服务器,它提供了一种优雅的方式来启动和停止整个系统,不必单独启停连接器和容器;;Service内部还有各种支撑组件,

2025-07-15 06:15:00 546

原创 (双指针 | 牛顿迭代法)算法:计算‌根号2(√2)的n位有效位

计算‌根号2(√2)的n位有效位。

2025-07-14 06:15:00 603

原创 ES:基本概念、高可用和高性能保障

ElasticSearch是一个基于Lucene的搜索服务器。

2025-07-13 06:15:00 638

原创 XXLJOB:基本概念、基本原理、高性能高可用保障

调度多个执行器执行任务,,这样扩展执行器会增大DB的压力。但是如果没有大量的执行器的话和任务的情况,是不会造成数据库压力的。

2025-07-13 06:15:00 27

原创 Mybatis:原理及语法相关

看。

2025-07-12 06:15:00 379

原创 Maven知识点

的,是 Maven 的主要生命周期,

2025-07-11 06:15:00 662

原创 JVM:组成、内存模型、编译过程(JIT、AOT) 及 对象创建

Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。

2025-07-10 06:15:00 45

原创 JVM:JVM编译、JIT、AOT

JVM 中有一个阈值当方法或者代码块的在一定时间内的调用次数超过这个阈值时就会被认定为热点代码,然后编译存入 codeCache 中。当下次执行时,再遇到这段代码,就会从 codeCache 中直接读取机器码,然后执行,以此来提升程序运行的性能。

2025-07-09 06:15:00 25

原创 JVM:运行时数据区

Java 源代码文件经过编译器编译后会生成字节码文件,经过加载器加载完毕后会交给执行引擎执行:存放了字节码信息以及程序执行过程的数据,包括:方法区、堆、虚拟机栈、本地方法栈以及程序计数器五个部分在JDK 1.6、JDK 1.7、JDK 1.8 的内存划分都会有所不同JDK 8 开始,永久代被彻底移除,取而代之的是元空间元空间的。

2025-07-08 06:15:00 27

原创 JVM:内存分配、垃圾回收机制

垃圾回收(Garbage Collection,GC):释放垃圾占用的空间,防止内存溢出(对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收)

2025-07-07 06:15:00 32

原创 JVM:类加载器加载过程及规则

每个 Java 类都维护着一个指向定义它的类加载器的引用,通过 类名.class.getClassLoader() 可以获取到此引用;然后通过 loader.getParent() 可以获取类加载器的上层类加载器想要加载一个类的时候,具体是哪个类加载器加载,这就需要双亲委派模型。双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应有自己的父类加载器类加载器之间的层次关系被称为类加载器的双亲委派模型(Parents Delegation Model),如下所示。

2025-07-06 06:15:00 608

原创 JAVA锁相关内容3:锁升级过程(偏向锁->轻量级锁->重量级锁)

在这篇文章中,我说明了对象中锁的标识。

2025-07-05 06:15:00 1357

原创 JAVA中 对象的存储格式

我们了解到jvm会对类进行加载,转换成Java虚拟机中的Class对象,这里便说明这个存储即分配。

2025-07-04 06:15:00 40

原创 (矩阵 分治)73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。请使用 原地 算法。原地算法:在计算机科学中,一个原地算法(in-place algorithm)是一种使用小的,固定数量的额外之空间来转换资料的算法。当算法执行时,输入的资料通常会被要输出的部分覆盖掉。不是原地算法有时候称为非原地(not-in-place)或不得其所(out-of-place)示例 1:输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]

2025-07-03 02:33:45 262

原创 JAVA IO相关

IO 即 Input/Output,输入和输出比如 把文件从硬盘读取到内存,从网络读取数据到内存等等比如 把数据从内存写入到文件,把数据从内存输出到网络等等所有的程序,在执行的时候,都是在内存上进行的,一旦关机,内存中的数据就没了,那如果想要持久化,就需要把内存中的数据输出到外部比如说文件IO 流在 Java 中分为输入流和输出流,而javaIO流的所有类都是从下面四个抽象类基类派生出来的。

2025-07-02 17:27:02 1055

原创 (双指针)11. 盛最多水的容器

给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

2025-06-29 06:15:00 414

原创 全局唯一ID(分布式 ID )

也就是说为什么需要这种全局唯一性ID呢?因。

2025-06-28 06:30:00 19

原创 分布式事务实现算法

分布式事务其实就是。

2025-06-28 06:15:00 41

原创 Nacos作为注册中心和配置中心相关的概念及原理

consistencyService 接口支持不同的一致性协议实现,使得 Nacos 可以无缝切换 Distro(AP)/Raft(CP)协议一致性级别、CAP理论 和 BASE理论定期(默认 5 秒)扫描无实例的服务自动清理超过 nacos.naming.clean.empty-service.interval(默认 60 秒)的空服务阶段功能设计原理putService。

2025-06-27 06:30:00 30

原创 分布式锁实现原理说明

在并发编程中,我们通过锁,来避免由于竞争而造成的数据不一致问题。通常,我们以synchronized 、Lock来使用它。Java中的锁,只能保证在同一个JVM进程内中执行如果需要在分布式集群环境下的话,便需要分布式锁。

2025-06-27 06:15:00 25

原创 (回溯算法)46. 全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]提示:nums 中的所有整数 互不相同。

2025-06-26 14:50:14 280

原创 数据库优化

读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上读写分离基于主从复制,MySQL 主从复制是依赖于 binlog分库 就是将数据库中的数据分散到不同的数据库上。分表 就是对单表的数据进行拆分,可以是垂直拆分,也可以是水平拆分。引入分库分表之后,需要系统解决事务、分布式 id、无法 join 操作问题。如果必须要手动分库分表的话,ShardingSphere 是首选功能完善,除了支持读写分离和分库分表,还提供分布式事务、数据库治理等功能。

2025-06-26 10:30:00 43

原创 (贪心算法)55. 跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。

2025-06-26 10:22:56 232

原创 ZooKeeper基本概念

ZooKeeper 是一个开源的分布式协调服务,它的原语: 操作系统或计算机网络用语范畴。是由若干条指令组成的,用于完成一定功能的一个过程。具有不可分割性,即原语的执行必须是连续的,在执行过程中不允许被中断。

2025-06-26 06:15:00 31

原创 (分治)75. 颜色分类

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。在计算机科学中,一个原地算法(in-place algorithm)是一种使用小的,固定数量的额外之空间来转换资料的算法。当算法执行时,输入的资料通常会被要输出的部分覆盖掉。不是原地算法有时候称为非原地(not-in-place)或不得其所(out-of-place)。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。

2025-06-25 17:38:53 326

原创 (动态规划)322.零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。

2025-06-25 16:54:00 511

原创 Redis数据结构:基本数据类型 和 对应操作的时间复杂度

2025-06-25 06:15:00 779

原创 SQL优化:怎么去分析一条SQL(执行计划分析)EXPLAIN命令

指一条。

2025-06-24 06:15:00 845

原创 (二叉树、递归)124.二叉树中的最大路径和

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,15,7]输出:42。

2025-06-23 10:48:14 375

原创 锁相关内容3:mysql中实现锁

使用关键字FOR UPDATE。

2025-06-23 06:15:00 479

Java基础.xmind

java基础全部内容思维导图,首次整理

2021-08-28

Java笔试题目.xls

Java笔试题目.xls

2021-08-25

空空如也

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

TA关注的人

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