原创 btrace 的使用

BTrace是一個非常不錯的java診斷工具。 BTrace 中的B表示bytecode,它是在字節碼層面上對代碼進行trace ,通過在運行中的java類中注入trace代碼, 並對運行中的目標程序進行熱交換(hotswap)來達到對

原创 ClassLoader

ClassLoader本身是一個Abstract Class,我們可以擴展ClassLoader的實現特定的load需求。 java應用環境中不同的class分別由不同的ClassLoader負責加載。 一個jvm中默認的classloa

原创 磁盤的分區與系統引導啓動

硬盤結構 硬盤有很多盤片組成,每個盤片的每個面都有一個讀寫磁頭。如果有N個盤片。就有2N個面,對應2N個磁頭(Heads),從0、1、2開始編號。每個盤片的半徑均爲固定值R的同心圓再邏輯上形成了一個以電機主軸爲軸的柱面(Cylinders

原创 mysql操作命令記錄

一:安裝完mysql後,會缺少 /etc/my.cnf 文件,可以手動添加。 配置項目參考:http://my.oschina.net/eduosi/blog/270535  [client] port = 3306

原创 Btrace使用

前陣子排查一個OOM 的問題,剛好和hsf有點關係,於是找畢玄幫忙查找問題,看看hsf 的代碼,看到畢玄在用Btrace來跟蹤方法的調用,覺得此法還是不錯滴,以前都是人肉看現象推測,汗,再次記錄下。 http://blog.bluedav

原创 java 內存CMS GC

今年公司開始試用CMS 的GC方式,這裏主要是記錄幾個地址,看到了覺得還蠻不錯的。     1:關於CMS  GC 的日誌說明,以及基本的問題調優,雖然已JDK4,5來說明的,但是基本差不多。 http://www.sun.com/big

原创 2010年的總結

    想想自己其實很少有寫些什麼東西,最近幾天因爲需要晉升面試,所以 稀里嘩啦的整理了下以前看過的一些知識點,稍微梳理了下。這一天天總算是過去了,沒有想到居然是第一天的上午就面試我了。有點汗顏。不過不管結果如何總算是過去了,雖然到現在爲

原创 synchronized鎖的粒度

synchronized做代碼塊鎖的時候,如果是使用自定義的鎖,或者this對象作爲鎖,那麼鎖定的是對象,如果對於靜態的對象做鎖定,那麼鎖定的就是類了。 當線程A,在操作訪問鎖定的對象時候, 線程B如果要進入synchronized代碼塊

原创 java 多線程

理解java多線程,對於java內存模型的理解是必須的。   java 內存模型 ( java memory model ) 根據Java Language Specification中的說明, jvm系統中存在一個主內存(Main Me

原创 硬盤相關基礎知識

說明:本文來源於網絡相關知識收集。 一、硬盤的基本概率 內部數據傳輸率(Internal Transfer Rate)是指硬盤磁頭與緩存之間的數據傳輸率,簡單的說就是硬盤將數據從盤片上讀取出來,然後存儲在緩存內的速度。內部傳輸率可以明確表

原创 生產環境系統負載測試

今年公司對於系統的穩定性越來越重視,爲了知道了解系統的運行狀況,前陣子對於交易系統做了生產環境的壓力測試。 視乎記憶力越來越差了,做過的一些事情,慢慢的都快忘記了,這裏記錄下運行的軌跡: 因爲畢竟是生產環境,可不能夠隨便的瞎折騰,於是

原创 項目過程中的找bug總結

經歷了近3個月的奮戰,終於和一幫兄弟姐妹們完成了退款一期項目的改造工程。項目過程還是蠻辛苦的,免不了加班加點的了。在這裏感謝下項目組成員的付出。不過項目發佈後的反響還是不錯的。這個也是項目組成員值得欣慰的事。閒話少說,進入正題。在這裏紀錄

原创 Mina 學習紀錄

MINA 是基於 filterchain 來做的。類似web請求的filter,通過一串串的filter 處理費業務性的處理邏輯,如編解碼,日誌等。然後交由 handler 去實施自己的業務處理邏輯。在Mina裏面,對於NIO的 sock

原创 Groovy& Grails學習紀錄

參考: http://groovy.codehaus.org/Getting+Started+Guide   以前一直對動態編譯語言不太感冒,覺得那個開發過程還是蠻痛苦的,可能習慣了IDE工具的支持,轉而學習動態語言卻回退到了文本編輯的時

原创 java 基礎之 範型

範型的最佳用途,就是用於實現容器類,實現一個通用的容器。該容器可以存儲對象,也可以取出對象,而不用考慮對象的具體類型。 在java中,範型是在編譯器中實現的,而不是在虛擬機中實現的,虛擬機對範型一無所知。 因此,編譯器一定要把範型類修改爲