原创 Lambda表達式

一:簡介 JDK的升級的目的有以下幾個:增加新的功能、修復bug、性能優化、簡化代碼等幾個方面,Lambda表達式就是屬於簡化代碼,用於簡化匿名實現類,提供一種更加簡潔的寫法。Lambda表達式在Swift語言中稱之爲代碼塊,Lam

原创 抽象類與接口

接口和內部類爲我們提供了一種將接口與實現分離的更加結構化的方法。        抽象類與接口是java語言中對抽象概念進行定義的兩種機制,正是由於他們的存在才賦予java強大的面向對象的能力。他們兩者之間對抽象概念的支持有很大的

原创 理解java的三大特性之多態

       面向對象編程有三大特性:封裝、繼承、多態。       封裝隱藏了類的內部實現機制,可以在不影響使用的情況下改變類的內部結構,同時也保護了數據。對外界而已它的內部細節是隱藏的,暴露給外界的只是它的訪問方法。     

原创 使用序列化實現對象的拷貝

      我們知道在Java中存在這個接口Cloneable,實現該接口的類都會具備被拷貝的能力,同時拷貝是在內存中進行,在性能方面比我們直接通過new生成對象來的快,特別是在大對象的生成上,使得性能的提升非常明顯。然而我們知道拷貝

原创 詳解JVM內存管理與垃圾回收機制2 - 何爲垃圾

<!-- 文章內容 --> <div data-note-content="" class="show-content"> <div class="show-content-free"> <

原创 Set、List、Map的遍歷方法

所有集合類都位於java.util包下。集合中只能保存對象(保存對象的引用變量)。(數組既可以保存基本類型的數據也可以保存對象)。 當我們把一個對象放入集合中後,系統會把所有集合元素都當成Object類的實例進行處理。從JDK1.5

原创 詳解JVM內存管理與垃圾回收機制3 - JVM中對象的內存佈局

<p>在Java語言層面,可以通過Class類來描述普通的Java類,當JVM創建對象的同時,會生成對應的Class對象,用來描述此對象的大致模型,這也是反射的基礎。那麼在JVM的內部是如何描述一個普通的對象?我們先從一個簡單的示例

原创 詳解JVM內存管理與垃圾回收機制1 - 內存管理

<p>Java應用程序是運行在JVM上的,得益於JVM的內存管理和垃圾收集機制,開發人員的效率得到了顯著提升,也不容易出現內存溢出和泄漏問題。但正是因爲開發人員把內存的控制權交給了JVM,一旦出現內存方面的問題,如果不

原创 那些年讓人迷惑的同步、異步、阻塞、非阻塞

在IT圈混飯吃,不管你用什麼編程語言、從事前端還是後端,阻塞、非阻塞、異步、同步這些概念,都需要清晰地掌握,否則,怎麼與面試官談笑風生(chui niu pi)?但是,掌握這些概念又不是非常容易,尤其對非科班出身的,更加困難