03 2025 档案

摘要:自旋锁(Spin Lock) 一)概念自旋锁是一种基于忙等待(busy-waiting)的锁机制。当一个线程尝试获取锁时,如果锁已经被其他线程持有,该线程不会立即进入阻塞状态,而是在一个循环中不断地检查锁是否已经被释放,这个循环过程就称为自旋。自旋的目的是为了避免线程上下文切换带来的开销,因为线程上 阅读全文
posted @ 2025-03-31 15:25 KLAPT 阅读(36) 评论(0) 推荐(0)
摘要:JVM调优通常涉及到对堆内存、垃圾回收策略和线程堆栈大小等方面的调整。 1、堆内存调优 使用场景:调整JVM的堆内存可以帮助避免内存溢出,提高垃圾回收的效率。 代码示例: 启动Java应用时的堆内存设置: # 设置初始堆大小为256MB,最大堆大小为1024MB java -Xms256m -Xmx 阅读全文
posted @ 2025-03-28 16:35 KLAPT 阅读(105) 评论(0) 推荐(0)
摘要:使用uuid和自增id的索引结构对比. 1. 使用自增id的内部结构 自增的主键的值是顺序的,所以Innodb把每一条记录都存储在一条记录的后面。当达到页面的最大填充因子时候(innodb默认的最大填充因子是页大小的15/16,会留出1/16的空间留作以后的 修改): ①下一条记录就会写入新的页中, 阅读全文
posted @ 2025-03-28 14:31 KLAPT 阅读(66) 评论(0) 推荐(0)
摘要:Netfilter 顾名思义就是网络过滤器,其主要功能就是对进出内核协议栈的数据包进行过滤或者修改。 Netfilter 通过向内核协议栈中不同的位置注册 钩子函数(Hooks) 来对数据包进行过滤或者修改操作,这些位置称为 挂载点,主要有 5 个:PRE_ROUTING、LOCAL_IN、FORW 阅读全文
posted @ 2025-03-27 15:07 KLAPT 阅读(146) 评论(0) 推荐(0)
摘要:基础架构不同MySQL采用传统的主从架构,主库处理写操作,从库处理读操作。这种架构简单易用,适合中小规模场景,但主库一旦宕机,需要人工干预才能恢复,存在单点故障风险。 0ceanBase采用分布式架构,数据天然分布在多个节点,不存在单点问题,任何节点故障都能自动恢复,适合对稳定性要求极高的场景,例如 阅读全文
posted @ 2025-03-27 10:23 KLAPT 阅读(616) 评论(0) 推荐(0)
摘要:数据库优化可以从架构优化,硬件优化,DB优化,SQL优化四个维度入手 。 一、架构优化 一般来说在高并发的场景下对架构层进行优化其效果最为明显,常见的优化手段有:分布式缓存,读写分离,分库分表等,每种优化手段又适用于不同的应用场景。 1.分布式缓存 【在应用与数据库之间增加一个缓存服务,如Redis 阅读全文
posted @ 2025-03-26 18:20 KLAPT 阅读(240) 评论(0) 推荐(0)
摘要:磁盘块和页的大小比较‌: ‌定义和作用‌: ‌磁盘块‌:是文件系统读写数据的最小单位,通常由连续的几个扇区组成。磁盘块的大小通常是扇区大小的整数倍,常见的块大小有1KB、2KB、4KB等‌。 ‌页‌:在内存管理和虚拟存储系统中,页是内存与磁盘之间数据交换的基本单位。页的大小通常与内存的页面大小相同, 阅读全文
posted @ 2025-03-26 17:56 KLAPT 阅读(154) 评论(0) 推荐(0)
摘要:FutureFuture 是一个接口,它提供了检查计算是否完成、等待计算完成以及检索计算结果的方法。它通常与 ExecutorService 一起使用,以异步方式执行任务。Future 允许你启动一个可能耗时的计算,而不必等待它完成就能继续执行其他任务。然后,你可以使用 Future 对象来查询计算 阅读全文
posted @ 2025-03-26 17:33 KLAPT 阅读(167) 评论(0) 推荐(0)
摘要:Producer:负责产生消息。 Connection:RabbitMQ客户端和代理服务器之间的TCP连接。 Channel:建立在连接之上的虚拟连接,RabbitMQ操作都是在信道中进行。 Broker:一个Broker可以看做一个RabbitMQ服务节点或者服务实例。 Exchange:生产者发 阅读全文
posted @ 2025-03-26 16:33 KLAPT 阅读(31) 评论(0) 推荐(0)
摘要:物理层级‌:扇区 → 磁道 → 柱面(多盘面共享) ‌逻辑层级‌:扇区 → 块(操作系统管理) → 页(内存管理) ‌独立概念‌:页仅涉及内存,与磁盘结构无直接关联。 扇区是磁盘最小的物理存储单位,通常每个扇区大小为512字节。数据读写操作以扇区为单位进行,是磁盘性能的关键影响因素 磁盘块是操作系统 阅读全文
posted @ 2025-03-26 16:21 KLAPT 阅读(39) 评论(0) 推荐(0)
摘要:一、安全性比较‌ ‌验证方式‌: Token:服务端验证客户端发送的Token时,通常需要查询数据库获取用户信息,以验证Token的有效性。‌ JWT(JSON Web Token):服务端验证JWT时,只需使用密钥解密进行校验,无需查询或减少查询数据库,因为JWT自包含了用户信息和加密的数据。 ‌ 阅读全文
posted @ 2025-03-26 14:16 KLAPT 阅读(821) 评论(0) 推荐(0)
摘要:第一组: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca 第二组:Password:xs374caProduct Code:ljkfuhjpccxt8xq2re37n97595ld 阅读全文
posted @ 2025-03-17 14:01 KLAPT 阅读(1818) 评论(0) 推荐(0)
摘要:进程:进程是资源分配的最小单位;进程=独立的代码+数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1-n个线程; 线程:线程是CPU调度的最小单位;线程=堆栈+程序计数器+同一类线程共享的代码和数据空间,线程的切换开销较小; 线程组:线程可以分组,Java默认创建的线程都属于系统线程 阅读全文
posted @ 2025-03-11 11:24 KLAPT 阅读(38) 评论(0) 推荐(0)
摘要:ThreadLocal 是 Java 提供的一种线程本地存储机制,用于为每个线程提供独立的变量副本,变量的值仅在线程内可见,从而实现线程隔离。这种特性在需要为每个线程维护独立状态的场景中非常有用,例如用户上下文、事务管理等。 hreadLocal 的基本使用示例代码:public class Thr 阅读全文
posted @ 2025-03-06 15:13 KLAPT 阅读(34) 评论(0) 推荐(0)
摘要:方法一:使用 ls 命令 [直接输入上面的命令,显示的是当前文件夹的大小] ls -ll // 显示成字节大小 ls -lh // 以KB、MB等为单位进行显示 [专门检查当前路径下某一文件夹或文件的大小] ls -ll <文件夹> ls -ll example.txt ls -lh <文件夹> l 阅读全文
posted @ 2025-03-04 16:57 KLAPT 阅读(8419) 评论(0) 推荐(0)
摘要:./configure、make、make install ./configure是源代码安装的第一步,用来检测安装平台的目标特征的。主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包 ./configure会检测是不是有CC或GC 阅读全文
posted @ 2025-03-04 11:28 KLAPT 阅读(268) 评论(0) 推荐(0)