原创 單例模式引出的一些知識點

文章目錄懶漢式1. 單線程2. 直接使用synchronized但是效率低3. 雙重檢驗4. 加volatile5. 靜態內部類方法餓漢式1. 餓漢式2. 枚舉方法 單例模式裏面其實也是包含很多知識點的,整理一下有助於知識的融會貫

原创 使用Python腳本通過typora上傳圖片到github打造免費私人圖牀

gitee上傳文件api github上傳文件api 這個網址講了怎麼申請token和使用這個api。 結合typora可以非常方便的利用GitHub搭建一個私人圖牀。 之前有很多教程是講的怎麼上傳到七牛雲阿里雲等,但是還是不如這

原创 使用SSH命令行傳輸文件到遠程服務器及一些遠程文件操作

文章目錄SCP1、上傳本地文件到服務器2、從服務器上下載文件3、從服務器下載整個目錄4、上傳目錄到服務器curlwgetcurl和wget區別Proxychains4 SCP 以前一直在windows下用SSH Secure Sh

原创 LeetCode42接雨水問題

LeetCode42 首先,單獨來看每一個柱子,每一個柱子上邊能乘的雨水和三個東西有關係。左邊的最大值和右邊的最大值和自己的高度。用公式來表示就是: curWater = Min(lMax, rMax) - curHeight

原创 幾種命令行傳輸文件到遠程服務器的方式。

  以前一直在windows下用SSH Secure Shell連接遠程服務器,它自帶了一個可視化的文件傳輸工具,跟ftp差不多 但是它也存在一個缺陷,不支持編碼的選擇,遇到utf8就自動亂碼了,另外mac下也沒有這個工具 在mac下我用

原创 給定一個非空的整數數組,返回其中出現頻率前 k 高的元素

給定一個非空的整數數組,返回其中出現頻率前 k 高的元素。 示例 1: 輸入: nums = [1,1,1,2,2,3], k = 2 輸出: [1,2] 示例 2: 輸入: nums = [1], k = 1 輸出: [1] 說

原创 Java中利用反射(或spring)和多態來解決大量swich/case或者if/else的方法

文章目錄背景開閉原則方案枚舉接口實現多態總結 背景 工作中經常會有一些swich case或者if else的情況。一般這種情況一開始可能只有幾個,但是幾次迭代之後可能就會有非常多。代碼不易維護而且代碼亂糟糟的。 我在工作中就遇到

原创 Java多線程常見問題整理

文章目錄前言線程池源碼分析如何創建線程和線程池爲什麼要用線程池?什麼是線程池線程池的單例(也可作爲線程安全的單例的例子)線程池源代碼synchronize和volatileHashMap, HashTable, Concurren

原创 tcp建立和釋放連接過程三次握手四次揮手以及其他計算機網絡知識點

文章目錄Tcp建立和釋放連接過程三次握手四次揮手基礎知識三次握手四次揮手wireshark常見面試題tcp和udp的區別 Tcp建立和釋放連接過程三次握手四次揮手 基礎知識 上圖是tcp的報文格式。 序列號seq:佔4個字節

原创 一些常用設計模式面試常考

文章目錄singleton(單例模式)factory(簡單工廠模式)Proxy(代理模式)Adapter(適配器模式)別名包裝器(Wrapper)Strategy(策略模式)Template(模板模式)舉例說明你什麼時候會用抽象類

原创 Java實現緩存和redis緩存穿透和緩存雪崩的一些研討

文章目錄Java緩存的一些使用和體會公司用到的本地緩存Redis的緩存redis緩存穿透爲什麼會出現後果怎麼辦1. 緩存空值2. BloomFilter緩存擊穿解決方案緩存雪崩解決熱點數據集中失效問題 Java緩存的一些使用和體會

原创 linux通過crontab設置定時任務

最近工作中遇到一個需求,需要每天十點鐘執行一個任務,其實用Java也可以解決,但是Linux有一個內置命令可以輕鬆地設置定時任務。 crontable 用crontab -e進入當前用戶的工作表編輯,是常見的vim界面。每行是一個

原创 讀《java併發編程的藝術》心得1

文章目錄wait和notifyCountDownLatchCountDownLatch和join的區別隊列同步器自己做一個鎖可重入鎖Condition 最近在看《Java併發編程的藝術》,看到書裏的一些程序片段,發現了一些之前沒有

原创 《Redis設計與實現》第二部分

文章目錄前言第二部分 單機數據庫的實現數據庫數據庫鍵空間設置過期時間以及過期鍵刪除策略惰性刪除定期刪除 前言 看完第一部分之後,發現真的是受益匪淺。首先和我想的還是有些不一樣的。我原以爲會引用大量的源代碼深入細節的寫。但是看完之後

原创 《Redis設計與實現》第一部分

文章目錄前言第一部分 數據結構與對象簡單動態字符串鏈表字典hash算法rehash跳躍表有序表跳躍表跳錶的搜索跳錶的插入跳錶的刪除整數集合集合升級降級壓縮列表對象字符串對象列表對象哈希對象集合對象有序集合類型檢查內存回收對象共享