分布式微服务体系架构第103集:高性能落地实践,Kafka,分布式锁,缓存双写 ...

打印 上一主题 下一主题

主题 1633|帖子 1633|积分 4899

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
加群接洽作者vx:xiaoda0423

  
堆栈所在:https://webvueblog.github.io/JavaPlusDoc/

  
https://1024bat.cn/

  JVM 维度调优说明

  优化项
原因
制止频繁 new HashMap()
提前预估容量,减少扩容频率
复用 SimpleDateFormat
制止创建新对象,减少 GC 压力
利用 StringBuilder
替换 += 字符串拼接,提升服从
Bean 拷贝中利用 getNullPropertyNames
防止覆盖有效字段,进步安全性
if-else 简化与空判定提前
提前返回可减少嵌套和冗余分支
  优化点说明:

  优化项
形貌
长处
ConcurrentHashMap.newKeySet() 替换 HashSet
利用线程安全的聚集处理惩罚并发场景
防止高并发下的集归并发非常,进步稳固性
final static 常量
如 KEYSPACE, PRE_TABLE_NAME, Logger
制止每次访问创建,进步访问服从,便于 JVM 编译器优化
归并 checkTableExist / checkBackupTableExist 为 checkAndCreateTable
制止重复逻辑代码
精简、易维护,进步可读性
优化字段定名:tableNa -> tableName、iData -> data
统肯定名规范
进步可读性、代码整齐度
字段 @Autowired 改为 private
遵循封装性和代码规范
减少暴露字段,进步类的封装性
日志组件 Logger 加上 final
通例发起
进步可读性和线程安全性标识
保留注释但更清晰
仅保留核心注释
代码更清爽,降低维护成本
异步写入前不记录日志
如非调试场景可省略日志
制止日志IO影响性能,可由 AOP 全局处理惩罚日志
SimpleDateFormat 每次创建
没有复用静态变量
制止线程不安全问题(局部变量线程安全)
  
  ⚙️ JVM 层面性能优化说明:

  调整点
JVM 层影响
性能收益
利用局部变量的 SimpleDateFormat
制止静态共享导致线程安全问题,减少锁竞争
线程安全、性能提升
制止频繁创建 String 拼接语句(如 tableName)
利用 final 减少 GC 压力
更少的暂时对象,GC 频率降低
ConcurrentHashMap 替换 HashSet
减少 synchronized 同步代码块
并发服从提升,锁竞争减少
精简方法体逻辑
JVM JIT 更轻易进行方法内联优化
增强运行期性能
  利用 ((Id,day), xxx, xxx, xxx) 的复合主键,有利于 Cassandra 的查询性能(分区+排序)
  利用特点总结

  [table][tr]特点
说明
[/tr][tr][td]
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表