MartinYeung

@martin_yeung

Java - Volatile keyword的介紹

閱讀時間: 5分鐘Volatile關鍵字 可以確保在應用程式中的可見性,支持變量直接寫入到主記憶體(main memory)。來自《Thinking in Java , edtion 4》的解釋The volatile keyword also ensures visibilit...

Java - Atomic VS Volatile

閱讀時間: 3分鐘當大家談論到Thread-safety就會有接觸到Atomic (原子性)和Volatile (可見性)。相信你們會好奇,為什麼Volatile的中文會被解釋為可見性呢?完全和字典上的意思不同。不過這是合理的,因為在Java中Volatile是指可以確保在應用程...

Java - Thread-Safety是什麼 - Part 3

閱讀時間: 10分鐘接上一篇文章,又來為大家在10分鐘內講解一些有關Thread-safety的介紹。再講多3個做到Thread-safety的方式。大家可以因應情況選擇一個最合適的表達方法。7. Synchronized Methods 在同一時間只有一個thread能存取sy...

Java - Thread-Safety是什麼 – Part 2

閱讀時間: 10分鐘接上一篇文章,又來為大家在10分鐘內講解一些有關Thread-safety的介紹。再講3個做到Thread-safety的方式。大家可以因應情況選擇一個最合適的表達方法。4. Synchronized Collections 大家可以輕易地創建一個thread...

Java - JPA 是什麼?

閱讀時間: 10分鐘JPA 全稱是Java Persistence API是一個標準規範及接口(API)來實現ORM(object-relational mapping)框架,JPA通過註解(annotation) [如:@Entity、@Table、@Column等註解] 或X...

Java – Substring()的介紹及用法

閱讀時間: 5分鐘public String substring(int beginIndex, int endIndex) 將會返回一個substring,而這個substring 的第1個index會由beginIndex 開始,最後一個index會是endIndex。

Java的Regex中的Pattern Class (2)

閱讀時間: 5分鐘java.util.regex.Pattern 是其中一個主要連接Regular expression的API。而Pattern Class 可以改善效率的問題。接上一篇文章,繼續為大家講解一下Pattern Class的內容。

Java的Regex中的Pattern Class (1)

閱讀時間: 10分鐘Regular expression(簡稱Regex) 在解析及驗證的時候是最花時間的,在經常使用某規則運算式(簡稱Regex)的情況下,會導致系統的效率降低。java.util.regex.Pattern 是其中一個主要連接Regular expression的API。

Java 8 LocalDate的介紹及應用

閱讀時間: 3分鐘Java 8 新增了一個java.time.LocalDate是用來取得日期資訊。對於舊的java.util.Date,可以取代。LocalDate沒有時區及時間資訊,僅有日期資訊。使用ISO-8601日期時間系統。格式為year-month-day(例如:2020-01-17)。

Java – arraycopy() 的介紹及用法

閱讀時間: 3分鐘java.lang.System.arraycopy() method 可以在指定的array上複製array。Method的聲明(Signature) Public static void arraycopy(Object src, int srcPos, O...

Java - Array 與 ArrayList 的分別

閱讀時間: 10分鐘兩者都是常用來創建array的方法, 雖然目的相同,但本質上卻有很大差異。本質上, Array是Java中的基本功能。而ArrayList就是Collection Framework的一部分。因此就有著完全不同的使用方式!

Java – Set 的介紹及應用

閱讀時間: 10分鐘Set是一個Interface。有最簡單的Collection資料結構 - 集合。Set 唯一的限制是不允許重覆的物件存在。所以當你不想有相同的物件出現,就可以選擇用Set,同時選擇合適的實作。Set常用的實作主要有3個: • LinkedHashSet 保證裡面元素存放的順序與新增時相同。

Java - Stack 與 Heap 的分別

閱讀時間: 10分鐘在使用Java開發程式的過程中,相信大家都可能見過stack和heap這兩個字,例如在一些Error中、在JVM中做一些設定(heap memory space跟stack memory space)等等。但有部分人都未必真正了解這些字眼有什麼分別,想知道它們...

Java – “== “ 與 equals() 的分別

閱讀時間: 3分鐘== operator是用來判斷兩個比較物件是不是有相同的 references (參考或者引用)。每一個物件都有獨立的reference,假如reference不相同就表示它們是不同的物件(Object)。equals() method是用來比較物件的值 (儲存在heap上的值)。

Java - singleton pattern 的介紹及使用

閱讀時間: 15分鐘單例模式 (singleton pattern)它存在的目的是可以限制物件(Object)產生的數量,只容許產生一個物件(Objest)。那就是只有一個實例(Instance)。往後每次調用都是指向相同的物件(Object)。

Java Collections 的介紹

閱讀時間: 10分鐘Collection 是一個集合,可以儲存一個或多於一個元素的集合。在Java中,有2個interface可以表示集合,分別是Collection interface (java.util.Collection) 和Map interface (java.util.Map)。

Java - dequeue的介紹及用法

閱讀時間: 15分鐘在電腦科學中, dequeue是指a double-ended queue(雙向佇列),一般簡寫為deque,讀音是 deck)。Dequeue是一種抽象資料型態,dequeue中的每個元素都可以在佇列中的頭部(左邊)或者在尾部(右邊)的位置進行任何元素的新增移除。

Java - Collections.sort() 的介紹及用法

閱讀時間: 10分鐘Collections.sort() method 是在java.util.Collections class之下,是用於元素的排序(默認升序)。功能與java.util.Arrays.sort() method是差不多。

Java – Scanner 讀取整數(int)緊貼再輸入字串(String)的注意事項

閱讀時間: 10分鐘每當需要讀取使用者輸入或檔案內容中東西的時候,我們都會運用以下方式:Scanner in = new Scanner(System.in); 不過要記得在使用前要import一個:import java.util.Scanner 而我們都會用 nextInt(...

Unsigned and Signed Binary Numbers (二進位數字)

閱讀時間: 15分鐘在programming language世界中,數字可以用不同的形式表達包括二進制(Binary)、十進制(Decimal)、十六進制(Hexadecima)等等 現在就為大家講解一下有關二進位數字的Unsigned興Signed的分別。