原创 Spring5.1源碼解析(二)spring整合springmvc去配置化的原理

springmvc與spring整合去除xml方式 我們用xml方式整合spring與springMVC,通常用xml方式進行配置 <web-app> <listener> <listener-class

原创 SpringMVC接收List型參數

前些時間給前端寫了個接口,後端代碼是這樣的 @RequestMapping(value="/sign/getSignList) public ResultVo getSignList(@RequestBody List<String>

原创 虛擬機加載類的過程

類的生命週期 類從被加載到虛擬機內存中開始,到卸載出內存爲止,它的整個生命週期包括:加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initializati

原创 excel2016設置單元格下拉選項工具類

  /** * 單元格添加下拉菜單(不限制菜單可選項個數)<br/> * [注意:此方法會添加隱藏的sheet,可調用getDataSheetInDropMenuBook方法獲取用戶輸入數據的未隱藏的sheet]<br/>

原创 Spring Cloud Alibaba(一)使用Nacos實現服務註冊與發現

Nacos的作用 Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。 安裝Nacos 下載地址:https://github.com/ali

原创 jdk1.8集合框架源碼解析(五)CopyOnWriteArrayList源碼解析

一、簡介 CopyOnWriteArrayList 是ArrayList的線程線程安全版本,其主要是通過volitle 修飾數組本事保證寫操作對其他線程可見性,寫操作是使用ReentrantLock加鎖,每次對數組的寫操作,都完全拷貝一

原创 js 中if(變量)的結果思考

js是一種弱類型的語言,if後面可以跟很多類型不用進行類型轉換,如果不搞清楚狀況對我們的使用,有非常大的障礙。 1、null var a = null; if(a) { console.log("true") } else

原创 2019年java中高級java面試題(十)java基礎

1、BIO、NIO、AIO ? BIO  block(阻塞) IO,主要用於文件io和網絡io bio 以流的方式處理數據,bio用裝飾者模式給我們提供了各種阻塞流供我們使用。 NIO 從 JDK1.4 開始,Java 提供了NIO

原创 2019年java中高級java面試題(七)多線程

1、 現在有T1、T2、T3三個線程,你怎樣保證T2在T1執行完後執行,T3在T2執行完後執行?         Thread t1 = new Thread(() -> System.out.println("t1執行"));   

原创 2019年java中高級java面試題(一)Redis

1 、redis的數據結構 (1) Redis數據結構之String 字符串類型是Redis中最爲基礎的數據存儲類型,它在Redis中是二進制安全的,這便意味着該類型可以接受任何格式的數據,如JPEG圖像數據或Json對象描述信息等。在R

原创 2019年java中高級java面試題(四)springBoot

1、如何在 Spring Boot 啓動的時候運行一些特定的代碼? 可以實現接口 ApplicationRunner 或者 CommandLineRunner,這兩個接口實現方式一樣,它們都只提供了一個 run 方法 @Componen

原创 微信小程序加密消息解密工具類

  開發者後臺校驗與解密開放數據 微信會對這些開放數據做簽名和加密處理。開發者後臺拿到開放數據後可以對數據進行校驗簽名和解密,來保證數據不被篡改。 簽名校驗以及數據加解密涉及用戶的會話密鑰 session_key。 開發者應該事先通過 

原创 2019年java中高級java面試題(三)mysql

1、 樂觀鎖與悲觀鎖的區別? 悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數據的時候都認爲別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關係型數據庫裏邊

原创 使用@ControllerAdvice處理異常

在Spring 3.2中,新增了@ControllerAdvice、@RestControllerAdvice 註解,可以用於定義@ExceptionHandler、@InitBinder、@ModelAttribute,並應用到所有@R

原创 2019年java中高級java面試題(八)數據結構與算法

1、快速排序 會把數組中的一個數當做基準數,一般把數組中最左邊得數當做基準數。然後從兩邊開始檢索。先從右邊檢索比基準數小的,再從左邊檢索比基準數大的。如果檢索到了,九停下,然後交換這兩個元素。然後再繼續檢索。 一旦相遇停止檢索,交換基準