RD 研究與開發

HashMap in Java with Examples – Java 147

HashMap in Java with Examples 只允許 1 個 Null Key 鍵值,不保證依照新增順序保持排序,是一個非同步的操作,HashMap in Java 介紹常見的 containsKey 、 replace 、 entrySet 、 forEach 、 toArray 等方法,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。

Continue ReadingHashMap in Java with Examples – Java 147

ArrayList in Java With Examples – Java 147

ArrayList in Java with Examples 陣列列表也稱為動態陣列,可以包含重複的元素,會依新增順序保持排序,自動調整其容量,是一個非同步的操作,並且以陣列索引為基礎,允許隨機訪問, ArrayList in Java 介紹常見的 forEach 、 iterator 、 listIterator 、 spliterator 、 trySplit 等方法,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。

Continue ReadingArrayList in Java With Examples – Java 147

Java HashMap Methods – Java 147

Java HashMap Methods 將資料存儲在鍵、值對中,可以通過另一種類型的索引訪問,插入重複鍵,會替換相應鍵的元素,允許存儲 Null key,但應該只有一個空鍵物件,不保證新增時的順序,HashMap Java Methods 介紹常見的 put 、 get 、 clear 、 size 等方法,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。

Continue ReadingJava HashMap Methods – Java 147

Java OutOfMemoryError Direct Buffer Memory – Java 147

Java OutOfMemoryError Direct Buffer Memory,當使用 NIO 的時候經常需要使用 ByteBuffer 來讀取或寫入數據,這是一種基於 Channel (通道) 和 Buffer (緩衝區)的 I/O 方式,它可以使用 Native 函數庫直接分配堆外內存,然後通過一個存儲在 Java 堆裡面的 DirectByteBuffer 對像作為這塊內存的引用進行操作,這樣在一些場景就避免了 Java 堆和 Native 中來回複製數據,所以性能會有所提高, Java 允許應用程序通過 Direct ByteBuffer 直接訪問堆外內存,許多高性能程序通過 Direct ByteBuffer 結合內存映射文件(Memory Mapped File)實現高速 IO。

Continue ReadingJava OutOfMemoryError Direct Buffer Memory – Java 147

Java OutOfMemoryError Requested Array Size Exceeds VM Limit – Java 147

Requested Array Size Exceeds VM Limit 建立 Array 時,超過 VM 陣列大小上限,JVM 會在分配的資料結構上,會執行一項檢查,確定是否可以 Addressable 尋址,可分配大小為 2,147,483,645,及 Integer.MAX_VALUE-2 的陣列,若增加一點點長度,如: Integer.MAX_VALUE-1 就會拋出此錯誤, Java 147 增加了範例,並透過 JUnit 4 來驗證產出結果。

Continue ReadingJava OutOfMemoryError Requested Array Size Exceeds VM Limit – Java 147

Java Primitive Type Stream Boxed – Java 147

Java Primitive Type Stream Boxed 提供 Primitive Stream 轉換成 Object Stream ,支援 Stream 排序、並行處理、聚合操作等,可以避免大量不必要的物件建立,節省系統資源,本篇增加了範例,並透過 JUnit 4 來驗證產出結果。

Continue ReadingJava Primitive Type Stream Boxed – Java 147