原创 JVM內存結構組成
背景:一談到JVM一直是很多人覺得頭疼的知識點,那麼針對JVM這個痛點,我總結了一些,網上很多談到由淺入深JVM,其實醜話說在前,一篇文章或者幾篇文章是不夠深入JVM的,但至少知其然。 PS:至於知其所以然,依舊還是推薦《深入理解JVM》
原创 手寫ArrayList集合與源碼分析
背景:首先集合大家是非常熟悉的,不管是個人日常編碼還是公司項目,都是經常打交道的好朋友。但是我們要摸清楚她的底細,畢竟好朋友就是要知根知底~ 那麼來認識認識集合中的List集合,List集合中的ArrayList集合,四捨五入就是
原创 使用xshell將Linux文件發送至Windows
目錄 一、打包 二、發送 三、可能出現的問題 四、文件分割 五、再次發送文件即可。 前言:相信都有需要將Linux文件發送到Windows時的需求,那麼這時候就可以參考本文了! 注意:工具爲 Xshell 6 一、打包 首先使用打包命令,
原创 三顧HashMap,一顧結構,二顧變量,三顧構造函數及首次擴容原理
背景摘要:在Map集合中,最常用的集合就是HashMap集合了。相信各位也能脫口而出她的特徵,JDK7(以下簡稱爲7)和JDK8(以下簡稱爲8)源碼和實現不一樣。7底層由數組+單向鏈表實現。在這之前我們提到過基於數組和鏈表實現的兩個集合。
原创 IDEA將當前項目JDK更改爲指定版本
背景摘要:在日常學習回顧時,我們可能要根據不同版本的JDK對其差異源碼進行分析。來了解她背後的優秀設計。顧我們就需要知道如何去靈活替換IDEA的當前項目的JDK,而不是當需要替換時就卸載當前JDK,裝一個需要的JDK,使用完後再弄回來之類
原创 Redis取緩存值時爲空
一、錯誤場景 Redis存 List<Object> 時 存的數據有五條。 PS:Object是一個實體類 但是在拿值的時候卻是NULL, 打開Redis客戶端也是爲NULL,如圖,value爲空 二、錯誤解釋 這是因爲存入緩存的實體類並
原创 【多線程】一、多線程快速入門
目錄 一、進程與線程的區別 二、爲什麼要使用多線程? 三、常見創建線程的方式 3.1、繼承Thread類 3.2、實現Runnable接口 3.3、匿名內部類 3.4、匿名內部類(Lambda創建) 四、啓動線程方式以及優先級 多線程相
原创 【Socket】二、UDP協議與TCP協議通訊示例
二、UDP協議 三、TCP協議 3.4、三次握手與四次分手 四、網絡通訊容易遇到的BUG 4.1、Address already in use : JVM_Bind 4.2、Connection refused:connet 【Soc
原创 local class incompatible: stream classdesc serialVersionUID = 4696092613551164015, local
錯誤原文: com.**.***.entity.Wheat; local class incompatible: stream classdesc serialVersionUID = 4696092613551164015, loca
原创 極光推送之自定義消息推送
一、引入Maven jar 包 官網地址:https://docs.jiguang.cn/ 版本非實時更新,故可取官網或Maven倉庫尋找最新地址 https://mvnrepository.com/artifact/cn.jpush.
原创 VMware刷新Linux虛擬機IP地址
一、點擊需要修改的虛擬機,單擊網絡適配器 二、彈出的框中繼續點擊網絡適配器,然後點擊高級 三、彈出的框中點擊生成 四、地址改變後單擊確定即可 五、完成
原创 【Socket】三、Socket使用線程池支持多個線程同時訪問
一、使用循環不斷接受客戶端發送的消息 二、使用線程池優化訪問 三、使用Lambda優化線程池匿名內部類 【Socket】一、Socket概述 【Socket】二、UDP協議與TCP協議通訊示例 【Socket】三、Socket使用線程池支
原创 JSON數據轉換處理
一、需求背景 我們在項目中時常會需要使用第三方接口,在使用第三方接口時,會返回一個JSON格式字符串,這個時候就需要使用JSON工具類來進行轉換。PS:根據不同需要來轉換對應的類型。 二、使用示例 在沒有使用工具類方法時的代碼體現。 我
原创 【Docker】七、使用Docker進入容器以nginx爲例
連載文章:Docker大綱 一、進入配置中心 docker container exec -it f0b1c8ab3633 /bin/bash 進入到容器,默認情況下軟件安裝的目錄的/ect目錄下 退出:輸入 exit 命令 進入之後可
原创 使用Lambda優化代碼,Lambda表達式之美
一、優化線程 //JDK1.7及以前創建 Thread thread = new Thread( new Runnable() { @Override public void run() {