Java
摘要: 在一個系統中通常有多個權限的用戶。不同權限用戶的可以瀏覽不同的頁面。使用Filter進行判斷不僅省下了代碼量,而且如果要更改的話只需要在Filter文件里動下就可以。
閱讀全文
摘要: 這里是一個log4j.properties的通用配置,記錄下來以待以后使用!
閱讀全文
摘要: Java中綁定有兩種形式靜態綁定static-binding(早綁定early-binding)和動態綁定dynamic-binding(晚綁定late-binding,或運行時綁定runtime-binding)
靜態綁定是在編譯時綁定,而動態綁定是在運行時根據對象的實際情況來選擇綁定父類或者是某個子類的方法。在執行效率上,靜態綁定要優于動態綁定,但喪失了靈活性。
Java中變量是動態綁定的,實例方法是動態綁定的。在進行“向上轉型”的時候子類會覆蓋父類的實例方法而不會覆蓋父類的變量。
閱讀全文
摘要: 在學習Java基礎的時候對Java初始化也就草草了事,后來還在初始化問題上載過跟頭。現在好了傷疤沒有忘了疼,好好的琢磨了下Java初始化問題,還是滿復雜的,粗略的掌握了Java初始化的知識。
我的看法是,初始化雖然是賊拉基礎的內容。為了避免以后在小問題上吃大虧還是好好的研究為妙。
閱讀全文
摘要: 昨天看到BlueIce的一個post,詭秘的Java構造問題。里面有一句話:“關于構造函數的作用以及類的構造問題,而這是初學者經常會犯甚至是有經驗的程序員偶爾也會犯的錯誤”。里面所提到問題的可以歸結為對象初始化問題。
我想避免此類問題出現的最佳方法是將對象的構造和初始化過程進行總結、概念化。這樣,即使出現問題也可以按照這個規律一步一步的找到問題的所在。
閱讀全文
摘要: 學習Java有一段時間了。一直忙著“上層建筑”,卻忘了好好打好“地基”。雖然我想盡力的向上建,但是我明顯感覺到這幢小樓岌岌可危了。沒辦法,現在打地基中。
以下是為了理解多維數組而編的一段代碼,明白了大概。我想Java中的多維數組應該是“行優先排序”的。從這段代碼里可以直觀的了解下多維數組的結構。
順便請大家指點下,多謝。
閱讀全文
摘要: java中的this關鍵字的用法。
this的作用是在方法內部獲得對當前對象的引用。
1.用于返回類對象本身。
2.在構造方法內調用其他構造方法。
3.在方法內部調用類對象中的其他方法。
4.標識類成員變量。
閱讀全文
摘要: 在學習struts的時候就一直知道ActionForm變量首字母要小寫。雖然知道,但是我還是習慣大寫,一直沒有出現問題。
最近在做一個練習項目的時候,ActionForm變量首字母依然是大寫。而且兩個jsp頁面共享一個ActionForm。在第一次向ActionForm填充數據的時候沒有出現任何問題,運行結果和期待結果相同。接著進入第二個jsp頁面,再次填充ActionForm的時候,沒有拋出異常,然而未取得期待結果。
在檢查的時候在Action中輸出從ActionForm取得的表單數據,結果全部為null。在多方求助無果的情況下,把ActionForm的變量全部改為小寫,再修改相關的內容,沒有問題了。
這個問題,如果有好的編碼習慣的話,這個問題就永遠不會出現。不過我想這個可能真的可以算是struts的瑕疵了(下面還有一個)。
閱讀全文
摘要: 重寫Override是父類與子類之間多態性的一種表現,重載Overload是一個類中多態性的一種表現。
在Java語言規范里,一個方法的特征僅包括方法的名字、參數的數目和種類,而不包括返回類型、參數的名字以及拋出的異常。Java編譯器檢查方法的重載Overload時會根據這些條件判斷兩個方法是否重載了。
但是Java編譯器在檢查方法的重寫時,則會進一步的檢查兩個方法的返回類型和拋出的異常是否相同。
閱讀全文
摘要: 在使用JDBC連接數據庫的時,我們會采用executeQuery(String sql)獲得一個結果集。當數據庫結構變化或者獲得其他數據庫表結果集的時候我們需要將ResultSet結果集根據不同的數據結構重新遍歷。
如何才能建立一個與數據庫結構無關的JDBC連接呢?我們可以通過使用ResultSetMetaData()方法獲得表結構。然后使用Object[]數組遍歷結果集。當我們要取得相應的結果時,我們可以使用Iterator迭代器。只要遍歷迭代器就可以取出結果。
閱讀全文
摘要: 在編寫Java程序的時候為了讓Java具有更好的可擴展性,我們需要將一些常用的、需要的根據實際情況改變的屬性存在文本文件中。JDK5提供了屬性持久化支持。
java.util.Properties中提供了對普通文本和xml文件屬性的讀取方法。在利用Java對屬性文件進行讀取和更新前我們需要先將文件加入輸入輸出流中。
1.屬性讀取:讀取普通文本可以使用load(InputStream in)、loadFromXML(InputStream in)方法將輸入流內容讀入屬性列表。然后,通過getProperty(String key)按照指定的鍵在此屬性列表中搜索屬性。
2. 屬性更新:更新屬性列表setProperty(String key,String value),store(OutputStream out,String comments)和storeToXML(OutputStream out,String comments)可以將屬性列表寫入輸出流中。
Properties繼承自Hashtable,Properties類的出現簡化了對屬性持久化的操
閱讀全文