跳到主要內容

發表文章

Java Professional - 目錄

Java Professional 影片為無廣告影片。 好頻道需要你的支持。  加入會員 許裕永老師專門為 Java 國際認照打造的錄影課程 : Java Professional  頻道會員推廣影片 隨著資訊科技的發展,應用程式越寫越複雜,分工越來越細。不同的執行環境,會用不同的語法來寫。相對的,在程式設計領域中,可用的程式語言相當的多。而各種語言,也都在尋求自己的特殊性與不可取代性。 Java  是 Oracle 的產品。 Oracle 是舉世聞名的資料庫大廠。在    Oracle  的有意經營下, Java 的發展重心越來越偏向中、後端程式的開發。也就是說:在程式執行過程,從資料庫撈出來的資料,如何能夠快速的運算並得到正確的結果,是 Java 努力的方向 。 所 以, Java  開發了很多高階的 API ,用來協助程式設計師做大量資料的運算。在越來越重視大數據的現在,可以說相當實用。但是要能夠妥善運用這一群高階的 API ,除了要具備基本的程式邏輯與基本的語法觀念之外。還要對於深入的物件導向觀念:繼承、多型、介面、巢狀類別、匿名類別與    Enumeration  等主題以及 Lambda Expression 語法,都要有一定程度的理解 。 本部落格。就是針對上述的主題進行全面的討論。  這一群主題與 Oracle OCPJP 的認證範圍有重疊,但不完全包括。有興趣參與 Oracle OCPJP 認證的同學可以參閱本部落格的內容,但不可以完全依賴。 講在前面: 加入會員,是加入YouTube 本頻道的會員。不是私人網站的會員,請不用擔心資料安全的問題。 越深入的教學內容,看的人自然越少。為了維持一定的錄影品質,本授課內容採用會員制。歡迎你進來看一下,會費不高,但或許會是一個驚喜:原來,不用花很多錢,就能夠擁有第一流的教學內容。 當然,加入會員後,可以隨時退出。 加入會員後。除了己上傳的所有影片可觀看。另外,本頻道會以每兩周上傳一支影片,每支影片約半小時的速度持續上傳。 1.            物件導向觀念深入 1 -...
最近的文章

專案製作 - 用 MVC 架構開發員工資料管理系統(檔案存取)

   好 頻道需要你的支持, 謝謝你成為我們的會員 ( 加入會員 ) 影片 未發布 範例 一個好的專案, 勝過千言萬語 主題 : 用 MVC 架構開發員工資料管理系統(檔案存取) 展示技能 : 物件導向觀念的高級應用, 搭配檔案存取與使用集合API(含Stream) 專案名稱 : 員工資料管理系統(檔案存取) 任務明細 員工 : 一般員工, 組長, 課長, 經理, 總裁 組長以上主管有職務加給 (繼承, 多型) 課長以上主管有股票配發 (介面, 多型) 所有員工都可以有專業加給 (Enum) 各層級員工基本薪資(Enum) 檔案 : EmployeeData.txt(內含115位員工資料) 功能 : 1. 專案啟動時從檔案讀入員工資料, 建立 Employee 物件, 置入集合。 2. 專案執行時, 可以新增, 修改, 刪除, 查詢, 顯示 員工資料。 3. 專案結束時, 會將最新資料存入檔案。 4. 新增員工或修改員工資料時, 輸入資料錯誤, 出現適當錯誤訊息。(自訂 Exception) 5. 員工 id 搭配檔案, 由程式產生, 分配給新增成功的員工物件。 6. name 可以重複。 7. phone 不可以重複。 8. 查詢可依 eid, name ,phone 分別查詢。 9. 用 name 查詢會取得相同 name 的所有員工清單。 10.可取得符合特定條件的清單。 11.可取得指定項目的群組。 12.可取得是否符合指定條件的清單。

資料庫 JDBC API 與 JPA 簡介

   好 頻道需要你的支持, 謝謝你成為我們的會員 ( 加入會員 ) 影片 未發布 範例 一、 JDBC Java JDK 中,最常用於連線資料庫的 API 當屬 JDBC (Java Database Connectivity) 。 JDBC 提供了一組標準的介面和類別,讓 Java 開發人員能夠以統一的方式存取各種不同的關聯式資料庫。 1.   DataBase Apache Derby 是輕量級嵌入式關係型資料庫,適合小型應用和測試環境。 l    用 NetBeans 操作 Apache Derby l    用 Java JDK 11 JDBC 操作 Apache Derby 2.   JDBC 基本概念 l    Driver:  JDBC 驅動程式負責與特定資料庫建立連線、傳送 SQL 語句以及處理結果。不同的資料庫需要使用對應的驅動程式。 l    DataSource: 資料庫 URL 、使用者名稱和密碼。 l    Connection: Connection 物件代表與資料庫的實際連線。 l    Statement: 用於將 SQL 敍述傳送到資料庫執行。 JDBC 提供了三種型態 : n    Statement: 用於執行簡單的 SQL 敍述。 n    PreparedStatement: 用於執行預先編譯的 SQL 敍述,可以提高效能並防止 SQL injection 。 n    CallableStatement: 用於執行預存程序。 l    ResultSet: ResultSet 物件是執行查詢後傳回的資料集合,可以逐筆讀取其中的資料。 3.   JDBC 常用 API l    DriverManager: 用於註冊驅動程式和取得 Connection 物件。 l    Connection: 提供了許多方法來取得 Statement 物件與操作連線,例如 : n    crea...

