性能
文章平均质量分 84
skyline_wx
这个作者很懒,什么都没留下…
展开
-
PreparedStatement批量插入/更新数据优化——setObject与set具体类型的效率差异
使用做数据更新时,尽可能不要使用setObject方法,数据库中字段是什么类型,就set什么。还是不要太省事儿了。-_-||原创 2022-10-08 23:38:48 · 1399 阅读 · 1 评论 -
原型模式与深拷贝浅拷贝
原型模式与深拷贝浅拷贝原型模式Java中的原型模式简单的例子浅拷贝深拷贝效率比较原型模式用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。使用这种方式创建对象非常高效,根本无需知道对象创建的细节。这让我想到了docker的镜像Java中的原型模式Java自带了原型模式clone()方法,但是使用clone()方法有两个条件重写父类(Object类)的clone方法,将clone设置为public的实现标记性接口Cloneable简单的例子publi原创 2022-03-24 22:44:57 · 510 阅读 · 0 评论 -
Java性能优化心得
性能优化心得傻瓜式优化傻瓜一式傻瓜二式深入优化分享一下最近做的一次性能调优这是篇总纲性的性能优化心得,并不涉及具体的技术手段傻瓜式优化我把程序优化的初级阶段称为傻瓜式优化。傻瓜式的好处在于简单、明了、见效快。缺点就是这样的优化存在优化瓶颈,可能无法达到我们预期的性能指标。在程序性能调优过程中最常见的就是这种傻瓜式的优化。傻瓜一式当项目上出现性能问题,如果是针对特定操作的性能问题,那可以通过jstack pid来看线程dump,从线程dump中大概率可以看到比较明显的问题。然后我们进行针对性的调原创 2022-02-17 11:52:07 · 356 阅读 · 0 评论 -
在gradle工程使用jmh并集成SpringBoot
在gradle工程使用jmh测试spring什么是JMH我们为什么需要JMHgradle依赖String效率基本参数概念@BenchmarkMode@State@OutputTimeunit@Warmup@Measurement@Fork@Thread@Param实战一、Random与ThreadLocalRandom二、写热点三、同步队列性能测试+SpringBoot集成参考链接什么是JMHJMH,Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件。jmh官网原创 2021-12-29 14:38:42 · 661 阅读 · 4 评论 -
ReentrantReadWriteLock使用场景思考及验证
ReentrantReadWriteLock使用场景思考CachedDataRWDictionary思考和验证最近一直在琢磨ReentrantReadWriteLock的使用场景是什么,后来突然就想明白了,其实就是读读并发、读写互斥、写写互斥而已。如果一个对象并发读的场景大于并发写的场景,那就可以使用ReentrantReadWriteLock来达到保证线程安全的前提下提高并发效率。首先,我们先了解一下Doug Lea为我们准备的两个demo。CachedData一个缓存对象的使用案例,缓存对象在使用原创 2021-11-21 21:34:07 · 2541 阅读 · 16 评论 -
gradle工程使用jmh做压力测试
BenchmarkBenchmarkgradle依赖实战一,各种不同单例模式的效率实战二,字符串拼接的效率Benchmark很多时候实现一个需求有很多种方式,可以写if then,可以写switch,甚至可以使用枚举。那么,哪个在效率上更优呢?为了探究一个方法的效率,我们一般会在方法开始的时候记录一个当前时间,然后在方法返回时再记录一个时间,最后计算一下两个时间的时间差,就得到一个方法执行的具体时长。但是,问题来了,这样的方式计算得到的结果不一定能体现普遍性。这时就需要引入我们的Benchmark了。原创 2021-11-07 18:47:38 · 573 阅读 · 0 评论 -
通过setFetchSize解决jdbc查询性能问题
记通过setFetchSize解决性能问题的方式题问题回顾原理探究问题回顾问题是这样的,这两天有个项目一直在实施阶段,然后项目上就反馈说,啊,你们东西怎么这么慢啊,这才刚开始啊…然后我就开始了排查:通过logger记录的日志的各个阶段的耗时来看,目前性能瓶颈主要体现在JdbcTemplate.query上了常规手段,先确认物理表中的数据量+查询语句+查询数据量+索引确认了一圈,物理表里一共1.4W条记录,本次查询8200多条记录,一共耗时2.5秒左右这就很离谱了,因为我们是内网环境重现问题,网原创 2021-08-24 17:42:22 · 2495 阅读 · 1 评论