【java】代码优化点
1.对数据库数据的计数统计,尽量在数据库查询时候就使用count()进行统计,避免返回List到项目中统计List大小
2.对于数据库中表中字段数据过长,例如存储的是text类型而不是verchar类型的,可以创建新的实体去接收mybatis的查询结果,返回部分要用到的数据即可,不用将一整条数据全部返回给项目
3.对于List的分割操作,可以避免使用subList()方法进行分割,因为subList()会创建新的List集合去接收分割结果,内存开销大。可以使用remove仅操作原List完成分割。
参考地址:【https://www.cnblogs.com/sxdcgaq8080/p/9376947.html】
4.在保证代码命名可以有效看懂的情况下,尽量减少源代码的码量,从细微的地方减少编译后class文件的大小。
5.而减少编译后class文件大小的最有效的方法,就是1》代码逻辑清晰,程序流程设计完美,是最有效减少码量的方法 2》尽量抽离重复代码,提高代码的高可用行,也是减少码量的不二法门
6.mybatis的IN查询,如果list过大,应该进行List的切割,IN查询分批次查询,避免拼接sql语句过长
7.mybatis sql查询时,尽量少使用
where 1=1
<if> and ......</if>
因为1=1写在where第一位,则数据表中如果有索引的话,那根据最左原则,表上创建的Index就失效了。
优化方案:https://www.cnblogs.com/sxdcgaq8080/p/9412167.html
8.java中使用StringBuffer进行append操作时,需要注意:
方式1:
for (String s : split) {
// public static final String LINE_FEED_CHAR = System.getProperty("line.separator");
StringBuffer content = new StringBuffer();
content.append(s + SecurityCodeBusinessOrderServiceImpl.LINE_FEED_CHAR);
}
效率要比下面这种效率高:
方式2:
content.append(s).append(SecurityCodeBusinessOrderServiceImpl.LINE_FEED_CHAR);
原因是因为:
SecurityCodeBusinessOrderServiceImpl.LINE_FEED_CHAR
是常量,所以直接进行拼接可以直接从常量池中获取到。
而方式2要append()两次,则方法栈就会压入两次,如果循环操作1000,则append()入方法栈就有2000次
9.项目上线之前,所有的System.out.println()都要替换为log4j或logger,否则轻则影响性能,重则服务挂掉
开发代码中要使用log.info代替System.out.println()。
因为system.out.print()的
1》加锁机制,导致同步输入,影响服务性能【性能对比:https://www.cnblogs.com/sxdcgaq8080/p/9646802.html】
2》输出信息的分类、格式化及永久保存
这些劣势决定!!

10.
【java】代码优化点的更多相关文章
- Android应用性能优化笔记(java代码优化)
Java代码优化 缓存结果: 如果计算代价过高,最好把过去的结果缓存起来. 伪代码如下: result=cache.get(n); //输入参数n作为键 if(result==nul ...
- (转)Java 代码优化过程的实例介绍
简介: 通过笔者经历的一个项目实例,本文介绍了 Java 代码优化的过程,总结了优化 Java 程序的一些最佳实践,分析了进行优化的方法,并解释了性能提升的原因.从多个角度分析导致性能低的原因,并逐个 ...
- JAVA记录-java代码优化策略
java代码优化策略 1.生成对象时,合理分配空间和大小:new ArrayList(100); 2.优化for循环: Vector vect = new Vector(1000); For(int ...
- Java代码优化,都有哪些常用方法?
Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积.提高代码运行效率是有巨大帮助的, ...
- Java代码优化方案 J2ME内存优化
Java代码优化方案 J2ME内存优化 从几本书上,N个网站上整理的一些JAVA代码优化方案,最近的项目只有1M内存可用,必须很抠门了~J2ME项目更要注意的 避免内存溢出 l 不用的对象释放(置空) ...
- 关于Java代码优化的44条建议!
关于Java代码优化的N条建议! 本文是作者:五月的仓颉 结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化.在修改之前,作者的说法是这样的: 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼 ...
- Java代码优化的30个小技巧
前言 我之前写过两篇关于优化相关的问题:<聊聊sql优化的15个小技巧>和<聊聊接口性能优化的11个小技巧>,发表之后,在全网受到广大网友的好评.阅读量和点赞率都很高,说明了这 ...
- Java代码优化(长期更新)
前言 2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化.在修改之前,我的说法是这样的: 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸 ...
- Java 代码优化过程的实例介绍
衡量程序的标准 衡量一个程序是否优质,可以从多个角度进行分析.其中,最常见的衡量标准是程序的时间复杂度.空间复杂度,以及代码的可读性.可扩展性.针对程序的时间复杂度和空间复杂度,想要优化程序代码,需要 ...
- Java代码优化(转)
前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用, ...
随机推荐
- 【sam复习】用sam实现后缀排序
没错,一定是无聊到一定境界的人才能干出这种事情. 这个无聊的zcysky已经不满足于用后缀平衡树求sa了,他想用sam试试. 我们回顾下sam的插入过程,如果我们从最后一个state沿着suffix ...
- C基础 万能动态数组
引言 - 动态数组切入 开发中动态类型无外乎list 或者 vector, 这里就是在C中实现vector结构容器部分. 对于C中使用的数据结构, 可以参照下面感觉很不错框架源码学习 , 感觉是< ...
- Android内存溢出解决方案总结
我的视频会议中有三个内存泄露的崆点: 1) BNLiveControlView mView = this; 未释放 (自定义view中自己引用自己造成) 2) 在自定义View中区注册了系统的网络变化 ...
- awk处理之案例五:awk匹配字段2包含字段1的文本
编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...
- inux权限管理(1)
1.linux系统文件普通权限 2.文件所属主的设置,组的指定 3.特殊权限 4.acl权限 5.su命令及其注意事项和sudo权限 6.权限管理的注意点 0.首先,在linux下用户账户是分角色的, ...
- Rotate Image——数学相关
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...
- 使用JAXB读写xml
1.注解 在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示 @XmlRootElement 作用:将一个Java类映射为一段XML的根节点参数: name 定义这个根节点 ...
- JDK1.8源码泛读之Arrays
jdk1.8包含的常用集合工具类,一般包括两个: 数组工具类:`java.util.Arrays ` 结合工具类:`java.util.Collections` 今天就结合源码对`java.util. ...
- cordova热更新插件的使用
cordova常用命令 一.添加插件 新建Cordova项目 cordova create CordovaHotCode com.ezample.hotcode 添加Android平台 在新建项目的 ...
- hihoCoder #1871 : Heshen's Account Book-字符串暴力模拟 自闭(getline()函数) (ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction B) 2018 ICPC 北京区域赛现场赛B
P2 : Heshen's Account Book Time Limit:1000ms Case Time Limit:1000ms Memory Limit:512MB Description H ...