又是兩天沒寫了,總結一下這週的生活吧。
8月2日,在俱樂部包宿,做了件很有意義的事
8月3日,上午還奮戰在一線,中午回寢後開始睡覺,直到18:30才醒,算是把覺給補回來了。
8月4日,正常開發,不過感覺似乎沒做什麼實質性的東西出來,為了做分頁,新增了displaytag,用起來倒是十分方便,只是當壓力測試(通俗地說就是在資料庫裡存上萬條記錄,讓它分頁)的時候,它的弊端就很明顯的露出來了,乙個字慢,兩個字死慢,根本提不出資料。原因在於它是一次先將所有的查詢結果取出,之後儲存在記憶體中,分頁顯示。試想上萬條記錄,怎會不死。看著cpu佔用率和記憶體都狂飆,馬上決定不用它,自己編。
8月5日,早上來得早,手中拿著鑰匙,卻被鎖在了俱樂部的大門外。近兩天接連領教了這道「鐵門」的利害。但是,對門的實驗室一位師兄卻比較輕鬆的在1分鐘之內搞定了那道門,我真懷疑我手上的鑰匙有問題。
進了門,恢復了sl的版本,將displaytag徹底驅逐,用了一上午加一中午的時間實現了分頁,速度可以讓displaytag羞死(不過話說回來,人家除了這一點還是非常好用的)。
新建了乙個類pagination使用者獲取乙個頁面顯示的list結果,需要當前頁碼、最大頁數、資料總量(這個是用另外的query獲得的)、每頁顯示數量和乙個具體的query物件。先檢查各變數的合法性,計算取得第一條記錄的索引數,然後對query物件呼叫setfirstresult()和setmaxresults()方法,設定好起始數和最大獲取數。在這之前不要進行query.list()的操作,這個是速度的關鍵,因為在設定最大獲取數之前,會取出所有的記錄,和displaytag的效果會是一樣的。這樣,pagination就算是寫完了,他將返回query的得到的list物件,只是一頁的內容。
之後需要在action層呼叫它的static方法,取得list。然後就簡單了。
缺點:對**的侵入比較大,需要修改幾乎每一層的**,雖然改動都不算很大,但是還是很麻煩,以後修改和維護都會造成問題。還須進一步改進。
8月5日總結
今天做了兩個題,上午下午各做了一道,做完題之後開始看書,其中乙個題是關於四色定理的題,我感覺這個題很不錯,通過做一道題來學習乙個新的知識點,那麼這道題做的就非常有價值,看書看的是關於弗洛伊德的題和dijkstra演算法。1.四色問題 四色定理就是無論多麼錯雜的地圖,只須要用四種色彩就能將它區分隔來,...
8月5日總結
又是兩天沒寫了,總結一下這週的生活吧。8月2日,在俱樂部包宿,做了件很有意義的事 8月3日,上午還奮戰在一線,中午回寢後開始睡覺,直到18 30才醒,算是把覺給補回來了。8月4日,正常開發,不過感覺似乎沒做什麼實質性的東西出來,為了做分頁,新增了displaytag,用起來倒是十分方便,只是當壓力測...
8月4日總結
從今天早上開始做數獨的題,一直做到下午五點,剛開始看到這個題的時候感覺沒有地方下手,一點頭緒也沒有,因為每行每列每個宮格都不可以有重複的陣列,而且必須有1 9這九個數,剛開始一看題就感覺這個題的要求太多了。數獨問題 題目大意 9 9的方格使得每行中每列和每個標記的3x3子方格中不能有重複的數字並且有...