程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 讓Java代碼更高效

讓Java代碼更高效

編輯:關於JAVA

讓Java代碼更高效。本站提示廣大學習愛好者:(讓Java代碼更高效)文章只能為提供參考,不一定能成為您想要的結果。以下是讓Java代碼更高效正文


本文簡略引見一下在寫代碼進程頂用到的一些讓JAVA代碼更高效的技能。

1,將一些體系資本放在池中,如數據庫銜接,線程等.在standalone的運用中,數據庫銜接池可使用一些開源的銜接池完成,如C3P0,proxool和DBCP等,在運轉在容器中的運用這可使用辦事器供給的DataSource.線程池可使用JDK自己就供給的java.util.concurrent.ExecutorService.

import java.util.concurrent.Executors; 
import java.util.concurrent.ExecutorService; 
public class JavaThreadPool { 
  public static void main(String[] args) { 
  ExecutorService pool = Executors.newFixedThreadPool(2); 
   
  Thread t1 = new MyThread(); 
  Thread t2 = new MyThread(); 
  Thread t3 = new MyThread(); 
  Thread t4 = new MyThread(); 
  Thread t5 = new MyThread(); 
 
  pool.execute(t1); 
  pool.execute(t2); 
  pool.execute(t3); 
  pool.execute(t4); 
 
  pool.shutdown(); 
  } 
} 
 
class MyThread extends Thread { 
  public void run() { 
  System.out.println(Thread.currentThread().getName() + "running...."); 
  } 
} 

2,削減收集開支,在和數據庫或許長途辦事交互的時刻,盡可能將屢次挪用歸並到一次挪用中。

3,將常常拜訪的內部資本cache到內存中,簡略的可使用static的hashmap在運用啟動的時刻加載,也能夠應用一些開源的cache框架,如OSCache和Ehcache等.和資本的同步可以斟酌按期輪詢和內部資本更新時刻自動告訴.或許在本身寫的代碼中留出接口(敕令方法或許界面方法)共手動同步。

4,優化IO操作,JAVA操作文件的時刻分InputStream and OutputStream,Reader and Writer兩類,stream的方法要快,後者重要是為了操作字符而用的,在字符僅僅是ASCII的時刻可以用stream的方法進步效力.JDK1.4以後的nio比io的效力更好。

OutputStream out = new BufferedOutputStream(new FileOutputStream(new File("d:/temp/test.txt")));       
out.write("abcde".getBytes());    
out.flush(); 
out.close(); 

應用BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter削減對磁盤的直接拜訪次數。

FileReader fr = new FileReader(f); 
BufferedReader br = new BufferedReader(fr); 
while (br.readLine() != null) count++; 

5不要頻仍的new對象,關於在全部運用中只須要存在一個實例的類應用單例形式.關於String的銜接操作,應用StringBuffer或許StringBuilder.關於utility類型的類經由過程靜態辦法來拜訪。

6,防止應用毛病的方法,如Exception可以掌握辦法推出,然則Exception要保存stacktrace消費機能,除非需要不要應用instanceof做前提斷定,盡可能應用比的前提斷定方法.應用JAVA中效力高的類,好比ArrayList比Vector機能好。

7,對機能的斟酌要在體系剖析和設計之初就要斟酌。

總之,一個體系運轉時的機能,不過是從CPU,Memory和IO這三個重要方面來斟酌優化.削減不用要的CPU消費,削減不用要的IO操作,增長Memory應用效力。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved