原创 java中i=i++

1、i++和++i 自增的兩種形式:i++表示先賦值後加1,++i表示先加1後賦值 2、i=i++,看如下代碼: public class Test { public static void main(String[] arg

原创 HashMap實現原理及源碼分析

一、什麼是哈希表        哈希表和數組、鏈表、二叉樹一樣,是一種數據結構。和其他數據結構相比,哈希表在進行添加、查找、刪除等操作時具有十分好的性能,在不考慮哈希衝突的情況下,只需要一次定位即可完成操作,時間複雜度爲O(1)。    

原创 netty心跳檢測,定時任務

剛接觸Netty,寫的不好敬請諒解。 最近有一個需求,需要從客戶端客戶端定時的向服務器發送數據,通知服務器自己的一些狀態信息,比如本地的cup使用率,內存使用率等信息,大體實現如下:   是用到了java提供的線程池,          

原创 netty拆包粘包

 一、TCP拆包粘包        TCP是個“流”協議,所謂流,就是沒有界限的一串數據。TCP底層並不瞭解上層業務數據的具體含義,它會根據TCP緩衝區的實際情況進行包的劃分,所以在業務上認爲,一個完整的包可能會TCP拆分成多個包進行發送

原创 單例與多線程

單例的兩種實現: 1、立即加載(餓漢模式) public class Singleton { private static Singleton singleton = new Singleton(); private

原创 java線程,interruped()和isInterrupted()

  首先看一下中文解釋及API實現: 1) interrupted():測試當前線程是否已中斷。 public static boolean interrupted() { return currentThread().isIn

原创 ZooKeeper原理及使用

ZooKeeper是Hadoop Ecosystem中非常重要的組件,它的主要功能是爲分佈式系統提供一致性協調(Coordination)服務,與之對應的Google的類似服務叫Chubby。今天這篇文章分爲三個部分來介紹ZooKeepe

原创 併發模型:Future模式

 多線程開發可以更好的發揮多核cpu性能,常用的多線程設計模式有:Future、Master-Worker、Guard Susperionsion、不變、生產者-消費者 模式;jdk除了定義了若干併發的數據結構,也內置了多線程框架和各種線

原创 Java的native關鍵字

今天研究Java基礎類庫,Object類的時候,發現了一個關鍵字:native 咦?這是個什麼東東?它認識我,我可不認識它! 嘿嘿,沒關係,baidu一下。   java native關鍵字  一. 什麼是Native Method   

原创 執行root權限命令

java項目,在Linux上執行root權限的命令,代碼如下:private BufferedReader runRootLocal(String command) throws Exception{

原创 jsch實現sftp祕鑰登錄,傳輸文件

需求:實現文件的上傳和下載,對安全性有較高的要求。 在ftp與sftp中選擇sftp,SFTP是Secure File Transfer Protocol的縮寫,安全文件傳送協議,可以爲文件提供一種安全的加密方法。跟ftp的語法功能幾乎一

原创 log4j自動加載

在項目中,log4j的jar導入之後,會自動加載配置文件。看源代碼:    快捷鍵,進入org.apache.log4j.Logger中的getLogger()方法:    繼續,進入LogManager類中,查看該類的靜態代碼塊:   

原创 使用jsch中ChannelShell,使用readline方法讀取執行結果時,被阻塞

最近使用jsch中的ChannelShell,使用BufferedReader的readLine()方法讀取返回結果,代碼如下: while ((line = dataIn.readLine()) != null){ stdou

原创 Linux下,mysql重置密碼以及轉儲、導入sql文件

一、mysql重置密碼root用戶登錄Linux1、修改/etc/my.cnf文件    #vi /etc/my.cnf    在[mysqld]後添加  skip-grant-tables2、重啓mysql服務    如果是mysql:

原创 Java 對象與垃圾回收

    當程序創建對象、數組等引用型實體的時候,系統會在堆內存中分配一塊內存區,對象保存在這塊內存區中,當該內存不再被任何引用變量引用時,這塊內存就變成了垃圾,等待垃圾回收機制進行回收。 垃圾回收機制的特徵: 1、只負責回收堆內存中的對象