原创 Java 通過FTP與SFTP 方式, 實現 文件的上傳下載 刪除操作

1. FTP FTP通訊協議採用客戶機 / 服務器(Client / Server )架構。用戶可以通過各種不同的FTP客戶端程序,藉助FTP協議,來連接FTP服務器,以上傳或者下載文件。 默認端口: 21 在此協議中SSH2

原创 實現 Java 本地緩存(轉)

轉載的內容 緩存,我相信大家對它一定不陌生,在項目中,緩存肯定是必不可少的。市面上有非常多的緩存工具,比如 Redis、Guava Cache 或者 EHcache。對於這些工具,我想大家肯定都非常熟悉,所以今天我們不聊它們,我們

原创 Java同步控制類的使用

有時爲了控制同步, 我們一般會是用synchronized關鍵字或者對於變量使用volatile 進行修飾, 來達到併發的一個控制 synchronized 可以鎖類, 對象實例, 其他對象, wait和notify要放在syn

原创 SQL 學習筆記(一)

1. SQL語言按功能劃分 DDL,英文叫做 Data Definition Language,也就是數據定義語言,它用來定義我們的數據庫對象,包括數據庫、數據表和列。通過使用 DDL,我們可以創建,刪除和修改數據庫和表結構。

原创 數據庫優化知識小結(二)

1. 數據庫調優維度 數據庫調優的目的: 讓數據庫運行的更快,相應時間更快, 吞吐量更大 用戶的反饋----> 找到數據相關問題 日誌的分析-----> 日誌和異常定位問題 服務器資源的監控------> CPU / 內存

原创 Git學習命令使用

1. 下載安裝Git 學習來源:添加鏈接描述 2. 使用命令 git創建全局用戶 git config --global user.name “xzb” git config --global user.email “4

原创 記錄一個IDEA中MAVEN更新私服jar,download不下來的原因

在公司下載項目後, 需要下載相應的jar包, 加了一個Maven依賴項(dependency)可是我始終獲取不到本地 解決: 1. Maven的setting.xml文件檢查沒有問題 , 比如私服地址配置,鏡像等 配置發佈時使用

原创 BIO與NIO簡單學習

1. 概念 2. BIO 3. NIO 4. 使用: 如果拿NIO比作成一個餐廳的話,ServerSocketChannel就相當於整個餐廳,SocketChannel相當於客人,Selector相當於服務員,Selecti

原创 Win10下安裝多版本MySQL(MySQL5和MySQL8)

1. 多版本zip準備 [ https://dev.mysql.com/downloads/mysql/ ] 官網地址, MYSQL5.7 2. MYSQL8, 2. 解壓到指定目錄 3. 配置環境變量 2. 加入Pa

原创 本地緩存Ehcache的使用(記錄)

1. 什麼是Ehcache Ehcache是純java的開源緩存框架,具有快速、精幹等特點,是Hibernate中默認的CacheProvider。它主要面向通用緩存、Java EE和輕量級容器,具有內存和磁盤存儲、緩存加載器、緩存

原创 API接口冪等設計(Token方式防止表單重複提交或網絡延遲)

場景要求:頁面的數據只能被點擊提交一次 發生原因:由於重複點擊或者網絡重發,或者 nginx 重發等情況會導致數據被重複提交 解決辦法: 集羣環境:採用 token 加 redis(redis 單線程的,處理需要排隊) 單 JVM 環

原创 linkedList模擬實現map 原理: 數組+鏈表的方式實現Map功能(不是hashMap)

大致思路 實體基於Entry<K,V> 存儲 此處是使用LinkedList自己封裝的鏈表 ,這個實現的效率低 基於1.7版本的HashMap原理: 單項鍊表+數組 Node<K,V>[] 實現 基於1.8把那本的HashMap原理

原创 通過源碼分析自定義實現LinkedList集合

數據結構 數組; 鏈表; 紅黑樹; 二叉樹 數組和鏈表結構對比 實現細節以及思路 實現本質: 雙向鏈表的數據結構 鏈表: 節點: 存儲上一個節點地址信息, 元數據, 下一個節點地址信息 通過地址指針 實現數據節點的雙向指向 核心

原创 自定義實現ArrayList

大致思路 通過看源碼ArrayList 分析: 核心 (1)是由線性的連續分配的內存空間, 有Object[]數組實現 (2當數組滿時, 需要使用擴容機制: System.arraycopy(原數組,原數組的起始複製位置,