易截截图软件、单文件、免安装、纯绿色、仅160KB

java性能的优化(三)

    关于线程的操作,要注意如下几个方面。
    (1) 防止过多的同步
   
如上所示,不必要的同步常常会造成程序性能的下降。因此,如果程序是单线程,则一定不要使用同步。
    (2)
同步方法而不要同步整个代码段
   对某个方法或函数进行同步比对整个代码段进行同步的性能要好。
    (3)
对每个对象使用多”锁”的机制来增大并发。
   
一般每个对象都只有一个”锁”,这就表明如果两个线程执行一个对象的两个不同的同步方法时,会发生”死锁”。即使这两个方法并不共享任何资源。为了避免这
个问题,可以对一个对象实行”多锁”的机制。如下所示:
 class foo
{
private static int var1;
private static Object lock1 = new Object();
private static int var2;
private static Object lock2 = new Object();
public static void increment1() {
synchronized (lock1) {
var1++;
}
}
public static void increment2() {
synchronized (lock2) {
var2++;
}
}

   
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)
   对于


相关文档:

java 读取并保存excel中的图片

/*
     * 保存excel中的图片(以文件形式保存,或者存入数据库)
     *
     * basePath:应用所在路径,附件存放路径:
     * 参数:is是上传的附件文件流
     */
    public void saveSheet ......

JAVA(三)


Java杂谈(六) 
        这篇是笔者打算写的J2se部分的最后一篇了,这篇结束之后,再写J2ee部分,不知道是否还合适写在这个版块?大家可以给点意见,谢谢大家对小弟这么鼓励一路写完前六篇Java杂谈的J2se部分。最后这篇打算谈一谈Java中的RMI机制和JVM沙箱安全框架。&nbs ......

Java调用系统命令学习(二)

经过上一篇的学习,应该对Java中的Runtime类的exec方法了大致的了解,也知道应该如何去使用了吧。
首先学习下:Process类。
简单地测试一下:
调用Javac命令,并查看执行命令的返回值,并输出到控制台上去。
import java.io.IOException;
class Exec_Javac{
public static void main(String []args)throws IO ......

java性能的优化(一)

 
我对问题的理解:面试中的一个问题,居然想了半天没有什么头绪,我想还是没有思考,没有积累过。其实完全可以说上一些小细节,比如用StringBuffer代替String,用HashMap代替Hashtable, 乘法操作用位移,尽量复用已有的经过检验的高效代码等等。
    下面的文章转载自别的网站,写得很专业,周到, ......

java性能的优化(二)

    三.优化JAVA程序设计和编码,提高JAVA程序性能的一些方法。
   
通过使用一些前面介绍过的辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选
择后者,因为不去调用以下代码要比调用一些优化的代码更能提 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号