- 博客(337)
- 资源 (33)
- 收藏
- 关注
翻译 7. GC 调优(实战篇) - GC参考手册
JVM上运行的程序多种多样, 启动参数也有上百个, 其中有很多会影响到 GC, 所以调优GC性能的方法也有很多种。还是那句话, 没有真正的银弹, 能满足所有的性能调优指标。 我们能做的只是介绍一些常见的/和不常见的示例, 让你在碰到类似问题时知道是怎么回事。深入理解GC的工作原理, 熟练应用各种工具, 就可以进行GC调优, 提高程序性能。
2017-03-13 19:12:17
28411
6
原创 清理macos系统DS_Store文件的sh脚本
清理 macOS 系统中遍布各目录的 .DS_Store 垃圾文件,本脚本通过递归遍历指定目录,精准删除所有 .DS_Store 文件。支持预览模式(-n)避免误删,自动处理路径空格、引号及 ~ 展开,校验目录有效性并显示详细统计。脚本兼容 macOS 原生工具链,无需额外依赖,安全高效,适合开发者与日常用户维护系统整洁。
2026-10-19 13:21:30
108
原创 解决Ubuntu执行sudo时 unable to resolve host 报错问题
本文记录了一次在 Ubuntu(cloud-init 环境)上排查 `sudo: unable to resolve host` 警告,并通过 cloud-init 模板机制规范化管理 `/etc/hosts` 的完整过程,包含前因后果与排查思路。
2026-08-11 17:07:07
465
原创 一个命令教你查询环境变量的定义位置
排查环境变量值异常问题时,发现 /etc/environment 中定义的 XXX_ENV 变量值末尾的 # 被当作注释符号忽略。解决方案是使用双引号包裹变量值(如 XXX_ENV="^cbt7r34t76$(*^$@@@#")。文章提供了 findenv 函数快速定位变量定义位置,并强调定义含特殊字符的环境变量时务必加引号。适用于 Ubuntu 等环境变量配置检查。 (字数:149)
2026-07-21 11:57:23
216
原创 Qwen3-TTS模型语音合成踩坑记录
在中文长文本语音合成中,使用Qwen3-TTS模型的经验。该模型虽具备本地部署、中文支持好等优势,但在实际应用中暴露出拟声词导致音频卡死、特殊符号处理不佳、长文本分块敏感等问题。针对这些问题,作者提出了一套完整的优化方案,包括文本替换规则系统、数字转换、智能分块策略、音频质量检测以及分级降级策略。特别整理了80+个会导致TTS模型故障的中文字符清单,并提供了自动化测试工具。这些经验对中文TTS应用开发具有重要参考价值。
2026-06-30 09:37:36
656
原创 Docker-Compose 部署 MySQL 8 并解决中文乱码问题
本文介绍了如何通过Docker Compose部署MySQL 8.0.33并解决中文乱码问题。关键步骤包括:锁定具体镜像版本、挂载初始化SQL文件到/docker-entrypoint-initdb.d目录、配置服务端字符集为utf8mb4、确保SQL文件使用UTF-8编码。最终解决方案是在SQL文件开头添加SET NAMES utf8mb4;语句,统一连接会话的字符集设置,从而彻底解决中文乱码问题。文章还提供了完整的docker-compose.yml配置示例和验证方法。
2026-06-25 17:21:28
485
原创 macOS 禁用 mediaanalysisd
Mac系统休眠后mediaanalysisd服务持续运行导致过热,可通过命令禁用该服务。步骤包括终止进程、禁用系统/用户级服务。 若受SIP保护限制,可关闭SIP或开启低电量模式。
2026-06-07 21:45:29
760
原创 Redis中KEYS命令的潜在风险与遍历建议
本文通过一次 Redis 执行 KEYS 命令引发的生产环境故障, 讨论了相应的风险与替代方案。 官方强烈建议仅将KEYS用于调试,常规应用应改用SCAN命令或SSCAN命令来安全遍历key。
2025-12-07 22:10:15
485
原创 Java实现BCH与BTC的地址相互转换
本文介绍了BCH地址转换的实现方法。由于BCH地址存在BTC格式和专有格式两种形式,需要统一转换为BTC类型地址进行比对。
2025-10-03 21:52:51
1064
原创 Java实现LTC以3和M开头的地址相互转换
本文介绍了LTC地址转换的实现方法。使用bitcoinj库的Base58编解码功能,实现了Java版的地址转换工具,通过改变版本号完成地址格式转换。文中提供了核心代码实现和测试方法,并指出类似BCH也有地址转换需求。最后总结AI在复杂算法实现上的局限性。
2025-10-02 11:50:38
623
原创 1分钟使用ssh-keygen生成RSA公私钥
快速生成SSH密钥解决GitHub连接问题, 更换Mac用户后,使用Git克隆时遇到权限问题,需重新生成SSH密钥。通过ssh-keygen命令可快速生成RSA密钥对。注意密钥文件需命名为默认的id_rsa才能自动生效,若使用自定义名称需手动执行ssh-add加载密钥。文章还提供了常见错误解决方案和参考链接。
2025-09-07 22:02:07
870
原创 Guava限频器RateLimiter的使用示例
本文介绍了Guava工具库中的RateLimiter限流器以及使用示例,以及如何防止限流器误拦截。
2025-05-29 00:13:04
2548
原创 一个WordPress连续登录失败的问题排查
在登录WordPress后台时遇到反复跳转登录页面的问题,经过多次尝试未果。通过查看Nginx日志,发现错误信息提示磁盘空间已满。使用df -h和du -sh命令排查,发现/usr/local/www/tomcat-8.0.48/logs/目录下的日志文件占用了大量空间。清理了旧日志文件后,问题得以解决。文章建议后续优化包括设置JVM的GC日志大小和滚动策略,以防止类似问题再次发生。
2025-05-13 12:46:54
1080
原创 PDF文件提示-文档无法打印-的解决办法
于是把PDF文件拖到 Chrome 浏览器之中, 【Ctrl】+【P】快捷键直接打印, OK,成功打印。网上的方案是使用老版本的PDF阅读器, 因为无法打印只是一个标识而已。我就想,既然只是一个标识,能不能用浏览器来打印呢?这些方式都有可行性,但是比较麻烦。
2025-01-03 17:50:23
2941
原创 Access denied 数据库错误排查案例一则
一个 shardingsphere 报错的问题, 但是 shardingsphere 处理方式有点问题,把异常原因给吃掉了...
2024-11-19 19:29:21
3461
1
原创 基于水位线过期时间的AsyncLoadingCache
在爆发式的瞬时并发流量到达时,如果碰上缓存过期,这时候就会有大量的 Cache Loading 请求打到 Redis,造成延迟指标的瞬间上涨。我们需要降低这种瞬间的延迟指标上涨。
2024-09-26 18:23:41
736
原创 让调用者自己干活的特殊线程池
单元测试时, 我们的某些业务代码可能是在线程池中运行的,就会出现各种不一致的情况。这时候可以hack一下, 创建一个调用者直接执行的线程池,避免干扰;
2024-05-15 16:28:10
828
原创 开发服务器因弱口令导致受到木马攻击
日期: 2023年12月06日 事件: 收到阿里云告警消息,被限制访问外部端口。您的云服务器(*.*.*.*22222222222)的访问,阻断预计将在2023-12-07 05:56:56时间内结束,请及时进行安全自查。若有疑问,请工单或电话联系阿里云售后。
2024-01-15 10:50:48
1049
原创 深入JVM - JIT分层编译技术与日志详解
本文简要介绍了 JVM 中的分层编译技术。 包括两种类型的JIT编译器, 以及分层编译技术如何组合使用他们, 以达成最佳效果。还详细介绍了5种不同的编译级别, 以及相关的JVM调优参数。最后是一个具体的案例, 通过打印和分析编译日志, 深入学习了Java方法编译和优化的整个生命周期。
2023-08-09 16:16:37
3294
原创 MAC搭建M1环境的stable-diffusion
苹果公司的程序员为 M1,M2 之类的ARM64芯片专门创建了一个 stable-diffusion 的仓库,可以充分利用 M1 内置的人工智能芯片(神经网络芯片), 需要转换 PyTorch 模型为 Apple Core ML 模型。本文基于这个仓库进行操作。
2023-06-20 15:52:58
6003
2
原创 遍历Redis集群中的所有Key
SCAN命令可分页查询单个Redis节点的所有Key。但如何遍历扫描Redis集群中所有的Key呢? 本文通过具体示例给出解决方案。
2023-06-14 20:09:21
6635
1
原创 SwaggerUI增加公共的Global全局Header
为了调试方便, 想要在 SwaggerUI 的 "Try it out" 页面中增加一个认证 Header, 一个个接口添加注解就太麻烦了,有没有什么方式可以全局生成呢? 网上找了很多资料都不生效, 最后终于搞定了, 所以才有了这篇文章。
2023-05-06 12:28:57
5407
2
原创 一次性搞定 `SHOW SLAVE STATUS` 的解读
本文通过图片来演示如何从 `SHOW SLAVE STATUS` 命令输出的信息中,解读 MySQL数据库主从同步中对应的日志文件存储位置信息。
2023-02-28 21:00:22
1794
1
原创 合理使用DTO(Data Transfer Object)
DTO, 全称为 Data Transfer Object, 我们一般称之为: 数据传输对象。到底什么才算是DTO, 存才哪些滥用情况呢?
2022-12-02 21:31:20
9930
原创 不需要再手工指定JVM启动参数-XX:+UseCompressedOops
技术团队通过 GCeasy 工具分析完几千次用户上传的GC日志后, 发现一个现象: 仍然有很多Java程序传入了JVM启动参数 -XX:+UseCompressedOops。实际上,如果JVM的版本在 Java SE 6 update 23 及以上, 则不需要再设置 -XX:+UseCompressedOops 参数, 因为默认会开启。“OOP” 表示普通对象指针(Ordinary Object Pointer), 这种指针是对某个对象的托管指针(managed pointer)。 OOP占用的空间
2022-01-01 12:50:05
3351
原创 MySQL_帐号密码匹配规则与命名规范
MySQL帐号命名规范中英双语对照版请查看: GitHub中英对照版: MySQL帐号命名规范MySQL用户的帐号名称(Account Name)由两部分组成:1、用户名(user name)2、主机名(host name)所以即使用户名部分相同, 只要登录的客户端IP不同, MySQL服务器可能就会匹配到不同的帐号。本文简要介绍帐号的命名规则, 以及特殊值(special value)处理规则和通配符规则(wildcard rule)。MySQL角色的命名规则与帐号命名类似, 细微差
2021-08-31 11:35:57
6940
原创 深入JVM - Code Cache内存池
深入JVM - Code Cache内存池1. 本文内容本文简要介绍JVM的 Code Cache(本地代码缓存池)。2. Code Cache 简要介绍简单来说,JVM会将字节码编译为本地机器码,并使用 Code Cache 来保存。每一个可执行的本地代码块,称为一个 nmethod。nmethod 可能对应一个完整的Java方法,或者是内联后的方法。即时编译器(just-in-time,JIT)是代码缓存区的最大消费者,所以此区域又被开发者称为 JIT code cache。3. 对 C
2021-03-24 10:50:27
14562
5
原创 深入JVM - 实例详解invoke相关操作码
Java虚拟机规范中有一个章节专门列出了操作码助记符, 对应的链接为: Java Virtual Machine Specification: Chapter 7. Opcode Mnemonics by Opcode其中, 方法调用相关的操作码为:十进制十六进制助记符说明182(0xb6)invokevirtual调用类的实例方法;183(0xb7)invokespecial调用特殊实例方法; 如构造函数、超类方法,以及private184(0xb8)
2021-01-11 10:47:34
2387
2
原创 获取Java线程转储的常用方法
1. 线程转储简介线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照。线程转储一般使用文本格式, 可以将其保存到文本文件中, 然后人工查看和分析, 或者使用工具/API自动分析。Java中的线程模型, 直接使用了操作系统的线程调度模型, 只进行简单的封装。线程调用栈, 也称为方法调用栈。 比如在程序执行过程中, 有一连串的方法调用链: ......
2021-01-07 21:26:48
25133
9
原创 MySQL_InnoDB的锁和事务模型
路过的小伙伴, 请帮忙点小星星Star支持: https://github.com/cncounter/translation/InnoDB的锁和事务模型 - Github版本想要实现高吞吐、高可靠的大型数据库应用系统; 想要从其他数据库迁移到MySQL; 想要进行MySQL性能调优; 那么学习和掌握InnoDB的锁和事务模型就非常有用。文章目录14.7.1 InnoDB中的锁共享锁与排他锁意向锁记录锁间隙锁临键锁插入意向锁自增锁空间索引使用的谓词锁14.7.2 InnoDB事务模型14.7..
2020-11-29 22:20:23
2485
3
G1垃圾收集器入门
2015-01-01
Java虚拟机规范_第9版_PR_EN
2017-05-11
身份证图像识别_OCR_调研文档
2017-02-20
Chart.js_饼状图添加文字
2014-03-26
最新行政区划编码数据库脚本
2015-06-16
Tomcat6_优化_方案
2014-11-06
TortoiseGit-1.8中文版与Git安装包_手册
2014-11-27
鼠标移到菜单上弹出二级菜单特效
2016-04-12
Oracle的JDBC驱动官方完全版
2014-08-21
JavaClassViewer-2.0.4_理解class文件结构
2018-08-15
超实用超强悍Win工具集_SysinternalsSuite
2016-07-02
httpclient下载文件
2013-11-19
在线客服-群聊功能-网页版
2012-09-28
gcviewer_1.3.4_执行程序与示例
2017-02-13
TortoiseSVN_1.8.8_中文版_软件_手册_32_64
2014-09-24
Polymer布局元素Demo
2014-08-02
Axure_RP_Pro_6.5简体中文稳定版_Win32
2014-10-22
脚本娃娃_Ext4.1.0_Doc中文_单文件_V1.0.0_Beta
2014-02-08
LoadRunner资料
2013-12-10
Java语言规范_第9版_PR_EN
2017-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