代码改变世界

随笔分类 -  JavaTunning

【p6spy】程序员开发利器P6spy——打印执行sql语句,mybatis、ibatis、Hibernate均可使用

2024-07-04 13:46 by halberts, 1472 阅读, 收藏, 编辑
摘要: 一、前言 在开发的过程中,总希望方法执行完了可以看到完整是sql语句,从而判断执行的是否正确,所以就希望有一个可以打印sql语句的插件。p6spy就是一款针对数据库访问操作的动态监控框架,他可以和数据库无缝截取和操纵,而不必对现有应该用程序的代码做任何修改。 通过p6spy可以直接打印数据库执行的语 阅读全文

Arthas - Java 线上问题定位处理的终极利器

2020-05-14 22:37 by halberts, 398 阅读, 收藏, 编辑
摘要: Arthas logo前言在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都 阅读全文

常见性能优化策略的总结

2019-11-23 20:09 by halberts, 419 阅读, 收藏, 编辑
摘要: 本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果: 1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。 2. 有助于开 阅读全文

JVM参数-Java参数设置-JVM options Parameters-Java8参数-JDK8参数

2019-11-23 15:52 by halberts, 16220 阅读, 收藏, 编辑
摘要: JVM参数设置 1.JVM启动基本参数-内存配置为主 参数名称 含义 默认值 描述 -Xms 初始堆大小 内存的1/64 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. -Xmx 最大堆大小 内存的1/4 默认(MaxHeapFr 阅读全文

For-each Loop,Index++ Loop , Iterator 那个效率更高

2017-11-30 17:50 by halberts, 1242 阅读, 收藏, 编辑
摘要: 平时在写Java/C# 程序的时候,会写很多的Loop 语句,for() 及 Iterator loop 及Java 8 的foreach Loop, 这些Loop 那种效率最高呢?写个小程序测试一下。 Java8 1.经常使用的 for(int index=0;index<size;index++ 阅读全文

10种简单的Java性能优化

2017-11-30 11:49 by halberts, 339 阅读, 收藏, 编辑
摘要: 你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。 最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何 阅读全文

11个简单实用技巧--Java性能调优

2017-11-30 11:41 by halberts, 558 阅读, 收藏, 编辑
摘要: 多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和最佳实践能够帮你创建一个性能良好的应用程序。 这些建议中的大多数都是基 阅读全文

JDK8新垃圾回收机制--G1垃圾回收机制

2017-11-09 17:23 by halberts, 33558 阅读, 收藏, 编辑
摘要: G1全称是Garbage First Garbage Collector,使用G1的目的是简化性能优化的复杂性。例如,G1的主要输入参数是初始化和最大Java堆大小、最大GC中断时间。 G1 GC由Young Generation和Old Generation组成。G1将Java堆空间分割成了若干个 阅读全文

Jackson 触发的String.intern() bug, 导致内存持续增加,JVM-Java内存泄漏

2017-09-04 15:33 by halberts, 3966 阅读, 收藏, 编辑
摘要: 我在本地用Jackson可以复现这个问题了。 这是我复现的代码,我每次产生一个随机的integer作为map的key,然后用objectMapper反序列化。然后我运行我的另外一个PrintStringTable的类,可以看到每次产生的Integer都会进入Constant Pool中如果我把构造O 阅读全文
点击右上角即可分享
微信分享提示