原创 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() {