网站解除域名绑定,大淘客网站如何建设,懂得做网站还可以做什么兼职,解决问题的网站尽量指定类、方法的final修饰符Java编译器会寻找机会内联所有的final方法#xff0c;内联对于提升Java运行效率作用重大#xff0c;具体参见Java运行期优化。此举大概能够使性能平均提高50%。尽量重用对象特别是String对象的使用#xff0c;出现字符串连接时应该使用StringB…尽量指定类、方法的final修饰符Java编译器会寻找机会内联所有的final方法内联对于提升Java运行效率作用重大具体参见Java运行期优化。此举大概能够使性能平均提高50%。尽量重用对象特别是String对象的使用出现字符串连接时应该使用StringBuilder/StringBuffer代替。尽可能使用局部变量及时关闭流进行数据库连接、I/O流操作在使用完毕后及时关闭以释放资源。尽量减少对变量的重复计算明确一个概念对方法的调用即使方法中只有一句语句也是有消耗的包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。尽量采用懒加载的策略即在需要的时候才创建慎用异常异常对性能不利。抛出异常首先要创建一个新的对象Throwable接口的构造函数调用名为fillInStackTrace()的本地同步方法fillInStackTrace()方法检查堆栈收集调用跟踪信息。只要有异常被抛出Java虚拟机就必须调整调用堆栈因为在处理过程中创建了一个新的对象。异常只能用于错误处理不应该用来控制程序流程。不要在循环中使用try…catch…应该把其放在最外层如果能估计到待添加的内容长度为底层以数组方式实现的集合、工具类指定初始长度当复制大量数据时使用System.arraycopy()命令乘法和除法使用移位操作移位操作虽然快但是可能会使代码不太好理解因此最好加上相应的注释。循环内不要不断创建对象引用基于效率和类型检查的考虑应该尽可能使用array无法确定数组大小时才使用ArrayList尽量使用HashMap、ArrayList、StringBuilder除非线程安全需要否则不推荐使用Hashtable、Vector、StringBuffer后三者由于使用同步机制而导致了性能开销不要将数组声明为public static final尽量在合适的场合使用单例使用单例可以减轻加载的负担、缩短加载的时间、提高加载的效率但并不是所有地方都适用于单例简单来说单例主要适用于以下三个方面(1)控制资源的使用通过线程同步来控制资源的并发访问(2)控制实例的产生以达到节约资源的目的(3)控制数据的共享在不建立直接关联的条件下让多个不相关的进程或线程之间实现通信尽量避免随意使用静态变量要知道当某个对象被定义为static的变量所引用那么gc通常是不会回收这个对象所占有的堆内存的及时清除不再需要的会话实现RandomAccess接口的集合比如ArrayList应当使用最普通的for循环而不是foreach循环来遍历使用同步代码块替代同步方法将常量声明为static final并以大写命名这样在编译期间就可以把这些内容放入常量池中避免运行期间计算生成常量的值。另外将常量的名字以大写命名也可以方便区分出常量与变量不要创建一些不使用的对象不要导入一些不使用的类程序运行过程中避免使用反射反射是Java提供给用户一个很强大的功能功能强大往往意味着效率不高。不建议在程序运行过程中使用尤其是频繁使用反射机制使用数据库连接池和线程池使用带缓冲的输入输出流进行IO操作这可以极大地提升IO效率顺序插入和随机访问比较多的场景使用ArrayList元素删除和中间插入比较多的场景使用LinkedList不要让public方法中有太多的形参public方法即对外提供的方法如果给这些方法太多形参的话主要有两点坏处1、违反了面向对象的编程思想Java讲求一切都是对象太多的形参和面向对象的编程思想并不契合2、参数太多势必导致方法调用的出错概率增加字符串变量和字符串常量equals的时候将字符串常量写在前面可以避免空指针异常请知道在java中if (i 1)和if (1 i)是没有区别的但从阅读习惯上讲建议使用前者不要对数组使用toString()方法不要对超出范围的基本数据类型做向下强制转型公用的集合类中不使用的数据一定要及时remove掉把一个基本数据类型转为字符串基本数据类型.toString()是最快的方式、String.valueOf(数据)次之、数据””最慢使用最有效率的方式去遍历Map对资源的close()建议分开操作