原创 java-集合框架HashSet

一、概述 1.HashSet 繼承AbstractSet抽象類、實現Set接口,內部通過Hash table(HashMap) 實現 2.元素無序,可以有一個NULL元素 3.一般操作(add、remove、contains、size)不

原创 java 集合框架-CopyOnWriteArrayList

CopyOnWriteArrayList是java.util.concurrent併發包下的集合類,與集合功能與ArrayList相似,主要區別爲這是線程安全類 如類名一樣,在對底層數組寫(修改)時,會複製一份數組進行實際操作,操作完成

原创 JVM學習-java垃圾回收(三)-內存分配

在上一篇中主要說到了垃圾回收算法、垃圾收集器等,這篇我們來學習下對象在內存分配的策略; 一、概述 對象在內存分配,一般都是在堆內存上分配,主要是會分配到新生代的Eden區,如果有開啓本地線程分配緩衝區,會按線程優先在TLAB上分配,還

原创 JVM學習-java內存區域與異常

注:本文基於JDK1.7,HotSpot虛擬機 一、前言 java是一門跨硬件平臺的面向對象高級編程語言,java程序運行在java虛擬機上(JVM),由JVM管理內存,這點是和C++最大區別;雖然內存有JVM管理,但是我們也必須要理

原创 java 集合框架-AbstractCollection

AbstractCollection 作爲頂級接口Collection的抽象實現子類,實現了一下集合基本方法: - isEmpty - contains - toArray - add - remove

原创 JVM學習-垃圾收集器

虛擬機有許多的垃圾收集器可以選擇,這裏簡單的記錄分享下每個收集器的特點 一、Serial 歷史最久,曾經是新生代唯一選擇 單線程,進行時暫停所有用戶線程-Stop The World Client模式下默認新生代收集器 單個線程更加

原创 java 集合框架 Map-AbstractMap

Map接口 鍵值對映射(key-value),對於一個map,每個key都是唯一的,不重複,而且每個key對應一個value,value可以重複 需要注意可變對象作爲key,key對象是否相等,是使用equal方法判斷的,如果可變對象改

原创 ReentrantLock鎖與內置鎖synchronized

一、內置鎖 使用Syschronized 關鍵字 同步代碼塊(同步方法)都是使用到對象的內置鎖 1、對象內置鎖 使用對象自身的內置鎖(監視器鎖-monitor lock) 實例方法-使用實例對象鎖,static 方法 使用Class

原创 java 集合框架-概述

Java 集合框架在java.util 包下,包括常用的容器類數據結構、工具類等,本章主要爲對下圖的簡單概括,後續章節通過源碼說明每個容器類的詳細實現細節: 集合框架中兩個頂級的集合接口:Collection、Map,定義了最基本的

原创 java 集合框架-ArrayList

在上一篇中我們描述了AbstractList的一些特性,包括迭代器的快速失敗機制,這篇我們繼續分享List下最常用的ArrayList以及非常類似的Vector,ArrayList具體實現類主要有以下特性: - 支持動態大小,集合

原创 java 集合框架-AbstractList

AbstractList 作爲具體List型具體類,實現AbstractCollection抽象類、繼承List接口,實現了部分方法 - indexOf - lastIndexOf - subList - add

原创 java 集合框架-HashMap

一、概述 HashMap應該是我們最常會使用到的Map容器了吧,這裏先簡單羅列寫它的特點: 1.實現所有Map接口方法,允許null值key、null值value 2.不保證元素的順序,包括先後添加的順序,特別是隨着容量增加順序不能保

原创 Java NIO 學習(一)--簡介

一、簡介 Java NIO (New IO)是JDK1.4後引入的新輸入/輸出API,提供基於緩衝區(buffer)的塊寫入/讀取,而以前的I/O是基於流(Stream)的方式,NIO基於塊的IO操作,將最耗時的緩存區讀取和填充交由底層操

原创 Java NIO 學習(四)--ServerSocketChannel與SocketChannel

本機要講到的ServerSocketChannel、SocketChannel,與Java網絡編程中的ServerSocket、Socket是非常相識,至少從使用方式上來看是這樣,本質上都是TCP網絡套接字,只是多了“channel”;

原创 Java NIO 學習(六)--Selector

在之前講解的網絡相關的channel,都有講到非阻塞模式,只簡單說明了那些方法在非阻塞模式下的返回情況,並沒有實際的應用;本節要講到的selector就是NIO中非阻塞模式使用的一大優點; 一、概述 selector,選擇器,同過一個