原创 cookie和session的的區別以及應用場景有哪些?
作者:知乎用戶 鏈接:https://www.zhihu.com/question/31079651/answer/136106134 來源:知乎
原创 Java併發編程:volatile關鍵字解析
volatile這個關鍵字可能很多朋友都聽說過,或許也都用過。在Java 5之前,它是一個備受爭議的關鍵字,因爲在程序中使用它往往會導致出人意料的結果。在Java 5之後,volatile關鍵字才得以重獲生機。 volatile
原创 使用IDEA和gradle搭建Spring MVC和MyBatis開發環境
1. 概述 Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化建構工具。 它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基於XML的各種繁瑣配置。 Spring
原创 Java中動態代理的實現
Java中動態代理的實現,關鍵就是這兩個東西:Proxy、InvocationHandler,下面從InvocationHandler接口中的invoke方法入手,簡單說明一下Java如何實現動態代理的。 首先,i
原创 SpringMVC如何綁定數據,綁定完數據之後如何確保我們得到的數據的正確性
下面是主要的驗證註解及說明: 註解 適用的數據類型 說明 @AssertFalse Boolean, boolean 驗證註解的元素值是false @AssertTrue Boolean, boolean
原创 ThreadPoolExecutor中的參數詳解
1. ThreadPoolExecutor數據成員 1 Private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING,0));
原创 Java 正則表達式
Java 正則表達式正則表達式定義了字符串的模式。正則表達式可以用來搜索、編輯或處理文本。正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。正則表達式實例一個字符串其實就是一個簡單的正則表達式,例如 Hello World 正
原创 Java 8 中的 Streams API 詳解
Java 8 中的 Streams API 詳解 Streams 的背景,以及 Java 8 中的使用詳解 爲什麼需要 Stream Stream 作爲 Java 8 的一大亮點,它與 java.io 包裏的 Input
原创 多線程編程的底層原理
簡介 在前面的一篇文章裏我對java threadpool的幾種基本應用方法做了個總結。Java的線程池針對不同應用的場景,主要有固定長度類型、可變長度類型以及定時執行等幾種。針對這幾種類型的創建,java中有一個專門的E
原创 深入理解java的註解處理類
如果沒有用來讀取註解的方法和工作,那麼註解也就不會比註釋更有用處了。使用註解的過程中,很重要的一部分就是創建於使用註解處理器。Java SE5擴展了反射機制的API,以幫助程序員快速的構造自定義註解處理器。註解處理器類庫(java.la
原创 電話號碼和手機號正則
/** * 手機號驗證 * * @param str * @return 驗證通過返回true */ public static boolean isMobile(Strin
原创 java排列組合 實現全排列,支持有序和無序
輸入:[1,2,3,4]輸出: 方法一:無序 [[1],[2],[1,2],[3],[1,3],[4],[2,3],[1,4],[1,2,3],[2,4],[1,2,4],[3,4],[1,3,4],[2,3,4],[1,2
原创 HTTP 詳細:協議簡介
一、TCP/IP 協議介紹 在介紹 HTTP 協議之前,先簡單說一下TCP/IP協議的相關內容。TCP/IP協議是分層的,從底層至應用層分別爲:物理層、鏈路層、網絡層、傳輸層和應用層,如下圖所示: 從應
原创 一次完整的http請求
一次完整的HTTP請求過程 當我們在瀏覽器的地址欄輸入 www.linux178.com ,然後回車,回車這一瞬間到看到頁面到底發生了什麼呢? 以下過程僅是個人理解: 域名解析 --> 發起TCP的3次握手 --> 建立
原创 線程的五種狀態
線程狀態: 線程從創建、運行到結束總是處於下面五個狀態之一:新建狀態、就緒狀態、運行狀態、阻塞狀態及死亡狀態。 1.新建狀態(New): 當用new操作符創建一個線程時, 例如new Thread(r),線程還