若能解决这个问题,我就找Sun要钱了;
还要"高分"干什么。
如果是某个具体的java程序速度问题,倒是有可能的。

解决方案 »

  1.   

    若能解决这个问题,我就找Sun要钱了;
    还要"高分"干什么。
    如果是某个具体的java程序速度问题,倒是有可能的。
      

  2.   

    买高档配置的机器!一定可以显著提高java的速度
      

  3.   

    JDK1.4 ,试一下吧,速度有点提高。
      

  4.   

    supersonics(落叶狂风):
    "如果是某个具体的java程序速度问题,倒是有可能的。 "
    要的就是这个,怎么做?比如在Canvas上左击鼠标出现一个圆,连续左击结果出现的好慢,怎么办?
    谢谢!
      

  5.   

    老实说,我对java的桌面程序所知极少(可以说一窍不通)。
    这里有诸多高手,比如luodi。问问他们吧。
    实在不好意思,浪费了你的时间。
      

  6.   

    这是javaone大会上,专家在研究的问题。我们接触不到底层的设计核心,况且资料也很少,
    所以。
      

  7.   

    supersonics(落叶狂风):
    呵,谦虚呀!
    我也只想大家来共同探讨,不知者无罪,知者不吝啬!
    (声明:我是一个大大的JAVA菜鸟,以前会点ASP)
      

  8.   

    在网上,我没有必要谦虚。
    确实,我认为luodi是个高手(从luodi的回答问题的内容可以看出来)。
    另外,说luodi是高手,不等于说java方面luodi什么都会(“不要骄傲,知道吗?”--这句话是谁说的,知道吗?),只是luodi知道的可能性大一些。
    共同进步吧...
      

  9.   

    btw:括号中带引号的话是开玩笑的,望不介意。
      

  10.   

    做扫毒引擎的时候,我们自己做objectPool,以避免频繁的垃圾收集。确实有助于提高效率,但是我不喜欢这样做,我觉得违背了java的初衷。
    你提的问题我还是不明白:这个圆是怎么画出来的,什么时候画?一单击鼠标就画?有没有动画?你把程序贴出来,我帮你改进performance
      

  11.   

    vive():谢谢!import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class five extends Applet
    {cCanvas c=new cCanvas();public void init()
    {setLayout(new BorderLayout());
     c.setBackground(Color.white);
     c.setSize(500,500);
     c.setVisible(true);
     add("Center",c);
     c.addMouseListener(new mouselistener());
     c.addMouseMotionListener(new kolistener());
     }class cCanvas extends Canvas
      {int x,y;                                                                   
       boolean mc;
       boolean Sign=true;
       public void paint(Graphics g)
       {if(Sign=true)
         for(int i=30;i<=420;i+=30)
          for(int j=30;j<=420;j+=30)
           g.drawRect(i,j,30,30);
        if(mc==true)
           {g.setColor(Color.lightGray);
            g.fillOval(x,y,28,28);
           }
        }
        public void xiaqi(int a,int b)
        {x=a-15;
         y=b-15;
         repaint();
         }
      }
     class mouselistener implements MouseListener
    {int x1[]=new int[225];
     int y1[]=new int[225];
     int i=0;
     public void mouseClicked(MouseEvent e)
      {x1[i]=e.getX();
       y1[i]=e.getY();
       boolean xx,yy;
       xx=(x1[i]%30<=2)||(x1[i]%30<=2);
       xx=xx&&(x1[i]>=13)&&(x1[i]<=437);
       yy=(y1[i]%30<=2)||(y1[i]%30<=2);
       yy=yy&&(y1[i]>=13)&&(y1[i]<=437);   if(xx&&yy)
         {c.mc=true;
          c.Sign=false;
          c.xiaqi(x1[i],y1[i]);
          i=i+1;
         }
       }public void mousePressed(MouseEvent e)
    {  
            
      }
    public void mouseEntered(MouseEvent e)
    {}
    public void mouseExited(MouseEvent e)
    {}
    public void mouseReleased(MouseEvent e)
    {}
    }
    class kolistener implements MouseMotionListener
    {
    public void mouseMoved(MouseEvent e)
    { }
    public void mouseDragged(MouseEvent e)
    {}
    }}
     
      

  12.   

    如果你的JAVA程序不要跨平台的话,可以用JNI方法。
    而许多JAVA 开发工具都用的是JIT编译器
      

  13.   

    我跑起来不慢啊?也许我机器太好了吧?PIII900,256M
    你是下围棋的程序吧?说实话,你的思路看起来很不清晰,我还要理一理。
    你if(Sign=true)这一句错了,应该是if(Sign==true)。就是这一句使得每次paint()都要画那么多格子。
    你不要到处用屏幕坐标,写程序随时都应该以数学模型为基础,在这里就是说以棋盘坐标为基础,处理起来坐标范围是0..19.只有到显示的时候才去考虑屏幕坐标。
    performance太差的时候经常是程序写错了。我有过这样的事情的,做lzh的压缩算法,半个小时压一兆,原来还以为java就是这样的速度呢,后来发现原来是有bug,不算到出错就死循环,直到出错才跳出来,而等他出错要等半个小时,哈哈。后来改了一下,立马快了几十倍
      

  14.   

    java的速度还是很快的,多检查自己的程序
      

  15.   

    vive():
    呵,多谢!
    我的机器是PII255,128M,WIN2000
    算法问题,我确实很笨的,听君一席话,胜读几年书.(发自内心的,以前不知道数据结构是干什么用的,这下才明白了)