原创 Redis系列之四:Redis自動化部署腳本(主備)

Redis在生產環境中,很少使用單機模式,原因很明顯:存在單點故障,無法保證高可用性。所以,在生產環境中可以選擇主備模式或者集羣模式,這裏介紹一下主備模式的自動化部署腳本,後續文章會介紹集羣模式的部署。 部署腳本 #!/bin/b

原创 詳解Java合併數組的兩種實現方式

這篇文章主要介紹了Java合併數組的兩種實現方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧 最近在寫代碼時遇到了需要合併兩個數組的需求

原创 清除原有的SVN信息

1. 遇到的問題 將一個已經上傳到svn的工程拷貝到其他目錄或者機器,然後希望提交到其他svn路徑時會發現,提交時總會默認提交到之前的svn路徑,導致無法實現提交到新的svn路徑。此時需要清除原有的svn信息。 2. 清除svn信息的

原创 Java NIO持續觸發讀事件的解決方法

1. 現象 最近在一次項目編碼中遇到這麼一個情況: 程序本身是一箇中間處理器的角色,功能可簡述爲接收硬件設備的報文,然後對某些報文處理(其他報文直接轉發),然後發送服務端處理;服務端處理後回覆,程序接收服務端回覆,然後直接轉發給硬件設

原创 ActiveMQ雙機熱備時的連接跳動問題解決

1. 現象 爲了避免單點故障,系統整體採用主備方式來實現。ActiveMQ作爲重要的消息總線,自然也需要採取雙機熱備的方式。但是在系統實際運行過程中,出現了一個奇怪的現象:模塊A連接的MQ服務器在兩臺機器之間來回跳動,而模塊B不會同步

原创 NIO在Windows下佔用大量CPU資源原因詳解

1. 現象簡述 在項目性能測試過程中發現,同樣的代碼,連接同樣數量(10萬)的設備(設備和代碼之間通過NIO有大量的數據交互),在Linux下CPU利用率只有20%~30%,而在windows下卻一直高於80%。 2. 原因初步排查

原创 ActiveMQ之【Connection refused: no further information】異常解決

最近多次遇到啓動程序時連接ActiveMQ出現如下報錯: 一開始以爲是MQ沒有啓動成功,但是啓動的命令窗口並沒有報錯,網頁的控制檯也能正常訪問。後來才發現,是MQ中/conf目錄下的activemq.xml配置文件配置錯誤。 在ac

原创 【No buffer space available】異常解決

最近在工作中遇到這樣一個場景:使用一個Java編寫的模擬硬件設備的工具,這個工具會模擬很多設備(每個設備需要佔用一個端口)去連接服務器。一般情況下,一臺Windows虛擬機上會模擬5000至10000個設備,這樣一般不會有問題。後來改

原创 深入理解遞歸算法

遞歸算法是一種經典的算法,在很多時候可以使代碼變得非常簡潔,但它也有一個很大的缺點,就是效率比較低。不管怎麼說,這一算法在實際編碼中還是有非常大的作用,以前一直沒有很理解這個算法的執行過程和原理,這兩天花了很多時間去研究這個,終於算是明白

原创 windwos下啓動Redis或者Sentinel報錯【listen:Unknown error】的原因及解決辦法

筆者一般在linux下使用redis,因爲redis團隊並沒有編寫windows版本的redis,所以windows版本的redis維護和更新沒有linux版本的及時。最近有同事在windows下使用redis時遇到了問題,具體如下。 1

原创 Redis系列之一:Redis簡介

寫在前面的話: 筆者在最近工作中開始接觸Redis,並將Redis應用於項目中。在慢慢深入學習和使用的過程中,總結和整理了一些關於Redis的資料,希望能和大家一起分享、一起交流、共同進步。 《Redis系列》將從Redis的簡單介紹到R

原创 2018年科大訊飛春招筆試編程題

科大訊飛2018春招的筆試編程題中,第一題是判斷蚊子是否在蚊帳中,比較簡單,這裏不做說明,本文將簡單講解第二題和重點說明第三題的解法。 第二題 1.題目 2.輸入輸出及樣例 3.思路 這題思路很容易想到,最後拿到的工資可以用m

原创 java面試題

最近,網上有很多總結java面試題的文章。其中一些包含了許多基礎問題,另一些包含了特殊領域的特殊問題,如多線程。在接下來的日子裏,我們將不會太多的涉及到基礎性的問題,我們將會提供一些特別點的東西。對於基礎問題,你可以閱讀 Java Int