你所不知道的代码优化!让你的代码更优雅!

时间:2023-02-13 16:57:03

你所不知道的代码优化!让你的代码更优雅!

·禁止使用system.out.println打印,使用logger.debug调试语句

·使用stringBuilder连接字符串

·使用预编译sql

·io流及时关闭

·不要在循环中使用try. ..catch...,应该把其放在最外层

·当复制大量数据时,使用System.arraycopy()命令

·尽量采用懒加载的策略,即在需要的时候才创建

·使用带缓冲的输入输出流进行io操作

·循环内不要不断创建对象引用

·对资源的close()建议分开操作

·把一个基本数据类型转为字符串,基本数据类型.tostring()是最快的方式、String.valueof(数据)次之、数据+""最慢

·不要让public方法中有太多的形参

·使用数据库连接池和线程池

·字符串变量和字符串常量equals的时候将字符串常量写在前面

·尽量重用对象

·尽可能使用局部变量

·尽量减少对变量的重复计算

·尽量避免随意使用静态变量

·使用同步代码块替代同步方法

·将常量声明为static final,并以大写命名

·不要创建—些不使用的对象,不要导入—些不使用的类

·程序运行过程中避免使用反射

·使用最有效率的方式去遍历Map

·对于ThreadLocal使用前或者使用后—定要先remove

·切记以常量定义的方式替代魔鬼数字,魔鬼数字的存在将极大地降低代码可读性,字符串常量是否使用常量定义可以视情况而定

·long或者Long初始赋值时,使用大写的L而不是小写的l,因为字母极易与数字1混淆,这个点非常细节,值得注意

·所有重写的方法必须保留@override注解

·推荐使用JDK7中新引入的objects工具类来进行对象的equals比较,直接a.equals(b),有空指针异常的风险

·循环体内不要使用"+"进行字符串拼接,而直接使用stringBuilder不断append

·不捕获Java类库中定义的继承自RuntimeException的运行时异常类

·避免Random实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同—seed导致的性能下降,JDK7之后,可以使用ThreadLocalRandom来获取随机数

·静态类、单例类、工厂类将它们的构造函数置为private