JavaWEB開發一些小的思想與功能小記

2021-09-07 15:35:59 字數 2453 閱讀 1922

1.用if+return代替複雜的if...else(if+return)

public static void

test1(string str)

if ("2".equals(str))

if ("3".equals(str))

system.out.println("你輸入的不是123`````````");

//...這裡可以寫不滿足上述條件的處理

}

2.儘量減少對變數的重複計算(for迴圈的用法)

明確乙個概念,對方法的呼叫,即使方法中只有一句語句,也是有消耗的,包括建立棧幀、呼叫方法時保護現場、呼叫方法完畢時恢復現場等。所以例如下面的操作:

for (int i = 0; i < list.size(); i++)

建議替換為:

for (int i = 0, int length = list.size(); i < length; i++)

這樣,在list.size()很大的時候,就減少了很多的消耗

補充:用第一種方法時進行非空驗證:

for (int i = 0; list!=null && i < list.size(); i++)

3.迴圈內不要不斷建立物件引用

例如:

for (int i = 1; i <= count; i++)

這種做法會導致記憶體中有count份object物件引用存在,count很大的話,就耗費記憶體了,建議為改為:

object obj = null

;for (int i = 0; i <= count; i++)

這樣的話,記憶體中只有乙份object物件引用,每次new object()的時候,object物件引用指向不同的object罷了,但是記憶體中只有乙份,這樣就大大節省了記憶體空間了。

4、盡量使用hashmap、arraylist、stringbuilder,除非執行緒安全需要,否則不推薦使用hashtable、vector、stringbuffer,後三者由於使用同步機制而導致了效能開銷

5.字串變數和字串常量equals的時候將字串常量寫在前面

string str = "123";

if (str!=null && "123".equals(str))

這麼做主要是可以避免空指標異常

6.任何資料在使用之前進行非空判斷(包括物件,list)

listemployeeinexams =exam.getemployeeinexams();

list

employeeoutexams =exam.getemployeeoutexams();

boolean insertemployeeresult = false

;

intin_size, out_size;

in_size = employeeinexams != null ? employeeinexams.size() : 0;

out_size = employeeoutexams != null ? employeeoutexams.size() : 0;

integer employeenum = in_size + out_size;

7.if...else...語句用條件運算子

result = examservice.deleteexambyid(examid) ? "刪除成功!" : "刪除失敗!";

8.善於使用commons-io包和commons-lang包中的工具類

io包中filenameutils和ioutils和fileutils的使用

lang包中  stringutils和numberutils的使用等。

9.執行緒休眠的另一種方法

try

catch

(interruptedexception e)

10. 對一些properties配置檔案,我們可以在svn或者git放乙個其樣本檔案,具體的檔案不新增到版本管理,這樣不會造成開發小組的衝突。

比如:db.properties檔案,我們建立乙個db.sample.properties(類似於模板)檔案並傳到git,db.properties檔案不新增索引即可。

關於JavaWeb的一些小結

0.servletconfig是每個servlet的配置資訊,可以獲取到初始引數,每個的都不同,僅僅的獲取 初始引數在web.xml裡面的,每個servlet的子項 logout logout lne.logout name lne1.而servletcontext是同web檔案下所有servlet...

java web中一些小細節(持續中)

resultset是您訪問資料庫返回的資料表,也就是結果集合,一開始是處於第一行之前,即beforefirst,第一次使用next 就將指標指向返回結果集的第一行。乙個stmt多個rs進行操作引起的resultset已經關閉錯誤 乙個stmt多個rs進行操作.那麼從stmt得到的rs1,必須馬上操作...

遊戲開發的一些小結

很久沒寫些什麼了,一起聊下遊戲吧,雖然經驗不多,當作一次小小的總結吧。首先總結一下遊戲的結構。拋開遊戲框架 設計思路 遊戲策劃,大部分包含等角地圖遊戲都需要以下幾部分 時間管理 使用者管理 彈窗管理 地圖世界 任務管理 靜態資源管理 語言管理 資料管理 物件管理。這些組成部分有可能包含乙個到多個類,...