
性能优化
隐者自怡悦
这个作者很懒,什么都没留下…
展开
-
String对象优化
String对象的不可变性可保证其安全性,能防止对象被恶意修改,同时它可实现字符串常量池,使得在创建常量字符串时防止同一个值的字符串对象被重复创建,达到节约内存的目的。基于String对象的特性,那么在使用时可以从以下节点进行优化: (1)构建超大字符串时,显示地使用StringBuilder进行字符串拼接来达到提升系统性能的目标。如果多线程环境下,考虑字符串拼接的线程安全,那么可以使用StringBuffer,但是性能肯定会比StringBuilder要差,因为StringBuffer为保证线程安全.原创 2020-05-09 14:39:32 · 251 阅读 · 0 评论 -
多线程优化与stream使用
【多线程优化】 在并发程序中,并不是启动更多的线程就能让程序最大限度地并发执行。线程数量设置太小,会导致程序不能充分地利用系统资源;线程数量设置太大,又可能带来资源的过度竞争,导致上下文切换造成额外的系统性能开销。因此合理地设置线程数量,尽可能降低线程切换以发挥线程的最大优势,是优化多线程的一个重要思路。 总之,一般在单个逻辑比较简单,而且执行速度相对来非常快的情况下,那么可以使用单线程;而在逻辑相对来说很复杂的场景,等待时间相对较长又或者需要大量计算的场景,那么则建议使用多线程来提高多线程的...原创 2020-05-09 14:36:56 · 1060 阅读 · 0 评论 -
实践项目中的JVM调优
背景 有个项目在接入阿里云的原创 2020-05-09 14:08:52 · 813 阅读 · 0 评论 -
java编译原理-方法内联
方法调用在执行操作时要求在执行前保护现场并记忆执行的地址,执行后要恢复现场,并按原来保存的地址继续执行。 因此,方法调用会产生一定的时间和空间方面的开销。尤其对于那些方法体代码不是很大,又频繁调用的方法来说,这个时间和空间的消耗会很大。这个时候会发生方法内联的优化行为,即把目标方法的代码复制到发起调用的方法之中,避免发生真实的方法调用。 java会把那些频繁调用的方法代码,自动识别...原创 2020-05-09 09:16:46 · 332 阅读 · 0 评论 -
利用子查询优化SQL
在千万级别的数据表中以一个无索引的列作为查询条件,结果可想而知,大部分情况下肯定是非常耗时。这无疑造成的结果就是,这样的慢SQL查询,轻则只是影响使用它的接口,重则在用户请求量大的情况下占满我们的数据库资源,造成生产环境业务的不能操作。所以对于大数据量的查询,我们需要建立适合的索引来优化查询。 一般情况下,我们都会根据业务需求以及结合经验给相应的列创建合适的索引,大部分情况下都会...原创 2020-05-08 14:41:58 · 520 阅读 · 0 评论