自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TransmittableThreadLocal 上下文信息使用思路

子线程需要获取父线程值的场景非常常见,特别是在Web应用和异步任务处理中。这些场景都依赖线程间值的传递来保持业务上下文的一致性。:在请求处理中,需要异步记录包含用户信息的日志。:日志线程无法直接获取原始请求线程的用户信息。:库存服务需要知道是哪个用户/商家的操作。:用户提交订单后需要异步处理库存扣减。在当前代码中,上下文特指通过。

2025-04-13 00:26:35 407

原创 ShardingSphere分库分表思路

比如18位的订单号,第15-18位是UserID的后四位,此时按照OrderID查询的时候,可以根据OrderID后四位的UserID找到分片。一致性哈希可以按照常用的hash算法来将对应的key哈希到一个具有 2^32 个节点的空间中,形成一个顺时针首尾相接的闭合的环形。通过增加数据库的实例数,来提供更多的数据库可用连接,提升系统的并发度。因为用户对于订单最高频访问的是app页面中“我的订单”页面,此时查询的条件是UserID。这种设计虽然增加了存储成本,但显著提升了商家侧的查询效率,是典型的。

2025-04-13 00:19:45 1435

原创 LeetCode:链表

题解:leetcode上——>

2025-04-13 00:11:35 149

原创 LeetCode:哈希表

map.getOrDefault(num, 0)+1,存在返回num的value并加一,不存在返回0再加一。map.keySet(),返回map的key的集合,并且排好序了。

2025-04-13 00:10:13 317

原创 Leetcode:栈与队列

这其实是单调栈,有从前到后,也可以从后往前。接雨水类似于这个思路。

2025-04-13 00:09:10 242

原创 Leetcode:二叉树

【自底向上查找,有点难度!| LeetCode:236. 二叉树的最近公共祖先】

2025-04-13 00:08:29 401

原创 Leetcode系列:数组

符合题意做法:将原数组作为哈希表 空间O(1)暴力遍历做法 空间O(n)

2025-04-13 00:07:33 208

原创 Leetcode系列:矩阵

【代码】Leetcode系列:矩阵。

2025-04-13 00:05:50 208

原创 Leetcode系列:动态规划

动态规划:O(N^2)

2025-04-13 00:04:59 317

原创 Leetcode系列:二分查找

【代码】Leetcode系列:二分查找。

2025-04-13 00:04:20 223

原创 手写大顶堆

【代码】手写大顶堆。

2025-04-13 00:03:20 354

原创 Java并发编程 JUC常见问题

1.8 的结构类似,数组+链表/红黑二叉树。只锁定当前链表或红黑二叉树的首节点,这样只要 hash 不冲突,就不会产生并发,就不会影响其他 Node 的读写,效率大幅提升。添加新节点使用CAS判断,如果哈希冲突了,用synchronized锁住链表/红黑树的首节点。数组的大小默认是 16,也就是说默认可以同时支持 16 个线程并发写。相对segment,锁的粒度更细,性能也就更好。数组的数据进行修改时,必须首先获得对应的。类似,是一种数组和链表结构,一个。是一个链表结构的元素,每个。

2025-04-13 00:02:12 480

原创 数据库:索引篇

也就是说,如果select语句查询到的结果,能占据全表的绝大部分数据。那么Mysql会认为索引效率还不如全表扫描快,索引就会失效。

2025-04-12 23:58:55 524

原创 数据库:并发事务 & 存储引擎

事务A前后做了两次select查询,由于两次查询中间有一次事务B的数据更新的提交,所以A的两次查询结果不一样。事务A读到了事务B还未提交的数据,还没提交意味着没被持久化,有回退的风险。事务A查询一条数据没有查到,就执行插入。事务A查询一条数据没有查到,这时候事务A没有提交。这时候事务B去插入,会被事务A阻塞。只有在事务A提交之后,再进行对数据的查询,发现数据有变化,这才叫“可重复读”。其实是因为在事务A查询之后、插入之前,事务B执行了插入。也就是说,A事务读取到其他事务没提交的数据,就是脏读。

2025-04-12 23:57:52 178

原创 MySQL:表约束

constraint,在创建表的时候添加约束,保证表数据的完整性、有效性。

2025-04-12 23:57:03 405

原创 数据库:DQL+DDL+DML

