原创 RMI的分佈式垃圾回收

好久以前看過DGC,當時沒有記錄下來,看到IBM寫的簡介還不錯,特轉載。又簡單看了一下DGCClient源碼,有個疑問:爲什麼不用WeakReference,而是寫一個PhantomReference的子類,然後在子類中引用RefEntr

原创 hadoop啓動腳本文件的解讀(1.1.2)

先從start-all.sh開始 #!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one or more # contributo

原创 Linux下查看命令的位置

frivol@ubuntu:~$ which ls /bin/ls frivol@ubuntu:~$ whereis ls ls: /bin/ls

原创 Linux查看版本及內核

linux查看內核: cat /proc/version uname -a 查看發行版: cat /etc/issue 有的版本可以用: lsb_r

原创 $IFS 的含義

The IFS is a special shell variable.You can change the value of IFS as per your requirments.The Internal Field Separato

原创 Linux下查看cpu信息

frivol@ubuntu:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(

原创 tomcat設置nio模式

tomcat-7.0.25 windows版默認模式爲 apr模式, 把server.xml的 <Connector port="8080" pro

原创 jdk7的Phaser

Phaser是jdk7中新增的併發同步器,具有CyclicBarrier和CountDownLatch的功能,但比後兩者更靈活。 CyclicBarrier和CountDownLatch的特點是parties數(參與控制計數的線程數)是固

原创 linux中shell變量$#,$@,$0,$1,$2的含義解釋

linux中shell變量$#,$@,$0,$1,$2的含義解釋:  變量說明:  $$ Shell本身的PID(ProcessID)  $!  Shell最後運行的後臺Process的PID  $? 最後運行的命令的結束代碼(返回值

原创 在shell腳本中調用另一個腳本的三種不同方法(fork, exec, source)

fork  ( /directory/script.sh) fork是最普通的, 就是直接在腳本里面用/directory/script.sh來調用script.sh這個腳本. 運行的時候開一個sub-shell執行調用的腳本

原创 動態加載class文件

想要在jvm啓動後,動態的加載class類文件,我們首先需要了解Instrumentation、Attach、Agent、VirtualMachine、ClassFileTransformer這幾個類的用法和他們之間的關係。 Java的c

原创 SEDA介紹與分析

SEDA(Staged Event-Driven Architecture)並不是很新的技術,但它總會在我閱讀的資料裏出現些許影子,所以就拿出一些時間看了一下與它相關的論文資料。SEDA的目標很遠大,它要構建支持大併發的互聯網系統,並克

原创 ubuntu安裝、刪除、查看軟件包

安裝: sudo apt-get install xxx 刪除: sudo apt-get remove xxx (只刪除軟件包) sudo apt-get purge xxx(同時也刪除配置文件) 查看: dpkg -l

原创 簡說SEDA - 分階段的事件驅動架構

SEDA(Staged Event-Driven Architecture),分階段的事件驅動架構。 要說SEDA,首先要說一下服務端常用的兩種處理模型,多線程處理模型和事件驅動處理模型。 1. 多線程處理模型是每個請求由一個線程全程服務

原创 BigPipe要點

BigPipe是facebook的研究科學家Changhao Jiang發明的一種快速加載網頁的方法。 1. 頁面分塊(pagelet) 2. 服務端先輸出給客戶端一個不完整的框架性的HTML頁面(沒有結尾的</body>),裏面有表示