Java 模組(Module)

   好 頻道需要你的支持, 謝謝你成為我們的會員 ( 加入會員 ) 影片1  模組介紹與建立模組專案 範例 Java 模組系統是在 Java 9 中引入的一項重要功能,其目的是解決 Java 應用程式在管理大型專案的依賴性時所面臨的一些挑戰。 例如: 類別路徑 (Classpath) 混亂: 大型專案中,類別庫之間的依賴關係複雜,容易出現類別路徑混亂。 封裝性不足: 傳統 Java 缺乏有效的封裝機制,應用程式內部類別可能被外部存取,造成安全風險。 程式碼臃腫: 應用程式可能包含未使用或不必要的類別庫,增加部署 package 的大小。   模組化使得應用程式的結構更加清晰易於維護和部署並提昇安全性。 一、什麼是 Java 模組? Java 模組是管理 package 的組織,它定義了哪些類別是可見的,哪些是隱藏的。這使得開發人員可以更好地控制程式碼的封裝和依賴關係,從而提高軟體的可維護性和安全性。 每一個模組都有一個唯一的名稱,並包含以下資訊: 請求的模組: 模組所依賴的其他模組。 輸出的 package : 模組中可供外部存取的 package 。 提供的服務: 模組提供的介面的實作類別。 使用的服務: 模組可被使用的介面。   模組的基本結構 Java 模組由一個模組描述檔( module descriptor )和一群 package 組成。 模組描述檔是命名為 `module-info.java` 的文件,這個文件位於模組的根目錄下。 module example.module { requires java.sql; exports com.example.package; } 二、建立 Java 模組專案 (NetBeans) 步驟一:新增模組專案 步驟二:認識模組描述檔 在 default package 有一個名為 `module-info.java` 的文件,在其中定義模組的名稱和依賴項。 module moduleName { } 步驟三:新增 package 與 class 步驟四:...

Java 格式化與區域化的 API

   好 頻道需要你的支持, 謝謝你成為我們的會員 ( 加入會員 ) 影片1  格式化方法與類別   影片2 Locale 與 ResourceBundle 類別的應用 範例 簡介 Java 是一種強大且廣泛使用的程式語言,它以其跨平台特性和強大的 API 支持而聞名。在全球化的今天,軟體的格式化( Formatting )和區域化( Localization )變得愈發重要。 Java 提供了一系列的 API 來支持這些操作,使得開發者能夠輕鬆地建立 適應不同語言和地區的應用程式,開發者可以確保他們的應用程式在全球範圍內具有一致性和易用性。 這些 API 的使用不僅提升了用戶的體驗,還增加了應用程式的國際市場競爭力。在全球化的今天,掌握這些技巧對任何開發者而言都是至關重要的。   一、格式化( Formatting ) 格式化是將資料轉換為特定格式的過程,如日期、時間、數字和貨幣的表示方式。 Java 提供了一些專門的類別來處理這些格式化操作。 l   printf Java API 中的 PrintWriter 類別,提供了一種方便的方式來格式化輸出。特別是使用 printf 方法。 printf 方法允許我們使用格式字串和參數來產生格式化的輸出,類似於 C 語言中的 printf 函數。 l   format 在 Java 中, String 類別的 format 方法也提供了類似的功能,允許我們使用格式字串和參數 來建立格式化的字串。 String 的 format   法與 PrintWriter 的 printf 方法之間的區別主要在於返回值。 format 方法返回一個格式化字串,而 printf 方法則將格式化的字串直接發送到指定的 PrintWriter 。這使得 format 方法在需要建立和操作格式化字串的情況下非常有用。 String 的 format 方法與 PrintWriter 的 printf 方法使用與 C 語言類似的格式規範。詳細說明請參閱 Java API Doc 。 l   NumberFormat NumberFormat 類別用於數字的格式...

DateTime 日期時間運算

   好 頻道需要你的支持, 謝謝你成為我們的會員 ( 加入會員 ) 影片1 日期時間運算的核心類別介紹與建立日期時間物件 影片2  日期與時間運算及格式化與解析 影片3  時區與日光節約時間 範例 Java SE JDK 11 中的日期與時間運算 一、簡介 Java SE JDK 11 的 java.time package 提供了基於 JSR 310 標準所開發的強大的日期與時間 API 。這些類別旨在解決舊版 java.util.Date 和 java.util.Calendar 類別的不足,提供更直觀且強大的操作。 二、核心類別 Java SE JDK 11 的日期與時間 API 包含以下幾個核心類別: l    LocalDate :表示不包含時間的日期,例如 2024-12-25 。 l    LocalTime :表示不包含日期的時間,例如 16:12:13.045194300 。 l    LocalDateTime :表示包含日期和時間的日期時間,例如 2024-12-25T16:12:13.045194300 。 l    ZonedDateTime :表示帶有時區的日期時間,例如 2024-12-25T16:12:13.045194300+08:00[Asia/Taipei] 。 l    Instant :表示時間戳,即從 1970-01-01T00:00:00Z 開始的毫秒數。 n    毫秒 0.001 秒 毫秒是最常見的時間單位之一,通常用於計時和測量較短時間間隔的應用。許多 API 都會使用毫秒來進行內部運算,因為它具有足夠的精度,同時便於與其他單位轉換。 l    Period :表示日期的間隔,以年、月、日來衡量。 l    Duration :表示時間的長度,通常以秒和奈秒來衡量。 n    奈秒 0.000,000,001 秒 奈秒是更高精度的時間單位,通常用於需要極高精度計時的情況,例如性能測試或計算機科學研究。 三、建立日期與時間 ...