首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java
纵然间
创建于2024-02-24
订阅专栏
Java全栈知识体系
等 1 人订阅
共152篇文章
创建于2024-02-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
定时任务实现原理梳理
优先队列:基于小顶锥实现,每次新增任务需要进行堆化,取任务时取堆顶元素、调整堆架构,时间复杂度是O(logN). 时间轮算法:是一个环形队列,按照时间的单位区分,每个时间单位里面是一个链表、用来存储定
B+Tree(B-Tree变种)结构解析
非叶子节点不存储data,只存储索引(冗余),可以放更多的索引 叶子节点包含所有索引字段 叶子节点用指针连接,提高区间访问的性能
SpringBoot自动装配原理解析
是不是一个SpringBoot项目,首先看启动类中是否有@SpringBootApplication注解,如有,那就是啦。 @SpringBootApplication注解内部其实封装了三个核心的注解
maven中继承与聚合
继承与聚合 作用: 聚合用于快速构建项目。 继承用于简化依赖配置、统一管理依赖。 相同点: 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中。 聚合与继承均属于
分布式事务TCC解决方案
TCC(Try-Confirm-Cancel)是一种常见的分布式事务解决方案,将一个事务拆分成三个步骤: T(Try):业务检查阶段,这阶段主要进行业务校验和检查或资源预留;也可能是直接进行业务操作。
消息队列解决重复消费问题解决思路
1、MVCC多版本并发控制 也就是在生产的时候带上数据的版本号。 2、去重表方案 创建一张记录表,比如只有一个字段ID,使用唯一索引。在程序中处理DML时写入数据,将异常捕获掉,依然使用ACK确认
MySQL常见的索引失效场景梳理-实例
1、创建一张演示表 2、违反最左前缀法制 联合索引或复合索引下,查询从索引的最左前列开始,不能跳过索引中的列。 说白了就是索引是按照先字段name再字段status之后字段address顺序创建的
MySQL事务之undo log 与redo log
redo log:记录的是数据也的物理变化,服务宕机可以用来同步数据。 undo log:记录的是逻辑日志,当事务回滚时,通过逆操作恢复原来的数据,比如删除一条数据的时候,就会在undo log日志文
Linux系统查看日志方式盘点
LInux系统查看日志方式盘点,共有4种形式,分别是:1、实时日志 2、按照行号 3、 根据关键字 4、大文件日志查询
Linux环境下CPU飙高排查方案与思路分析
1、使用top命令查看占用CPU的情况 2、通过top命令查看后,可以查看是哪个进程占用CPU较高 一般top命令排在第一位的是占用较高的那个,也可以搜索具体的应用名称 3、使用ps命令查看进程中的线
Java内存泄露的排查思路
内存泄露通常是指堆内存,一般情况下是指一些大对象不被回收的情况。 1、通过jmap或者设置jvm参数获取堆内存快照dump 2、通过工具,VisualVM 去分析dump文件,VisualVM可以加载
Java内存模型(JMM)理解
JMM (Java Memory Model) Java 内存模型,定了共享内存中多线程程序读写操作的行为规范,通过这些规则来规范对内存的读写操作,从而保障指令的正确性。 JMM把内存一共分为了两块,
hashMap寻址算法
计算对象的hashCode() 再进行调用hash()方法进行二次哈希,hashcode值右移16位再异或运算,让哈希分布更为均匀 最后(capacity -1 ) & hash 得到索引 这里的位与
一文搞清楚算法复杂度
1 算法时间复杂度概念 时间复杂度表示了算法的执行时间与数据规模之间的增长关系。 一般情况下在代码中的表现是循环语句或调用次数上,比如:for循环、while循环或递归调用等。 2 时间复杂度表现形式
Spring中事务失效常见的场景-开发易踩坑
一、自定义异常处理被捕获 我们习惯性的将可能存在异常的函数使用try catch 进行捕获,如果该方法使用了声明式事务注解,那么事务将会失效。 代码分析: 1、业务代码部分省略,一般是需要处理事务问题
接口规范说明
接口输出能力 A:提供restful-api风格的http接口 B:提供grpc接口 认证鉴权:调用接口有如下两种认证方式 ,认证鉴权。 Token认证:通过Token认证通用请求。 Author
如何写出好程序
1 有何感想 “成功的项目是相似的,失败却各有不同” 2 复杂工程,工作思路应是什么? 风险/收益驱动 3 质量管理发展历程 引自:英国标准协会 4 程序设计的风险 5 应对风险 需要个人和团
Linux批量跨机房交互式替换文件内容脚本
执行脚本会要求用户输入关键字,需要替换的内容为用户输入内容 要查找的内容文件在文中指定为‘.xml’格式,读者可以替换成别的 脚本中关键步骤操作均有提示打印,方便调试和查看
算法基础之Petri Net 介绍
Petri Net 适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式。 由于Petri网能够表达并发的事件,被认为是自动化理论的一种。研究领域趋向
常见Java编程面试题分析及答案解析-50篇
1 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 2 判断101-200之间有多少个素数,并输出所
下一页