05 2025 档案

摘要:redis大key有关的几个问题 1、大key的定义 2、大key引发的问题(6点) 比如del命令的时候,由于del命令会阻塞整个redis进程,如果del命令执行时间过长,那么就可能导致其他客户端在这一段时间内,无法访问redis实例 3、大key产生的原因(5点) 4、如何来找出这些大key呢 阅读全文
posted @ 2025-05-27 16:30 fanblog 阅读(20) 评论(0) 推荐(0)
摘要:L1、L2级缓存时cpu私有的,L3缓存时共享的,cpu从内存读取数据到缓存中(线程A),然后修改了缓存,当缓存还没有同步到主存时,另一个线程B从主存中读取数据,读到的就是旧数据,这就是可见性问题。执行代码的时候,cpu或者编译器可能会对指令进行重排序,导致执行顺序和代码书写顺序不一致,这就是有序性 阅读全文
posted @ 2025-05-27 16:08 fanblog 阅读(12) 评论(0) 推荐(0)
摘要:多个后端服务器时,前端不知道找哪个机器,就需要一个中间进程来做流量转发和分发(负载均衡) 屏蔽掉后面具体有哪些服务器的代理方式,就是常说的反向代理 有了反向代理,我们对外就可以只提供一个URL域名,背后根据需要,随时扩缩容服务这个反向代理的程序,刚好可以加到前面放html文件的进程上(http服务器 阅读全文
posted @ 2025-05-27 10:37 fanblog 阅读(19) 评论(0) 推荐(0)
摘要:为什么不推荐数据库自增主键? 使用数据库自增主键,在分库分表情况下会有问题 横向分表,id可能重复 用步长差开的话,当前表和库可以,但是扩容会有问题或者数据迁移时有问题 分布式id,UUID 雪花算法 UUID(不建议):Innodb引擎索引结果时b+树,有个概念就是索引即数据 主键索引的叶子节点会 阅读全文
posted @ 2025-05-26 21:35 fanblog 阅读(60) 评论(0) 推荐(0)
摘要:对订单加了锁,然后再判断此订单是否发放了红包,若没有则插入一条红包记录 分析线程并发情况 会不会是主从延迟,导致第二个线程没有查到红包 这里走的主库,不存在延迟 为什么第一条sql查了订单, 然后又用for update查了一次 事务用的隔离级别:默认的可重复读 最开始时,两个线程都进来了,并都执行 阅读全文
posted @ 2025-05-26 17:38 fanblog 阅读(12) 评论(0) 推荐(0)
摘要:Future的get方法会阻塞CompletableFuture,可以组合多个异步任务如可以拿到异步任务中最快的一个,传统异步编程是很麻烦的如可以在一个任务执行完以后,去执行另一个任务,传统方式是join或嵌套任务(可能回调地狱)CompletableFuture提供了异步回调来处理 import 阅读全文
posted @ 2025-05-26 17:11 fanblog 阅读(13) 评论(0) 推荐(0)
摘要:1、Python中[] 、[:] 、[::] 1.1、Python中的[::]什么意思 [::]用于字符串和列表等数据的切片,两个冒号隔开三个参数,第一个参数是起始下标,省略时默认为从0开始;第二个参数为截止下标,在使用时不包含截止下标的元素,省略时默认为到最后一个元素包含最后一个;第三个个参数为步 阅读全文
posted @ 2025-05-26 11:07 fanblog 阅读(184) 评论(0) 推荐(0)
摘要:命令xargs是英语词组extended arguments的缩写,把标准输入转化为参数,有些命名是不读取标准输入的,如echo命令,echo "hello" |echo 不打印echo "hello" | xargs echo 打印helloxargs 默认会跟echo命令,上面等价于echo " 阅读全文
posted @ 2025-05-24 16:11 fanblog 阅读(20) 评论(0) 推荐(0)
摘要:# 安装python解释器 python的执行过程就是,翻译一行,执行一行 https://www.python.org/ # 安装代码编辑器 Pycharm https://www.jetbrains.com/pycharm/download/?section=windows 下载社区版 界面及语 阅读全文
posted @ 2025-05-23 20:51 fanblog 阅读(276) 评论(0) 推荐(0)
摘要:常规用法: ps -ef | grep java 拷贝java进程id jstat -gc 7907 (进程id) 等价用法: jstat -gc `pgrep java` pgrep 命令根据关键字查询进程号。 反引号作用是将命令结果原地替换,然后作为参数传递到jstat命令中 当pgrep返回多 阅读全文
posted @ 2025-05-18 17:18 fanblog 阅读(13) 评论(0) 推荐(0)
摘要:arthas适用哪些场景 # 案例程序curl -O https://arthas.aliyun.com/math-game.jarjar -jar math-game.jar 常用命令(官网)https://arthas.aliyun.com/doc/commands.html arthas实时数 阅读全文
posted @ 2025-05-18 11:16 fanblog 阅读(82) 评论(0) 推荐(0)
摘要:运维反馈项目挂了,起来后一会又挂了,并贴出一些错误日志 java.lang.OutOfMemoryError: unable to create new native thread 排查过程: * mq有堆积,但是之前报警关掉了。 * top观察cpu,内存,发现VIRT 持续攀高达几十个G,然后就 阅读全文
posted @ 2025-05-13 10:15 fanblog 阅读(16) 评论(0) 推荐(0)
摘要:频繁full gc可能原因 引起线上服务频繁full gc原因很复杂,大致有以下常见原因; System.gc() 引起的频繁 Full GC;这种原因导致的full gc,可以添加 -XX:+DisableExplicitGC,屏蔽 System.gc() 动作; 老年代没有连续可用的内存空间,触 阅读全文
posted @ 2025-05-13 09:44 fanblog 阅读(66) 评论(0) 推荐(0)
摘要:1. 安装及使用 使用git命令 [rocky@www Downloads]$ git clone https://github.com/torch/distro.git ~/torch --recursive bash: git: command not found... 没装 # 安装 [roc 阅读全文
posted @ 2025-05-13 09:12 fanblog 阅读(9) 评论(0) 推荐(0)
摘要:报错信息有多种: (A) jakarta.servlet.ServletException: Handler dispatch failed: java.lang.OutOfMemoryError: unable to create native thread: possibly out of me 阅读全文
posted @ 2025-05-12 21:56 fanblog 阅读(270) 评论(0) 推荐(0)
摘要:启动应用 prometheus配置 prometheus的抓取任务 #配置内存溢出时dump及dump的目录 nohup java -Xms200m -Xmx200m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/jdk/dump -ja 阅读全文
posted @ 2025-05-12 21:52 fanblog 阅读(23) 评论(0) 推荐(0)
摘要:背景:告警 JVM暂停情况 user和sys不高,说明gc使用的CPU不多,但real很高,难道gc时有什么off-cpu操作? 怀疑是写gc日志慢了,检查磁盘IO,GC慢的时间点与磁盘IO慢的时间点几乎完全贴合 解决办法 1、修复磁盘IO慢的问题,或将GC日志放置在单独的磁盘中2、jdk17以上, 阅读全文
posted @ 2025-05-11 22:12 fanblog 阅读(25) 评论(0) 推荐(0)
摘要:查看java进程id 查看java进程3532对应线程情况 gdb attach pid # attach到某个进程 [service@localhost ~]$ gdb attach 3532 GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.el7 阅读全文
posted @ 2025-05-09 20:59 fanblog 阅读(21) 评论(0) 推荐(0)
摘要:1、https://gceasy.io/ Universal JVM GC analyzer - Java Garbage collection log analysis made easy 2、分析gc日志,发现有大对象分配 grep 'concurrent humongous allocatio 阅读全文
posted @ 2025-05-08 22:09 fanblog 阅读(36) 评论(0) 推荐(0)
摘要:0、背景,堆内存告警 告警:prometheus 1、触发一次fullgc后,老年代占比还是较高,说明确实有泄漏 触发命令:jcmd $pid GC.run 2、jstat -gcutil pid intervalTime 3、jmap查看堆内存中的对象分布情况 jmap -histo pid | 阅读全文
posted @ 2025-05-08 20:46 fanblog 阅读(59) 评论(0) 推荐(0)
摘要:【速通Netty】(上) 一、BIO模型服务端一次只能连接一个客户端线程(其他客户端连接只能等待前面连接的断开后才能连上) BioServer import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket 阅读全文
posted @ 2025-05-07 22:55 fanblog 阅读(26) 评论(0) 推荐(0)