摘要:
閱讀全文
posted @
2007-12-06 09:36 flyepp 閱讀(390) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-05 20:48 flyepp 閱讀(243) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-04 14:59 flyepp 閱讀(294) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-04 14:57 flyepp 閱讀(7520) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-04 14:56 flyepp 閱讀(1516) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-04 09:57 flyepp 閱讀(688) |
評論 (0) |
編輯 收藏
ssh-keygen -t rsa
scp ~/.ssh/identity.pub drobbins@remotebox
ssh drobbins@remotebox
cat identity.pub >> ~/.ssh/authorized_keys
exit
ssh drobbins@remotebox
posted @
2007-11-29 00:46 flyepp 閱讀(236) |
評論 (1) |
編輯 收藏
轉(zhuǎn)載自http://blog.csdn.net/yuekun1172006/archive/2007/06/02/1634878.aspx
類裝入器是 JVM 用來裝入類的類,它對于 Java 編程是非常重要的一個概念。一般情況下,程序員在編寫程序的時候都可以忽略類裝入器的存在性。但是對于服務器端編程或者是一些特殊情況下時候,深入了解類裝入器的機制以及其在不同情況下的實現(xiàn)還是非常必要的。
首先,當一個 JVM 啟動的時候,Java 缺省開始使用三個類裝入器。它們分別是:
- 引導(Bootstrap)類裝入器;
- 擴展(Extension)類裝入器;
- 系統(tǒng)(System)類裝入器;
它們分別實現(xiàn)如下的功能:
- 引導類裝入器是用本地代碼實現(xiàn)的類裝入器。它負責將
<Java_Runtime_Home>/lib
下面的類庫加載到內(nèi)存中。
- 擴展類裝入器是由 Sun 的 ExtClassLoader 實現(xiàn)的。它負責將
< Java_Runtime_Home >/lib/ext
或者由系統(tǒng)變量 java.ext.dir 指定位置中的類庫加載到內(nèi)存中。
- 系統(tǒng)類裝入器又叫應用程序類裝入器,是由 Sun 的 AppClassLoader 實現(xiàn)的。它負責將系統(tǒng)類路徑(CLASSPATH)中指定的類庫加載到內(nèi)存中。
當應用程序需要加載某個類到內(nèi)存中的時候,類裝入器是如何工作的呢?這就設計到類裝入器的一個重要方面:代理機制。每一個類裝入器,除了引導類裝入器以外,都有一個父類裝入器。對于系統(tǒng)缺省定義的三個類裝入器,引導類裝入器是擴展類裝入器的父類裝入器,而擴展類裝入器是系統(tǒng)類裝入器的父類裝入器。當然,應用程序也可以使用自己的類裝入器來使用特定的方法來裝載類,因此,整個系統(tǒng)中的類裝入器就形成一個樹狀結構。
當使用某個類裝入器來試圖裝載某個類的時候,該類裝入器會首先使用其父類裝入器來試圖裝載該類。對于每一個裝載進來的類,JVM 都會給其分配一個唯一的 ID。因此,不同類裝入器可以裝載同一個類到 JVM 中。例如,對于如下圖結構的 ClassLoaderA
和 ClassLoaderB
:
圖 1 類裝入器的結構
假設類 C
在系統(tǒng)類裝入器指定的類路徑中,則無論是使用 ClassLoaderA
還是使用 ClassLoaderB
,都只會得到同樣一個類 C
。
但是如果類 C
分別在 ClassLoaderA
以及 ClassLoaderB
指定的類庫中,則使用 ClassLoaderA
得到到類 C
實例會不同于 ClassLoaderB
得到的類 C
實例。盡管兩個類裝入器在同一個 JVM 中。
上面的類裝入器的向上代理結構看上去很完美了,但是,當系統(tǒng)變得復雜的時候,就還是顯得不夠用了。
例如,當 Java 引入了 JNDI 以后,JNDI 核心部分是通過引導 類裝入器在 JVM 啟動的時候裝載進入 JVM 的。而 JDNI 核心部分是通過配置信息來在運行時候裝載定義在用戶的類路徑中的特定類來完成特定需要。而這是上面定義的類裝入器的向上代理模式所不能支持的。
為了解決這個問題,Java 2 中引入了線程上下文(Thread Content)類裝入器的概念,每一個線程有一個 Context 類裝入器。這個 Context 類裝入器是通過方法 Thread.setContextClassLoader()
設置的,如果當前線程在創(chuàng)建后沒有調(diào)用這個方法設置 Context 類裝入器,則當前線程從他的父線程繼承 Context 類裝入器。如果整個應用都沒有設置 Context 類裝入器,則系統(tǒng)類裝入器被設置為所有線程的 Context 類裝入器。
對于我們上面所說 JNDI 的情況,引導 類裝入器裝載進入的 JNDI 核心類會使用 Context 類裝入器來裝載其所需要的 JNDI 實現(xiàn)類,而不是將該裝載任務代理給其父類裝入器來完成。這樣,就解決了上面的問題。可以認為 Context 類裝入器在傳統(tǒng)的 Java 向上代理機制上打開了一個后門。Context 類裝入器在 J2EE 中使用的很廣泛,比如 Java 命名服務(JNDI),Java API for XML Parsing(JAXP)(注:在 Java1.4 中 JAXP 才作為 Java 的核心類的一部分,它才開始使用 Context 類裝入器來加載不同的實現(xiàn)類)等。
簡單而言,Java 中的類裝入器就是上面幾種,但是,在具體使用中,還是有很多變化,我們下面分別對于一些情況進行說明。
posted @
2007-11-22 10:51 flyepp 閱讀(570) |
評論 (0) |
編輯 收藏
分析apache訪問日志的項目,例如
http://www.mora.cn/awstats/awstats.pl?config=www.mora.cn經(jīng)理快速講的,簡單記錄一下,有空自己44
參考文章:
http://www.chedong.com/tech/awstats.html1、cd /usr/local/
2、tar -zxvf awstats6.7.tar.gz
3、rm -f awstats6.7.tar.gz
4、mv? awstats6.7 awstats
5、pert awstats/tools/awstats_configure.pl進行安裝
6、vi /etc/awstats/awstats.192.168.1.20.conf??? 修改其中的LogFile=為對應的apache日志
7、vi /usr/local/apache2.2.4/conf/httpd.conf???
??????a、修改<IfModule log_config_module>模塊為LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined模式的日志記錄方式
??????b、加入如下內(nèi)容#
?????????# Directives to add to your Apache conf file to allow use of AWStats as a CGI.
?????????# Note that path "/usr/local/awstats/" must reflect your AWStats Installation path.
?????????#
?????????Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
?????????Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
?????????Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
?????????ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
??????????#
?????????# This is to permit URL access to scripts/files in AWStats directory.
?????????#
?????????<Directory "/usr/local/awstats/wwwroot">
?????????Options None
?????????AllowOverride None
?????????Order allow,deny
?????????Allow from all
?????????</Directory>
8、perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=192.168.1.20 -update
9、把8這行語句加入到crontab中進行定時執(zhí)行
posted @
2007-10-17 13:55 flyepp 閱讀(255) |
評論 (0) |
編輯 收藏
查看自己機器的網(wǎng)關。
?第一:從配置文件
root@rman sysconfig]# pwd /etc/sysconfig
?[root@rman sysconfig]# more network
NETWORKING=yes
HOSTNAME=rman
GATEWAY=192.168.1.250
第二:從配置文件
[root@rman network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@rman network-scripts]# more ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.151
?NETMASK=255.255.255.0
GATEWAY=192.168.1.250
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
第三:從命名 traceroute
?其中第一跳就是自己的網(wǎng)關
?[root@rman network-scripts]# tra
?tracepath tracepath6 traceroute traceroute6 trap
[root@rman network-scripts]# traceroute 202.96.128.68
?traceroute to 202.96.128.68 (202.96.128.6, 30 hops max, 38 byte packets
1 192.168.1.250 (192.168.1.250) 0.565 ms 0.419 ms 0.334 ms
2 61.144.23.112 (61.144.23.112) 1.110 ms 0.962 ms 0.986 ms
3 219.135.214.25 (219.135.214.25) 1.229 ms 0.843 ms 0.982 ms
第四:其他的沒想到
posted @
2007-09-28 20:31 flyepp 閱讀(4235) |
評論 (5) |
編輯 收藏