原创 SpringBoot 服務端表單數據校驗
POM 依賴 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId
原创 SpringCloud 入門
SpringCloud SpringCloud:是一個服務治理平臺,提供了一些服務框架。包含了:服務註冊與發現、配置中心、消息中心 、負載均衡、數據監控等等。 Spring Cloud 是一個微服務框架,相比 Dubbo 等
原创 SpringBoot 異常處理方式
SpringBoot 異常處理方式 SpringBoot 中對於異常處理提供了五種處理方式: 自定義錯誤頁面 SpringBoot 默認的處理異常的機制:SpringBoot 默認的已經提供了一套處理異常的機制。 一旦程序中出
原创 Spring Boot 定時任務
Scheduled 定時任務器 Scheduled 定時任務器:是 Spring3.0 以後自帶的一個定時任務器。 =================POM.XML================== <properties>
原创 SpringCloud之RabbitMQ
安裝 erlang Erlang(['ə:læŋ])是一種通用的面向併發的編程語言,它由瑞典電信設備製造商愛立信所轄的CS-Lab 開發,目的是創造一種可以應對大規模併發活動的編程語言和運行環境. ========安裝epel==
原创 SpringBoot整合servlet,Filter,Listener
SpringBoot 整合Servlet 1 . 在springBoot啓動時會掃描**@WebServlet**,並將該類實例化. @SpringBootApplication @ServletComponentScan /
原创 SpringBoot 整合視圖View
SpringBoot 整合JSP @Controller public class UserController { /* * 處理請求,產生數據 */ @RequestMapping("/showUser") pu
原创 MyBatis架構圖
MyBatis 架構圖 MyBatis層次結構圖 Sqlsession 查詢時序圖 整體流程圖: MyBatis 緩存機制:
原创 ThreadLocal 基本使用
ThreadLocal 很多地方叫做線程本地變量,也有些地方叫做線程本地存儲,ThreadLocal爲變量在每個線程中都創建了一個副本,那麼每個線程可以訪問自己內部的副本變量。 它本身是爲線程安全和某些特定場景的問題而設計的。 先
原创 手寫可重入鎖(Lock)
可重入鎖 用 lock 來保證原子性。 什麼是原子性,就是不可分,從頭執行到尾,不能被其他線程同時執行。 可通過CAS來實現原子操作 CAS(Compare and Swap): CAS操作需要輸入兩個數值,一箇舊值(期望操作前的值
原创 Spring 動態代理引發的問題.
@Transactional 註解事務 發生異常事務回滾: @Override @Transactional public boolean insertEmployee(EmployeeTo employeeTo)
原创 JVM
堆結構及對象分代 什麼是分代,分代的必要性是什麼 Java 虛擬機根據對象存活的週期不同,把堆內存劃分爲幾塊,一般分爲新生代、老年代和永久代 (對 HotSpot 虛擬機而言),這就是 JVM 的內存分代策略。堆內存是虛擬機管
原创 BIO/NIO/AIO編程
BIO 編程 Blocking IO: 同步阻塞的編程方式。 BIO 編程方式通常是在 JDK1.4 版本之前常用的編程方式。編程實現過程爲:首先在服務端啓動一個 ServerSocket 來監聽網絡請求,客戶端啓動 Socket
原创 SpringMVC 過濾器、攔截器
過濾器和攔截器觸發時機不一樣,過濾器是在請求進入容器後,但請求進入servlet之前進行預處理的。請求結束返回也是,是在servlet處理完後,返回給前端之前。 攔截器可以獲取IOC容器中的各個bean,而過濾器就不行,因爲攔截器
原创 Ajax短輪詢,長輪詢,SSE(Server Sent Event)輪詢 和 websocket輪詢
AJAX輪詢方式 客服端以用戶定義的時間間隔去服務器上查詢最新的數據。太短的時間間隔客服端會對服務器在短時間內發送出多個請求。 長輪詢或者COMET。服務器與客服端需要保持一條長時間的請求,它使得服務器在有數據時可以返回消息給客戶端