日本高清2018字幕

日本高清2018字幕将想法与焦点和您一起共享

Java特性的优化发布者:本站     时间:2020-02-25 17:02:22

Java语言本身也有很多优化技巧可以使用,比较常用的如使用StringBuilder,优化自定义hasCode( equals() toString()方法,优先使用原始数据类型,不在循环中使用try.catch, copy 时使用System.arraycopy)命令,除了这些通用技巧外,我们再介绍- 些优化方法,分述如下。
 
(1)减少编码
 
Java的编码运行比较慢是Java的-大硬伤, 在很多场景下只要涉及字符串的操作(如输人输出操作、1O操作)都比较耗CPU资源,不管它是磁盘1O还是网络I/O,因为都需要将字符转换成字节,而这个转换必须编码。因此,减少编码就可以大大提升性能。那么如何才能减少编码呢?例如,在网页输出时可以直接进行流输出,即用resp. getOutpusStream0)写数据,把一些静态的数据提前转化成byte, 等到真正往外写的时候再直接用OutputStream(写, 就可以减少静态数据的编码转换。此外,很多存储系统直接存储成字节也是为了减少字符的编码。


 
(2)使用局部变量
 
在很多情况下,程序员为了更方便地一次处理一个请求, 一般会创建一-堆对象,再把这些对象一直传递下去,直到请求执行完成,才会销毁对象。这种操作会导致对象长时间不能回收,降低内存的使用率,所以要鼓励更多地使用局部变量。例如,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,这样速度较快;其他变量像静态变量、实例变量等,都在堆中创建速度较慢。栈中创建的变量,随着方法的运行结束,这些内容就没有了也不需要额外的垃圾回收。
 
(3)减少方法调用
 
经常看到一些代码如ob.getXXX0,它的作用只不过是获取某个变量对应的值,但是在一段代码中却需要多次调用一这种操作完 全没有必要,可以把这个方法调用的返回结果用一个局部变量保存下来,然后直接用这个局部变量就可以了,这样能减少方法调用的次数(因为每一次方法调用JVM都要创建方法栈)。其他一些经验如下。
 
●把对象作为HashMap的key;
●web.xml配置版本信息可以减少启动时annotation 的扫描时间;
●Logger创建没有使用static修饰符导致线程阻塞;
●少用Thread.getStackTraceO;
●网站建设正则运算尽量Cache。