原创 Java容器類淺析四----ArrayList和LinkedList的存取原理

一、概述 數組和列表是Java容器類中最經常使用的一類。 列表的底層存儲數據結構是Object的數組,數組是靜態的,而列表的長度是可以動態增長的,可以稱之爲“動態數組”。 列表長度的動態增長,是在add時檢查當前元素個數是否達

原创 Float.isNaN(float v)方法初探

Float.isNaN(float v)方法初探 文章目錄Float.isNaN(float v)方法初探背景問題驗證擴展 背景 今天在翻看之前的博客Java容器類淺析二-----HashMap的存取原理,發現了HashMap的

原创 淺析JavaBean繼承後重寫父類屬性和lombok註解帶來的問題和解決方案

目錄背景問題分析解決總結 背景 一個用於接收http request參數的JavaBean:SkuPrimeModifyDto,有些屬性上validation的條件,使用hibernate作爲校驗實現類。 現在新增一個JavaB

原创 Java併發編程---基礎知識

Java併發編程—基礎知識 文章目錄Java併發編程---基礎知識什麼是線程線程和進程線程的狀態和切換線程的創建線程的啓動和執行線程的結束線程的中斷守護線程(Daemon線程)線程安全和線程不安全多線程優缺點線程間通信線程相關的常

原创 反向代理和正向代理

參考圖解代理 一、正向代理 先不說正向代理的概念,舉個栗子:VPN中的代理服務器。 我們作爲客戶端,首先要設置一個代理服務器,指定代理服務器的IP和端口(用戶名密碼),這時就可以訪問本來訪問不了的Google就可以訪問了,這

原创 Java冷知識

Java語言中沒有goto關鍵字,雖然goto作爲了其保留字。如果要實現goto的效果,可使用 “break {tag};”的方式; 數組拷貝:Arrays.copyOf(),兩塊內存,相同內容的數組; 訪問器方法在返回可變對象

原创 Java的參數傳遞到底是引用傳遞還是值傳遞

首先看一段代碼: public static void main(String[] args) { Person a = new Person(23, "a"); Person b = new Person(22,

原创 Java併發編程3---鎖和同步工具類(未完成)

Java併發編程3—鎖和同步工具類 文章目錄Java併發編程3---鎖和同步工具類鎖的意義併發、並行與同步鎖的特性原子性/互斥性可見性鎖的分類樂觀鎖悲觀鎖/互斥鎖自旋鎖可重入鎖讀寫鎖數據庫中的鎖事務的ACID特性事務隔離級別髒讀、

原创 Java多態性淺析

前言 今天我們要講的是 Java的三大特性之一—多態性,而講到多態,就不能不提與之息息相關的另一個概念—動態綁定。我們先看一下定義:一個對象變量可以指向多種實際類型的對象被稱爲多態(polymorphism)。在運行時能夠自動地

原创 《Linux就該這麼學》學習筆記

文章目錄一、 部署虛擬環境安裝Linux系統1. 安裝VMware和Linux系統2. 重置root管理員密碼3. RPM:紅帽軟件管理器常用命令4. Yum軟件倉庫常用命令5. systemd初始化進程系統啓動過程系統目標系統管

原创 大批量數據Excel導出經驗總結

文章目錄背景方案效果實現主線程任務生產者消費者SQL願景參考文獻 背景 目前系統中有一些接口做數據的導出,一開始數據量很小,所以在設計的時候性能什麼的都沒考慮到;隨着數據量的不斷增加,逐漸出現了一些問題: 耗時增加; SQL執行

原创 記一次SpringBoot返回數據亂碼引發的思考

記一次SpringBoot返回數據亂碼引發的思考 文章目錄記一次SpringBoot返回數據亂碼引發的思考問題背景解決過程解決方案:源碼分析HttpMessageConverters的初始化過程HttpMessageConvert

原创 線上服務502問題排查---Linux OOM Killer導致的進程消失現象

線上服務502問題排查 文章目錄線上服務502問題排查問題背景排查過程解決方案覆盤總結知識盤點 問題背景 線上運營平臺有兩臺2C4G的機器組成了集羣,其中服務器A上同時還部署了PDF打印等服務,很明顯4G內存吃緊,一直擔心服務會出現

原创 記一次ViewResolver引起的問題 javax.servlet.ServletException: Could not resolve view with name

記一次ViewResolver引起的問題 文章目錄記一次ViewResolver引起的問題問題背景解決過程查找原因其他的解決方案源碼分析Spring初始化過程ViewResolver的初始化過程InternalResourceView

原创 MySQL事務死鎖排查: Lock wait timeout exceeded; try restarting transaction

問題背景 某天測試功能時,發現有些功能一直在loading,查看日誌後發現,涉及到sample_express表的所有DML語句都執行不了,然後在一段時間後拋出異常:Lock wait timeout exceeded; try r