原创 Java編程思想 類型信息總結

運行時類型信息使得你可以在程序運行時發現和使用類型信息 爲什麼需要RTTI 在這個例子中 當把Shape對象放入List的數組時會向上轉型 但在向上轉型爲Shape的時候也丟失了Shape對象的具體類型 對於數組而言 它們只是

原创 Java編程思想 Java I/O系統總結

File類 目錄列表器 假設我們想查看一個目錄列表 可以用兩種方法來使用File對象 如果我們調用不帶參數的list()方法 便可以獲得此File對象包含的全部列表 然而 如果我們想獲得一個受限列表 例如 想得到所有擴展名爲.ja

原创 Java編程思想 泛型總結

一般的類和方法 只能使用具體的類型 要麼是基本類型 要麼是自定義的類 如果要編寫可以應用於多種類型的代碼 這種刻板的限制對代碼的束縛就會很大 與C++的比較 Java中的泛型就需要與C++進行一番比較 理由有二 首先 瞭解C++模

原创 Java併發編程實戰 圖形用戶界面應用程序總結

爲什麼GUI是單線程的 許多人曾經嘗試過編寫多線程的GUI框架 但最終都由於競態條件和死鎖導致的穩定性問題而又重新回到單線程的事件隊列模型:採用一個專門的線程從隊列中抽取事件 並將它們轉發到應用程序定義的事件處理器(AWT最初嘗試

原创 Java併發編程實戰 對象的共享總結

可見性 在沒有同步的情況下共享變量(不要這麼做) public class NoVisibility { private static boolean ready; private static int numbe

原创 Java併發編程實戰 原子變量與非阻塞同步機制總結

鎖的劣勢 現代的許多JVM都對非競爭鎖獲取和鎖釋放等操作進行了極大的優化 但如果有多個線程同時請求鎖 那麼JVM就需要藉助操作系統的功能 如果出現了這種情況 那麼一些線程將被掛起並且在稍後恢復運行 當線程恢復執行時 必須等待其他線

原创 Java併發編程實戰 併發程序的測試總結

在測試併發程序時 所面臨的主要挑戰在於:潛在錯誤的發生並不具有確定性 而是隨機的 要在測試中將這些故障暴露出來 就需要比普通的串行程序測試覆蓋更廣的範圍並且執行更長的時間 正確性測試 在爲某個併發類設計單元測試時 首先需要執行與測

原创 Java編程思想 併發總結

併發的多面性 併發編程令人困惑的一個主要原因是 使用併發時需要解決的問題有多個 而實現併發的方式也有多種 並且在這兩者之間沒有明顯的映射關係(而且通常只具有模糊的界線) 因此 你必須理解所有這些問題和特例 以便有效地使用併發 用併

原创 Java編程思想 圖形化用戶界面總結

設計中要遵循的一條基本原則是 讓簡單的事情變得容易 讓困難的事情變得可行 applet 它是一種可以在Internet上傳遞 並在Web瀏覽器中運行的程序(出於安全性 只能在所謂的沙盒內運行) Swing基礎 大多數Swing應用

原创 Java編程思想 枚舉類型總結

關鍵字enum可以將一組具名的值的有限集合創建爲一種新的類型 而這些具名的值可以作爲常規的程序組件使用 這是一種非常有用的功能 基本enum特性 創建enum時 編譯器會爲你生成一個相關的類 這個類繼承自java.lang.Enu

原创 Java編程思想 註解總結

註解(也被稱爲元數據)爲我們在代碼中添加信息提供了一種形式化的方法 使我們可以在稍後某個時刻非常方便地使用這些數據 基本語法 在下面的例子中 使用@Test對testExecute()方法進行註解 該註解本身並不做任何事情 但是編

原创 Java編程思想 容器深入研究總結

完整的容器分類法 下面是集合類庫更加完備的圖 包括抽象類和遺留構件(不包括Queue的實現) 填充容器 雖然容器打印的問題解決了 容器的填充仍然像java.util.Arrays一樣面臨同樣的不足 就像Arrays一樣 相應的C

原创 Java編程思想 數組總結

數組爲什麼特殊 數組與其他種類的容器之間的區別有三方面 效率 類型和保存基本類型的能力 數組可以持有基本類型 而泛型之前的容器則不能 但是有了泛型 容器就可以指定並檢查它們所持有對象的類型 並且有了自動包裝機制 容器看起來還能夠持

原创 js上傳文件並且附帶自定義信息

實現的思路用了一個保存信息的數組和一個圖片的數組 保持住兩者的順序一一對應 最後提交到後臺 下面貼出相關代碼 供有需要的同學參考 頁面: 代碼: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

原创 Java編程思想 字符串總結

不可變String String對象是不可變的 String類中每一個看起來會修改String值的方法 實際上都是創建了一個全新的String對象 以包含修改後的字符串內容 而最初的String對象則絲毫未動 當把q傳給upca