原创 struts2—處理結果類型

struts2的處理流程 用戶請求→struts2框架→控制器→struts2框架→視圖資源 <result>/success.jsp</result>當result中的name值默認爲success。 INPUT   action的執行

原创 java多線程---線程池ThreadPoolExecutor分析

線程池 java中的線程池有很多種,首先來看下其中最基礎的一種線程池ThreadPoolExecutor。線程池的作用爲,減少創建線程和銷燬線程的開銷,對線程進行復用。所以看源碼之前,提出以下問題: 在線程池中,空閒期,線程怎麼

原创 Struts2—攔截器實現權限控制

在Struts2中,有內置的攔截器,在struts-core的struts-default.xml中,有一些框架自身默認配置的攔截器。 在攔截器中,有一個攔截器棧,在攔截器棧中攔截器的順序非常的重要。action會按照裏面的順序去通過攔截

原创 Struts2—攔截器(一)

首先來溫習一下整個Struts2的架構圖 在這個架構圖中,可以看到interceptor就是攔截器,在Action的執行前後分別都是需要執行攔截器。 攔截器的功能有很多,例如:數據轉移、數據校驗、類型轉換等等。工作流程是一遞歸的過程。如

原创 Struts2—action參數傳遞

Struts2裏面action參數的傳遞有3中方式。 一、Action 屬性接收 首先我們創建一個login.jsp文件作爲登入界面,創建一個LoginAction.java文件,在相應的xml裏配置好這個Action。 <body>

原创 struts2—動態方法調用

  struts2動態方法調用常用的有3中,這裏我記錄一下最推薦的使用方法。  方法調用就是爲了解決一個action調用多個請求的處理,一面action太多引起不便  重配符方法。下面這一部分是最初始的一個狀態,沒有添加方法。<packa

原创 Struts2—攔截器之計算action調用時間

在上一篇文章中,記錄了攔截器的使用方式有2種。這次學習的內容便是使用繼承abstractinterceptor類來實現攔截器的簡單應用。 首先我們創建2個jsp頁面:timestart.jsp <body> <a href="t

原创 ConcurrentHashMap 原理分析

hashMap 在 1.7 和 1.8 中的區別 1、 引入了紅黑樹 2、解決了併發環境下,死鏈的情況(在1.7的rehash中,會進行鏈表的反轉插入,會引發死鏈問題,java8 中不會,8中是採用修改頭部節點的位置來實現) 3

原创 dubbo--源碼spi擴展

SPI java中的spi META-INF/services/接口全路徑 寫入實現類全路徑 dubbo中的spi規範 /META-INF/dubbo ;/META-INF/internal;/META-INF/services

原创 zk實現一個分佈式鎖

最近在工作做中,使用到了redis的分佈式鎖,主要採用了其中一個原子操作getAndSet,並且利用了redis單線程的特性操作。這裏來寫另一種分佈式的鎖,zk實現的分佈式鎖。 zk的特性 1、數據結構 zk的數據結構,存儲的方式爲k

原创 java多線程---TheadLocal分析

ThreadLocal 分析 ThreadLocal 作用 ThreadLocal 可以看做是一個線程的副本,每個線程中的ThreadLocal都是不一樣的。訪問ThreadLocal就是在訪問只屬於線程自己的變量。那麼,這個是怎麼做

原创 java多線程---synchronizedsynchronized分析

synchronized分析 使用方法 1、修飾方法 public synchronized void test(){ } 2、修飾對象(鎖定的爲什麼一定高要是對象?) public void test2(){ /

原创 java多線程---ReentrantLock源碼分析

ReentrantLock源碼分析 基礎知識複習 synchronized和lock的區別 synchronized是非公平鎖,無法保證線程按照申請鎖的順序獲得鎖,而Lock鎖提供了可選參數,可以配置成公平鎖,也可以配置成非公平鎖。

原创 java多線程---CopyOnWriteArrayList解析

CopyOnWriteArrayList List是java三大集合中的一個,最最常見的就是ArrayList和LinkedList。簡單來講,ArrayList是數組的數據格式,當它不發生擴容的情況下,add的速度是比較快的。而Li

原创 java多線程---原子類分析

多線程原子類解析 什麼是原子類 原子性操作:指一系列的操作爲一個單位,不可分割,要麼全部成功,要不全部不成功。 提到原子類可能會聯想到volatile關鍵字,但是這2者之間是完全不同的。volatile保持了內存的可見性,但是不適用