海力源码logo图片
400电话图片
热门关键词:  响应式网站    设计网站    营销型网站   
源码资讯
当前位置:首页 > 源码资讯 > Java特性的优化

Java特性的优化

资讯来源:海力源码    点击次数:294    更新时间:2022-6-12 13:23:50
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。
  • 海力源码手机版
  •  联系客服小美