原创 右值和左值,右值引用和左值引用

右值和左值 左值右值的形式區分(或者稱語法區分)是能否用取地址&運算符;語義區分(即其本質涵義)在於表達式代表的是持久對象還是臨時對象。 當一個對象被用作右值的時候,用的是對象的值(內容),當對象被用作左值的時候,用的是對象的身

原创 Linux編程實踐教程小結

編寫Linux who 命令 Linux文件操作函數: - 打開一個文件 int fd = open(char *name, int how) 參數 how 代表文件的打開方式: - O_RDONLY, O_WRO

原创 java之HashMap詳解

概覽 HashMap的繼承關係 java.lang.Object ↳ java.util.AbstractMap<K, V> ↳ java.util.HashMap<K, V> public c

原创 JVM(五)啓動、加載類過程與類加載器

本文參考自“《Java虛擬機原理圖解》5. JVM類加載器機制與類加載過程 ”,對原內容作了些修改並重新組織 JVM啓動、加載類過程 下面我將定義一個非常簡單的java程序並運行它,來逐步分析java虛擬機啓動的過程。 package o

原创 equals()和hashCode()方法

原文鏈接 : http://www.importnew.com/25783.html Java的基類Object提供了一些方法,其中equals()方法用於判斷兩個對象是否相等,hashCode()方法用於計算對象的哈希碼。equal

原创 JVM(三)JVM內存分配與回收策略

新生代和老年代 現代商用JVM大都採用分代收集算法,將java堆分成新生代、老年代和永久代。如下圖所示 新生代回收策略 主要是用來存放新生的對象。一般佔據堆的1/3空間。由於頻繁創建對象,所以新生代會頻繁觸發MinorGC進行垃圾回收

原创 Arrays.copyOf() 和 System.arraycopy()

Arrays.copyOf() 和 System.arraycopy() 都可以完成數組的複製操作,那麼區別在什麼地方呢? 首先看一下示例代碼。 int[] src = new int[] {1, 2, 3, 4, 5}; int[]

原创 TCP滑動窗口

TCP協議通過使用連續ARQ協議和滑動窗口協議,來保證數據傳輸的正確性,從而提供可靠的傳輸。 一、自動重傳請求(ARQ,Automatic Repeat reQuest) ARQ是TCP爲了保證數據包的正確到達所採取的重傳機制。有兩種重傳

原创 理解Java Integer的緩存策略

本文由 ImportNew - 挖坑的張師傅 翻譯自 javapapers。歡迎加入翻譯小組。轉載請見文末要求。 本文將介紹 Java 中 Integer 緩存的相關知識。這是 Java 5 中引入的一個有助於節省內存、提高性能的特性

原创 java-AQS

參考: Java併發之AQS詳解 Lock 使用Lock 時要顯式地獲取和釋放鎖,雖然獲取鎖和釋放鎖相比 synchronized 要麻煩,但是麻煩意味着對於所得操控更加靈活,可以可中斷獲取鎖、超時獲取鎖等。。 Lock 只是一個接口,

原创 C++11多線程學習小結

關於c++11 多線程的一些小結, 內容基本上是自己看書的筆記。 詳細內容還需參考cppreference.com 過程中參考了這篇博文,和 這篇博文 async 和 future async async 在後臺啓動一個異步執行的任務 通

原创 JVM(一)JVM內存模型

JVM內存模型 1. 程序計數器 程序計數器用來保存要執行的下一條字節碼的行號,程序的分支、循環、跳轉、異常處理等都依賴這個計數器完成。程序計數器是線程私有的,每個線程維護自己的程序計數器。程序計數器是唯一一個在JVM中沒有規定任何OO

原创 Condition接口

Condition 介紹 java的 Object 方法擁有一組監視器方法,包括 wait()、notify() 等方法, 這些方法與 synchronized 同步關鍵字配合,可以實現等待/通知模式。 Condition 接口也提供了類

原创 JVM(二)JVM垃圾回收

在討論JVM垃圾回收之前先要確定,JVM內存中哪些內存區域會進行GC。 哪些內存區域需要GC 在JVM的5個內存區域中,程序計數器、虛擬機棧、本地方法棧時隨線程而生,隨線程而死。 程序計數器記錄下一條指令的行號,自然不能被回收。 虛擬機

原创 java中Error和Exception

如上圖所示,java中的Error和Exception都繼承自Throwable類,可以統稱爲“異常”,只是所表示的異常種類不同。 Error和Exception的區別 Error 類一般是指與虛擬機相關的問題,如系統崩潰,虛擬機錯誤