原创 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),線程還