原创 JDK1.8之HashMap & LinkedHashMap迭代器
一、前言 在遍歷HashMap與LinkedHashMap時,我們通常都會使用到迭代器,而HashMap的迭代器與LinkedHashMap迭代器是如何工作的呢?下面我們來一起分析分析。 二、迭代器繼承圖 三、
原创 JDK1.8之LinkedHashMap簡單瞭解
一、前言 前面我們已經分析了HashMap的源碼,已經知道了HashMap可以用在哪種場合,如果這樣一種情形,我們需要按照元素插入的順序來訪問元素,此時,LinkedHashMap就派上用場了,它保存着元素插入的順序,並且可以按照
原创 淺談JAVA語法糖
語法糖(Syntactic Sugar),也叫糖衣語法,是英國計算機科學家彼得·約翰·蘭達(Peter J. Landin)發明的一個術語。指的是,在計算機語言中添加某種語法,這種語法能使程序員更方便的使用語言開發程序,同時增強程序
原创 nginx
Nginx首先要明白,Nginx 採用的是多進程(單線程) & 多路IO複用模型。使用了 I/O 多路複用技術的 Nginx,就成了”併發事件驅動“的服務器。 1、概念: NGINX採用了異步、事件驅動的方法來處理連接。這種處
原创 spring
spring開發框架:1)輕量級容器2)提供了IOC來達到鬆耦合的目的3)提供了AOP的豐富支持,也是對DI的完善4)非侵入式,代碼污染低讓java開發模塊化,並且全面。貫穿邏輯層,表現層,持久層。讓每一個功能模塊都可以獨立分開,降低耦合
原创 Servlet和JSP
servlet生命週期一、初始化階段1)servlet容器裝載servlet,在web.xml中<servlet/>標籤中啓動。*<load-on-startup>參數若爲0或負數則是不默認加載,若爲大於0正數則是數字越小優先級越高2)容
原创 springMVC攔截器
一、 SpringMVC攔截器實現原理用戶請求到DispatherServlet中,DispatherServlet調用HandlerMapping查找Handler,HandlerMapping返回一個攔截器鏈(HandlerE
原创 淺談JAVA之讀寫鎖ReentrantReadWriteLock
ReentrantReadWriteLock的鎖策略有兩種,分爲公平策略和非公平策略,兩者有些小區別,爲便於理解,本小節將以示例的形式來說明多線程下,使用公平策略的讀寫鎖是如何處理的。其中讀鎖是共享鎖,寫鎖是排他鎖。只要存在寫鎖,臨界區資
原创 Ajax的快速簡單認識
Ajax是2005年2月才誕生但是現在已經炙手可熱的一項全新技術.這項新技術能夠極大地改善網站的用戶體驗. 什麼是Ajax Ajax是異步Javascript和XML(Asynchronous JavaScript an
原创 java設計模式
設計原則:1、開閉原則:對擴展開放,對修改關閉。爲了使程序的擴展性好,易於維護和升級,想要達到就使用接口和抽象類,即抽象化 開閉原則是最基礎的設計原則,其他的五個設計原則都是開閉原則的具體形態。2、里氏替換原則:開閉原則的補充,任何基
原创 JAVA中的CAS
本篇的思路是先闡明無鎖執行者CAS的核心算法原理然後分析Java執行CAS的實踐者Unsafe類,該類中的方法都是native修飾的,因此我們會以說明方法作用爲主介紹Unsafe類,最後再介紹併發包中的Atomic系統使用CAS
原创 DBCP連接池
前言對於數據庫連接池, 想必大家都已經不再陌生, 這裏僅僅設計Java中的兩個常用數據庫連接池: DBCP和C3P0(後續會更新). 一. 爲何要使用數據庫連接池假設網站一天有很大的訪問量,數據庫服務器就需要爲每次連接創建一次數據庫連接,
原创 springMVC
springMVC運行機制:1)客戶端發送一個Http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServlet的請求映射路徑(web.xml)中指定,web容器將請求轉交給DIspatcherSe
原创 nginx
Nginx首先要明白,Nginx 採用的是多進程(單線程) & 多路IO複用模型。使用了 I/O 多路複用技術的 Nginx,就成了”併發事件驅動“的服務器。 1、概念: NGINX採用了異步、事件驅動的方法來處理連接。這種處
原创 spring
spring開發框架:1)輕量級容器2)提供了IOC來達到鬆耦合的目的3)提供了AOP的豐富支持,也是對DI的完善4)非侵入式,代碼污染低讓java開發模塊化,並且全面。貫穿邏輯層,表現層,持久層。讓每一個功能模塊都可以獨立分開,降低耦合