create table 表名(字段名1 数据类型,字段名2 数据类型,字段名3 数据类型,......#数据类型char:定长字符串varchar:变长字符串double:双精度浮点型float:单精度浮点型date:短日期类型datetime:长日期类型blob:二进制大对象,视频音频图片等等(Binary Large Object)clob:字符大对象,比如一篇文章,超过255个字符的(Character Large Object)

2025-04-12 23:56:29 412

原创 数据库:简单概念+DQL

create:新建表drop:删除表alter:修改。

2025-04-12 23:55:44 219

原创 Docker 常用操作及其命令

定义docker file,docker build完成构建镜像docker save将镜像保存为压缩文件,然后经过拷贝docker load运行压缩文件,将该自定义镜像加载到本地中#挂载相关信息#宿主机目录#容器内目录# 匿名数据卷,MySQL将文件自动挂载保存在宿主机# Mysql数据存储目录,Name为随机生成# 执行新的Mysql镜像创建,将宿主机和容器内目录对应挂载> mysql#创建新网络#将mysql加入新网络},"mysql",

2025-04-12 23:54:51 961

原创 偶发WSL中redis无法连接Windows本地客户端的解决方法

若WSL只显示了环回接口(lo)的IP地址,而没有显示其他网络接口的IP地址。如下,显示了其他网络接口的IP地址eth0即可。环回接口通常用于本机通信,它的IP地址是。,这是无法从外部访问的。

2024-10-12 03:39:04 259

原创 Python初学者日志 科赫雪花绘制

分形就是研究无限复杂具备自相似结构的几何学。

2018-08-02 21:13:51 1045

原创 Python初学者日志 PyInstaller库

概述PyInstaller是第三方库安装在cmd命令行中,输入pip install pyinstaller(若不成功,则要升级pip版本)简单的使用(cmd)pyinstaller -F <文件名.py>常用参数参数 描述 -h 查看帮助 --clean 清理打包过程中的临时文件 -F,--onefile 在dist...

2018-08-02 21:01:30 286

原创 Python初学者笔记 代码复用

紧耦合 松耦合-紧耦合:两个部分之间交流很多,无法独立存在-松耦合:两个部分之间交流较少,可以独立存在-模块内部紧,模块之间松递归的定义-链条:计算存在递归链条-基例:存在一个或多个不需要再次递归的基例递归的实现def fact(n): if n == 0: return 1 else: return n*fa...

2018-07-30 18:05:07 341

原创 Python初学者日志 7段数码管绘制Demo

import turtle#绘制单个线条def drawLine(draw): turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90)#绘制整个数字及整个时间数字段def drawDigit(digit): drawLine(True) if digit in ...

2018-07-30 15:38:49 227 1

原创 Python初学者日志 函数

函数的定义def  <函数名>(参数)       <函数体>      return <返回值>-函数定义时,参数是一种占位符-函数定义后,若不被调用,则不会被执行-函数定义后,参数是输入,函数体是处理,结果是输出。也就是说,函数是IPO的一种形式。(函数可以有参数,也可以没有,但必须保留函数名后的括号)可选参数传递-函...

2018-07-30 11:35:37 236

原创 Python初学者日志 文本进度条效果Demo

文本进度条 #一个简单的进度条set = 10print("-----执行开始-----")for i in range(set+1): a = (i/set)*100 b = i * '*' c = (set-i) * '.' print("{:>3.0f}%[{}->{}]".format(a, b, c))注意{:>3.0f...

2018-07-28 16:02:55 939

原创 Python初学者日志 Time库

time库是Python中处理时间的标准库-计算机时间的表达-提供获取系统时间,并格式化输出-提供系统级精确计时功能-用法import timetime.<方法>( ) time库函数>>>time.time() 获取当前时间戳,也就是计算机内部的时间值,为浮点数>>>time.ctime()  返回字符串,为...

2018-07-28 11:25:23 859

原创 Python初学者笔记 程序的控制结构

二分支结构紧凑形式: <表达式1> if <条件> else <表达式2>多分支结构  异常处理Traceback(most recent call last):    File "t.py" , line1 , in <module>      异常发生的代码行数      ............(代码内容)......

2018-07-27 17:07:50 368

原创 Python初学者日志(5)

5、str.center(width,[fillchar]) width为整个字符的长度,[fillchar]为填充内容,1、str.lower() 或 str.upper() 返回字符串的副本,全部字符小写或大写。- b为二进制,c为Unicode,d为十进制,o为八进制,x为十六进制,X为十六进制的大写形式。“A,B,C”.split(“,”) 输出['A','B','C']- e为科学计数法,f为通常小数形式,%为百分号形式。x为字符,返回其对应的Unicode编码。

2018-07-27 12:04:20 203

原创 Python初学者日志(4)

def函数就是给一段程序起一个名字,用这个名字来执行一段程序,反复使用。************************def 函数名(参数):       执行内容       return 变量*************************字符串类型-单双引号表示-一对三单引号 或 一对三双引号,可表示多行字符串(字符串有两类 共四种)-若想在字...

2018-07-26 12:14:01 211

原创 Python初学者日志(3)

整数类型-与数学中整数概念一致,可正可负-pow(x,y)函数:计算x^y,想算多大就多大四种进制表示-10进制、2进制、8进、16进制浮点数类型-取值范围和小数精度都存在限制,但通常不影响-取值范围约为-10^308——10^308-精度数量级为10^-16-浮点数运算存在不确定尾数,不是bug(解释:用53位二进制表示小数部分,约10^-16,这个二...

2018-07-25 20:09:08 197

原创 Python初学者日志(2)

编程语言分类-机器语言 (都与CPU型号有关)代码直接执行-汇编语言 (都与CPU型号有关)有助记符,汇编器-高级语言(与CPU型号无关)接近自然语言,编译器-超级语言(唯一的就是python)粘性整合已有程序,具备庞大计算生态,集成开发Python蟒蛇绘制turtle库-turtle绘图体系,Python语言的标准库之一,入门级图形绘制函数库标准库...

2018-07-24 12:47:16 187

原创 Python初学者日志(1)

1、字母、数字、下划线、汉字2、首字符不能是数字3、不能与保留字相同。

2018-07-22 11:54:01 184

空空如也

空空如也

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

TA关注的人

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