原创 spring之Resource加載

一、對資源的抽象 Spring把其資源做了一個抽象,底層使用統一的資源訪問接口來訪問Spring的所有資源。也就是說,不管什麼格式的文件,也不管文件在哪裏,到Spring 底層,都只有一個訪問接口,Resource。 1.1 類結構圖

原创 java網絡編程 - NetworkInterface

一、問題提出 在使用 Java 開發網絡程序時,有時候我們需要知道本機在局域網中的 IP 地址。很常見的一種做法是調用本地命令(比如 Windows 上的 ipconfig 命令和 Linux 上的 ifconfig 命令),接着解析

原创 java網絡編程 - IP和java.net.InetAddress類的使用

一:IP 1、地址格式 互聯網上每一臺計算機都有一個唯一標示自己的標記,這個標記就是IP地址。IP 地址使用32 位長度二進制數據標示,一般在實際中看到的大部分IP地址都是以十進制的數據形式標示的,如:192.168.1.3,IP地址

原创 java基礎知識學習-流

一、JAVA流式輸入/輸出原理 流是用來讀寫數據的,java有一個類叫File,它封裝的是文件的文件名,只是內存裏面的一個對象,真正的文件是在硬盤上的一塊空間,在這個文件裏面存放着各種各樣的數據,我們想讀文件裏面的數據怎麼辦呢?是通

原创 Java Collections Framework概覽

概覽 容器,就是可以容納其他Java對象的對象。Java Collections Framework(JCF)爲Java開發者提供了通用的容器,其始於JDK 1.2,優點是: 降低編程難度 提高程序性能 提高API間的互操作性 降低

原创 InetAddress的介紹

一、InetAddress簡介 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位無符號數字,它是傳輸層協議TCP,UDP的基礎。InetAddress是Java對IP地址的封裝,在java.net中有許多類都使用到了I

原创 RandomAccess 作用

衆所周知,在List集合中,我們經常會用到ArrayList以及LinkedList集合,但是通過查看源碼,就會發現ArrayList實現RandomAccess接口,但是RandomAccess接口裏面是空的!Linked並沒有實

原创 TCP/IP四層模型

TCP/IP四層模型 TCP/IP參考模型    ISO制定的OSI參考模型的過於龐大、複雜招致了許多批評。與此對照,由技術人員自己開發的TCP/IP協議棧獲得了更爲廣泛的應用。如圖2-1所示,是TCP/IP參考模型和OSI參考

原创 深入理解spring註解之@ComponentScan註解

深入理解spring註解之@ComponentScan註解 1、@ComponentScan註解是什麼2、@ComponentScan註解的詳細使用2.1 準備數據2.2 對@ComponentScan的詳細解釋2.3 案例2.3.1

原创 java.util.ConcurrentModificationException 異常問題詳解

環境:JDK 1.8.0_111 在Java開發過程中,使用iterator遍歷集合的同時對集合進行修改就會出現java.util.ConcurrentModificationException異常,本文就以ArrayList爲例去理

原创 Java中的break,continue關於標籤的用法

java中的標籤 Java的控制循環結構中是沒有關鍵字goto的,這種做法有它的好處,它提高了程序流程控制的可讀性,但是也有不好的地方,它降低了程序流程控制的靈活性,所以說,“上帝是公平的”。所以,Java爲了彌補這方面的不足,Jav

原创 JDK8-廢棄永久代(PermGen)迎來元空間(Metaspace)

一、背景 1.1 永久代(PermGen)在哪裏? 根據,hotspot jvm結構如下(虛擬機棧和本地方法棧合一起了): 上圖引自網絡,但有個問題:方法區和heap堆都是線程共享的內存區域。 關於方法區和永久代: 在HotSpot

原创 java 線程之線程狀態

java線程狀態 1. 初始(NEW):新創建了一個線程對象,但還沒有調用start()方法。 2. 運行(RUNNABLE): Java線程中將就緒(ready)和運行中(running)兩種狀態籠統的稱爲“運行”。 線程對象創建後,其

原创 java 併發之LockSupport

LockSupport LockSupport提供park()和unpark()方法實現阻塞線程和解除線程阻塞,實現的阻塞和解除阻塞是基於”許可(permit)”作爲關聯,permit相當於一個信號量(0,1),默認是0. 線程之間不再需

原创 java 併發之 Semphore

簡介 Semaphore(信號量)是用來控制同時訪問特定資源的線程數量,它通過協調各個線程,以保證合理的使用公共資源。很多年以來,我都覺得從字面上很難理解Semaphore所表達的含義,只能把它比作是控制流量的紅綠燈,比如XX馬路要限制流