心也自由

Reboot

前言 源于Oracle的免费服务器政策,薅了一波羊毛弄了一台服务器。一时间想不到在服务器上部署什么就先部署了博客,简单写了点东西,注册了域名,搞好了HTTPS,配了博客样式等等等等,前前后后花了几个晚上。但是没想到甲骨文这狗东西居然给我的服务器直接回收了,没有任何征兆,好不容易写的一点字又没了,果然

Master-slave Master-slave 发布于 2025-06-07

服务CPU占用高优化

前言 系统全流程压测过程中,发现某一服务实例CPU占用打到85%,高峰时可能触发容器告警,影响系统稳定。但是该服务已经在前期做了几期优化,例如数据批量更新、使用本地缓存、异步线程处理等方式。但是只要开启整个订单的全流程处理,就会出现实例CPU飙升。对此需要进行进一步的分析和优化 线程分析 容器CPU

Master-slave Master-slave 发布于 2025-06-07

本地缓存一致性的问题

本地缓存一致性的问题

Master-slave Master-slave 发布于 2025-05-26

Java中wait和notify的用法

前言 wait()和notfiy()方法被定义在Object对象中用来线程间的通信。由于每个对象都可以作为锁,所以这些方法被定义在了Object类而不是Thread类中。借由下面消费者/生产者的例子,可以更好地理解线程间的synchronized和沟通机制。 ​ import java.util.c

Master-slave Master-slave 发布于 2019-12-21

了解JAVA虚拟机(二)—— 消逝的永久代

前言 在自定义类加载器还没有流行的时候,普通的Java对象和类对象都是存放在堆中的,由于类很少被卸载,所以引入了PermGen来存放这些“顽固”的类对象以提高性能。 PermGen中的还存放着类的全限定名(JDK1.7中将字符串常量池移出了永久代)、JIT编译器优化的信息、由JVM创建的内部对象,如

Master-slave Master-slave 发布于 2019-12-12

Redis AOF格式错误问题

问题描述 Redis Version : 3.0.5 Redis服务在启动后无法正常连接,通过redis-cli连接提示 (error) LOADING Redis is loading the dataset in memory

Master-slave Master-slave 发布于 2019-11-08

使用GraalVM将Java代码编译成可执行文件

前言 GraalVM是基于HotSpotVM开发的一款新的虚拟机,可以实现多语言混合编程的目的,支持R、Ruby、Python、JS、Node等多种语言。通过这个特性我们可以便捷地使用在某些框架中已经存在的库的目的,减少重复造轮子的时间。 同时我们还可以通过Oracle开发的Truffle框架实现我

Master-slave Master-slave 发布于 2019-10-29

Locale导致的DecimalFormat执行结果不一致问题

前言 调试软件bug的过程中发现通过DecimalFormat.format()方法返回的字符串无法通过new BigDecimal()解析,在产品环境和开发环境之间来来回回加打印测试最后定位到是Windows系统下的Locale变化导致的。 问题描述 DecimalFormat decimalFo

Master-slave Master-slave 发布于 2019-10-28

Spring Boot 目录格式规范

前言 在日常工作中使用Spring Boot是已经搭建好了的框架。但在自己从头开始的过程中难免会碰到一些问题,解决这些问题可以让我们更好地了解Spring Boot。 问题描述 main   com.hill +- app       |   +- Application.java

Master-slave Master-slave 发布于 2019-10-04

了解JAVA虚拟机(一)

前言 从Hello World!到现在,写了这么久的Java代码,Java虚拟机于我从来都只是静静地存在jdk的目录中的工具。我每天在它上面跑代码,调试代码,却很少去仔细研究它到底是怎么运作起来的,和它打交道也仅限于-Xms,-Xmx,在不了解这些配置的真正含义是什么的情况下很难去真正的记住这些模糊

Master-slave Master-slave 发布于 2019-09-24