原创 Java NIO原理圖文分析及代碼實現

目錄: 一.java NIO 和阻塞I/O的區別      1. 阻塞I/O通信模型      2. java NIO原理及通信模型 二.java NIO服務端和客戶端代碼實現 具體分析: 一.java NIO 和阻塞I/O的區別  1

原创 Docker 刪除上一次部署的容器對應的鏡像

Docker 刪除上一次部署的容器對應的鏡像 場景 在自動化運維中,經常升級更新部署容器,造成鏡像不斷在機器上堆積。本地機器還好,如果是雲虛擬機,機器存儲很快就會耗盡,導致運行程序緩慢。 解決辦法 定時任務清理 linux 定期

原创 java中的System.nanoTime與System.currentTime

平時產生隨機數時我們經常拿時間做種子,比如用System.currentTimeMillis的結果,但是在執行一些循環中使用了System.currentTimeMillis,那麼每次的結果將會差別很小,甚至一樣,因爲現代的計算機運行速度

原创 如何學習java?

基礎很重要,千萬不能好高騖遠 學好java,特別是java高級編程,需要很多的基礎作爲鋪墊,而不能一味的好高騖遠,基礎既包括java語言的基本知識,面向對象的思想,更包括了操作系統,數據結構,以及數據庫基礎知識,和計算機網絡等知識。只要

原创 Docker dubbo 服務註冊

Dubbo 服務註冊 問題 在容器部署應用和常規部署應用混合使用一套 zk 時,將出現常規部署應用調用遠程容器 dubbo 服務失敗。 原因 在容器中部署應用時,應用中的 dubbo 服務,獲取容器 hostname 的 IP

原创 tomcat 7/8 啓動非常慢的解決方法

在日誌中發現啓動慢的地方: 2016-11-14 09:31:30.522 [localhost-startStop-1] INFO o.s.c.s.DefaultLifecycleProcessor - Starting b

原创 Docker 完美解決測試環境重複造數據刪數據痛點

數據庫持續備份和恢復 問題 目前在測試那邊的現狀,測試同學經常得在數據庫中不斷重複造數據刪數據。 原因 因爲測試環境中的數據庫唯一,每次修改無法做到快照備份,在各種測試切換中,需要重複造數據,刪數據。 分析 針對測試同學這個

原创 arraylist等記錄修改次數modCount有什麼作用?

下面是源碼中的註釋,可以參考。 大概意思就是說:在使用迭代器遍歷的時候,用來檢查列表中的元素是否發生結構性變化(列表元素數量發生改變)了,主要在多線程環境下需要使用,防止一個線程正在迭代遍歷,另一個線程修改了這個列表的結構。好好認識下這個

原创 java 反射性能

1. 錯誤的使用方法 錯誤的使用方法是每次需要獲取Class的對象時都使用Class.forName方法,或者需要調用Class對象上的方法時都調用getDeclaredMethod(String name, Class<?>... pa

原创 java Hashcode實際應用場景

Hashcode實際應用場景 Hashcode public int hashCode() 以前一直覺得幾乎不太可能會用到hashcode,所以一直寫bean沒有覆蓋hashcode()方法 返回該對象的哈希碼值。支持此方法是爲了提

原创 Java序列化

java序列化 序列化的作用 java序列化是把對象持久化, 將對象寫入流或者文件中,以便網絡傳輸遠程對象,或者將對象的狀態持久化。反序列化是將對象的狀態讀出重建承一個對象的過程。 序列化的必要性 java中一切都是對象,在分佈式環境中

原创 分佈式消息隊列中間件系列研究之阿堂教程(基礎篇-Local模式)

 爲了考慮web架構的伸縮性,擴展性及重用性,目前許多大型門戶網站及大平臺,如淘寶網,天貓網,京東商城,噹噹網,及騰訊,Facebook等電商或社交網站,均大量採用中間件的設計,中間件又細分爲業務流中間件,服務中間件,消息隊列中間件,緩