- 博客(14)
- 收藏
- 关注
原创 【bug】Command line is too long. Shorten the command line via JAR manifest or via a classpath file
启动项目时传递给Java虚拟机的命令行参数超过了操作系统允许的最大长度。
2024-08-31 16:56:04
228
原创 【java】过滤器与拦截器
在实际开发中,和是我们经常使用的,尽管这两者在功能上有许多相似之处,比如二者都是 AOP 编程思想的体现,日志记录等,但一谈到它们的区别,许多人可能会感到困惑,很多人可能没有深入区分和总结这两者,因此常常难以准确地理解它们各自的作用和使用场景,本文主要是对这两者进行区分和总结。
2024-08-11 20:23:25
395
2
原创 【Redis】布隆过滤器
布隆过滤器由「初始值都为 0 的位图数组」和「 N 个哈希函数」两部分组成。当我们在写入数据库数据时,在布隆过滤器里做个标记,这样下次查询数据是否在数据库时,只需要查询布隆过滤器,如果查询到数据没有被标记,说明不在数据库中。第一步,使用 N 个哈希函数分别对数据做哈希计算,得到 N 个哈希值;第二步,将第一步得到的 N 个哈希值对位图数组的长度取模,得到每个哈希值在位图数组的对应位置。第三步,将每个哈希值在位图数组的对应位置的值设置为 1;
2024-07-27 15:00:24
311
原创 【多线程】深入浅出之Java线程池
线程池是管理一系列线程的资源池,当有任务要处理时,直接从线程池中获取线程来处理,处理完之后线程并不会立即被销毁,而是等待下一个任务。线程池是一种管理和重用线程的机制,它通过有效地控制并发线程数量,提高系统性能和资源利用率,在实际应用中,我们可以通过合理使用线程池,并根据实际情况进行监控和调优,有效提高系统的性能和稳定性。
2024-05-25 18:20:01
675
原创 自定义实现负载均衡算法(轮询法、一致性哈希和随机法)
一致性哈希算法的核心思想是将整个哈希值空间划分成一个环状结构,每个节点或服务器在环上占据一个位置,每个请求根据其哈希值映射到环上的一个点,然后顺时针寻找第一个大于或等于该哈希值的节点,将请求路由到该节点上。通过手写实现这些算法,我们可以更深入地理解它们的原理和工作机制,并从中学习到如何设计和实现高效的负载均衡策略。每台服务器被选择的概率相等,因此每次请求都有相同的概率被分配到每台服务器上。它将请求依次分配到后端服务器上,确保每台服务器都能够平均地处理请求,而不考虑服务器的实际连接数和系统负载情况。
2024-05-22 20:02:48
209
1
原创 【设计模式】一文搞懂单例模式
在软件开发中,我们经常会遇到需要确保某个类只有一个实例存在的情况,在这种情况下,单例模式成为了一种强大而常用的设计模式。想象一下,当我们需要访问应用程序的配置信息时,我们希望有一个唯一的配置对象来统一管理这些信息,这时,单例模式就能派上用场。然而,单纯地使用单例模式并不足以解决所有问题,在实现单例模式时,我们需要考虑到线程安全性、延迟加载等因素,以确保其在不同情况下的正确性和性能。
2024-05-19 17:45:16
922
1
原创 Git的基本使用
5. git push -u origin 把当前分支的修改从本地仓库提交到远程仓库。使用git init时,当前目录会生成一个.git文件,这个文件称之为版本库。使用git commit时,会将暂存区的文件添加到本地仓库。远程托管代码的仓库,如git、github、gitlab。4. git commit -m "" 将暂存区的文件添加到本地仓库。使用git add时,会将工作区的文件放到暂存区。3. git add . 将修改的文件添加到暂存区。本地项目存放文件的位置。
2024-01-20 10:19:11
1148
原创 MySQL三大日志(binlog、redo log和undo log)
MySQL日志主要包括错误日志、一般查询日志、慢查询日志、事务日志、中继日志、二进制日志、重做日志、回滚日志几大类,其中最为重要的就是(bin log)、(redo log)和(undo log),本文主要介绍redo logbinlog、两阶段提交和undo log。MySQL 主要日志。
2023-11-26 19:55:05
2228
1
原创 List集合(Java)
Java常见的集合主要分为3种:List(列表)、Map(映射)、Set(集),集合相关类和接口都在java.util中。本文主要介绍List集合Java主要集合关系。
2023-11-25 15:52:06
853
原创 Redis的持久化策略
RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。RDB⽂件是⼀个压缩的⼆进制⽂件,通过它可以还原某个时刻数据库的状态。由于RDB⽂件是保存在硬盘上的,所以即使Redis崩溃或者退出,只要RDB⽂件存在,就可以⽤它来恢复还原数据库的状态。save: 同步保存操作,会阻塞 Redis 主线程;bgsave: fork 出一个子进程,子进程执行,不会阻塞 Redis 主线程,默认选项。使用save相关配置,如“save m n”。
2023-11-24 20:31:28
1849
2
原创 MVCC(多版本并发控制)
当一个事务进行读操作时,它会使用快照读,写操作时,会生成一个新的数据脚本,并将修改后的数据写入数据库。事务提交时所做的修改将成为数据库的最新版本,对其他的事务可见。MVCC是一种并发控制机制,用于多个并发事务同时读写数据库时保持数据的一致性和隔离性,MVCC 通过创建数据的多个版本和使用快照读取来实现并发控制(通过在每个数据行上维护多个版本的数据来实现的。每个事务读到的数据版本可能是不一样的,在同一个事务中,用户只能看到该事务创建。来判断数据的可见性,如不可见,则通过数据行的。
2023-11-19 15:25:54
51
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人