原创 JVM Crash 日誌(hs_err_pid.log)分析

  大家好,最新碰到JVM Crash的問題,拿出來跟大家分享下。這個文件將包括:觸發致命錯誤的操作異常或者信號;版本和配置信息;觸發致命異常的線程詳細信息和線程棧;當前運行的線程列表和它們的狀態;堆的總括信息;加載的本地庫;命令行參數;環

原创 JVM 基礎知識(GC)

幾年前寫過一篇關於JVM調優的文章,前段時間拿出來看了看,又添加了一些東西。突然發現,基礎真的很重要。學習的過程是一個由表及裏,再由裏及表的過程,所謂的“溫故而知新”。而真正能走完這個輪迴的人,也就能稱爲大牛或專家了。這個過程可能來來回回,

原创 Linux 中的零拷貝技術,第 2 部分

Linux 中的直接 I/O如果應用程序可以直接訪問網絡接口存儲,那麼在應用程序訪問數據之前 存儲總線就不需要被遍歷,數據傳輸所引起的開銷將會是最小的。應用程序或者運行在用戶模式下的庫函數可以直接訪問硬件設備的存儲,操作系統內核除了進行必

原创 Java 8: 從永久代(PermGen)到元空間(Metaspace)

正如大家所知,JDK 8 Early Access版已經提供下載。這使開發者可以體驗Java8的新特性。其中之一,是Oracle從JDK7發佈以來就一直宣稱的要完全移除永久代空間。例如,字符串內部池,已經在JDK7中從永久代中移除。JDK8

原创 Linux 中的零拷貝技術,第 1 部分

爲什麼需要零拷貝技術如今,很多網絡服務器都是基於客戶端 - 服務器這一模型的。在這種模型中,客戶端向服務器端請求數據或者服務;服務器端則需要響應客戶端發出的請求,併爲客戶端提供它所需要的數據。隨着網絡服務 的逐漸普及,video 這類應用

原创 我的友情鏈接

51CTO博客開發

原创 JVM 基礎知識(GC)

幾年前寫過一篇關於JVM調優的文章,前段時間拿出來看了看,又添加了一些東西。突然發現,基礎真的很重要。學習的過程是一個由表及裏,再由裏及表的過程,所謂的“溫故而知新”。而真正能走完這個輪迴的人,也就能稱爲大牛或專家了。這個過程可能來來回回,

原创 rocketmq namesrv 第二章接收處理過程

  大家好,很高興在這裏跟大家分享下rocketmq源碼實現,如有不對的地方歡迎指正。接着上篇文章繼續展開namesrv註冊過程。  1 public void initChannel(SocketChannel ch) throws Ex

原创 rocketmq namesrv 第一章啓動過程

  大家好,很高興在這裏跟大家分享下rocketmq源碼實現,如有不對的地方歡迎指正。Namesrv顧名思義就是名稱服務,是沒有狀態可橫向擴展的服務。廢話不多說了,直接貼代碼。。1,入口函數NamesrvStartup.main0     

原创 Linux 中的零拷貝技術,第 2 部分

Linux 中的直接 I/O如果應用程序可以直接訪問網絡接口存儲,那麼在應用程序訪問數據之前 存儲總線就不需要被遍歷,數據傳輸所引起的開銷將會是最小的。應用程序或者運行在用戶模式下的庫函數可以直接訪問硬件設備的存儲,操作系統內核除了進行必

原创 JVM Crash 日誌(hs_err_pid.log)分析

  大家好,最新碰到JVM Crash的問題,拿出來跟大家分享下。這個文件將包括:觸發致命錯誤的操作異常或者信號;版本和配置信息;觸發致命異常的線程詳細信息和線程棧;當前運行的線程列表和它們的狀態;堆的總括信息;加載的本地庫;命令行參數;環

原创 rocketmq broker 第三章接收處理1

  大家好,上一次分析了註冊流程 這次就開始分析下接收處理過程。貼圖1,this.defaultEventExecutorGroup = new DefaultEventExecutorGroup(//            nettySe

原创 rocketmq broker 第三章註冊過程2

   大家好,接下上篇文章繼續吧。10,boolean initResult = controller.initialize();    這纔是controller初始化的地方    boolean result = true;    re

原创 rocketmq broker 第三章註冊過程1

   hi 大家好 上兩章介紹了namesrv的啓動和註冊過程,有什麼不對的地方歡迎大家吐槽,接着開始分析broker吧有些地方畫不下了 通過分析看細節吧..1,createBrokerController   System.setProp

原创 我的友情鏈接

51CTO博客開發