如何优化JAVA程序设计和编码,提高JAVA性能 - 编程入门网
的性能要好。
(3) 对每个对象使用多”锁”的机制来增大并发。 一般每个对象都只有一个”锁”,这就表明如果两个线程执行一个对象的两个不同的同步方法时,会发生”死锁”。即使这两个方法并不共享任何资源。为了避免这个问题,可以对一个对象实行”多锁”的机制。如下所示:
4.输入和输出(I/O) 输入和输出包括很多方面,但涉及最多的是对硬盘,网络或数据库的读写操作。对于读写操作,又分为有缓存和没有缓存的;对于数据库的操作,又可以有多种类型的JDBC驱动器可以选择。但无论怎样,都会给程序的性能带来影响。因此,需要注意如下几点: (1) 使用输入输出缓冲 尽可能的多使用缓存。但如果要经常对缓存进行刷新(flush),则建议不要使用缓存。 (2) 输出流(Output Stream)和Unicode字符串 当时用Output Stream和Unicode字符串时,Write类的开销比较大。因为它要实现Unicode到字节(byte)的转换.因此,如果可能的话,在使用Write类之前就实现转换或用OutputStream类代替Writer类来使用。 (3) 当需序列化时使用transient 当序列化一个类或对象时,对于那些原子类型(atomic)或可以重建的原素要表识为transient类型。这样就不用每一次都进行序列化。如果这些序列化的对象要在网络上传输,这一小小的改变对性能会有很大的提高。 (4) 使用高速缓存(Cache) 对于那些经常要使用而又不大变化的对象或数据,可以把它存储在高速缓存中。这样就可以提高访问的速度。这一点对于从数据库中返回的结果集尤其重要。 (5) 使用速度快的JDBC驱动器(Driver) JAVA对访问数据库提供了四种方法。这其中有两种是JDBC驱动器。一种是用JAVA外包的本地驱动器;另一种是完全的JAVA驱动器。具体要使用哪一种得根据JAVA布署的环境和应用程序本身来定。 5.一些其他的经验和技巧 (1) 使用局部变量。 (2) 避免在同一个类中动过调用函数或方法(get或set)来设置或调用变量。 (3) 避免在循环中生成同一个变量或调用同一个函数(参数变量也一样)。 (4) 尽可能的使用static,final,private等关键字。 (5) 当复制大量数据时,使用System.arraycopy()命令。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |