天下難事,必作于易;天下大事,必作于細
          如果我有方向,那就是遠方
          posts - 11,comments - 8,trackbacks - 0
               摘要:   閱讀全文
          posted @ 2007-12-06 09:36 flyepp 閱讀(393) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-05 20:48 flyepp 閱讀(245) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-04 14:59 flyepp 閱讀(297) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-04 14:57 flyepp 閱讀(7521) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-04 14:56 flyepp 閱讀(1518) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-04 09:57 flyepp 閱讀(690) | 評論 (0)編輯 收藏
          ssh
          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 閱讀(239) | 評論 (1)編輯 收藏

          轉(zhuǎn)載自http://blog.csdn.net/yuekun1172006/archive/2007/06/02/1634878.aspx

          類裝入器是 JVM 用來裝入類的類,它對于 Java 編程是非常重要的一個概念。一般情況下,程序員在編寫程序的時候都可以忽略類裝入器的存在性。但是對于服務(wù)器端編程或者是一些特殊情況下時候,深入了解類裝入器的機制以及其在不同情況下的實現(xiàn)還是非常必要的。

          首先,當(dāng)一個 JVM 啟動的時候,Java 缺省開始使用三個類裝入器。它們分別是:

          • 引導(dǎo)(Bootstrap)類裝入器;
          • 擴展(Extension)類裝入器;
          • 系統(tǒng)(System)類裝入器;

          它們分別實現(xiàn)如下的功能:

          • 引導(dǎo)類裝入器是用本地代碼實現(xiàn)的類裝入器。它負責(zé)將 <Java_Runtime_Home>/lib 下面的類庫加載到內(nèi)存中。
          • 擴展類裝入器是由 Sun 的 ExtClassLoader 實現(xiàn)的。它負責(zé)將 < Java_Runtime_Home >/lib/ext 或者由系統(tǒng)變量 java.ext.dir 指定位置中的類庫加載到內(nèi)存中。
          • 系統(tǒng)類裝入器又叫應(yīng)用程序類裝入器,是由 Sun 的 AppClassLoader 實現(xiàn)的。它負責(zé)將系統(tǒng)類路徑(CLASSPATH)中指定的類庫加載到內(nèi)存中。

          當(dāng)應(yīng)用程序需要加載某個類到內(nèi)存中的時候,類裝入器是如何工作的呢?這就設(shè)計到類裝入器的一個重要方面:代理機制。每一個類裝入器,除了引導(dǎo)類裝入器以外,都有一個父類裝入器。對于系統(tǒng)缺省定義的三個類裝入器,引導(dǎo)類裝入器是擴展類裝入器的父類裝入器,而擴展類裝入器是系統(tǒng)類裝入器的父類裝入器。當(dāng)然,應(yīng)用程序也可以使用自己的類裝入器來使用特定的方法來裝載類,因此,整個系統(tǒng)中的類裝入器就形成一個樹狀結(jié)構(gòu)。

          當(dāng)使用某個類裝入器來試圖裝載某個類的時候,該類裝入器會首先使用其父類裝入器來試圖裝載該類。對于每一個裝載進來的類,JVM 都會給其分配一個唯一的 ID。因此,不同類裝入器可以裝載同一個類到 JVM 中。例如,對于如下圖結(jié)構(gòu)的 ClassLoaderAClassLoaderB


          圖 1 類裝入器的結(jié)構(gòu)
          圖 1 類裝入器的結(jié)構(gòu)

          假設(shè)類 C 在系統(tǒng)類裝入器指定的類路徑中,則無論是使用 ClassLoaderA 還是使用 ClassLoaderB,都只會得到同樣一個類 C。

          但是如果類 C 分別在 ClassLoaderA 以及 ClassLoaderB 指定的類庫中,則使用 ClassLoaderA 得到到類 C 實例會不同于 ClassLoaderB 得到的類 C 實例。盡管兩個類裝入器在同一個 JVM 中。

          上面的類裝入器的向上代理結(jié)構(gòu)看上去很完美了,但是,當(dāng)系統(tǒng)變得復(fù)雜的時候,就還是顯得不夠用了。

          例如,當(dāng) Java 引入了 JNDI 以后,JNDI 核心部分是通過引導(dǎo) 類裝入器在 JVM 啟動的時候裝載進入 JVM 的。而 JDNI 核心部分是通過配置信息來在運行時候裝載定義在用戶的類路徑中的特定類來完成特定需要。而這是上面定義的類裝入器的向上代理模式所不能支持的。

          為了解決這個問題,Java 2 中引入了線程上下文(Thread Content)類裝入器的概念,每一個線程有一個 Context 類裝入器。這個 Context 類裝入器是通過方法 Thread.setContextClassLoader() 設(shè)置的,如果當(dāng)前線程在創(chuàng)建后沒有調(diào)用這個方法設(shè)置 Context 類裝入器,則當(dāng)前線程從他的父線程繼承 Context 類裝入器。如果整個應(yīng)用都沒有設(shè)置 Context 類裝入器,則系統(tǒng)類裝入器被設(shè)置為所有線程的 Context 類裝入器。

          對于我們上面所說 JNDI 的情況,引導(dǎo) 類裝入器裝載進入的 JNDI 核心類會使用 Context 類裝入器來裝載其所需要的 JNDI 實現(xiàn)類,而不是將該裝載任務(wù)代理給其父類裝入器來完成。這樣,就解決了上面的問題。可以認為 Context 類裝入器在傳統(tǒng)的 Java 向上代理機制上打開了一個后門。Context 類裝入器在 J2EE 中使用的很廣泛,比如 Java 命名服務(wù)(JNDI),Java API for XML Parsing(JAXP)(注:在 Java1.4 中 JAXP 才作為 Java 的核心類的一部分,它才開始使用 Context 類裝入器來加載不同的實現(xiàn)類)等。

          簡單而言,Java 中的類裝入器就是上面幾種,但是,在具體使用中,還是有很多變化,我們下面分別對于一些情況進行說明。

          posted @ 2007-11-22 10:51 flyepp 閱讀(573) | 評論 (0)編輯 收藏
          分析apache訪問日志的項目,例如http://www.mora.cn/awstats/awstats.pl?config=www.mora.cn
          經(jīng)理快速講的,簡單記錄一下,有空自己44
          參考文章:http://www.chedong.com/tech/awstats.html
          1、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=為對應(yīng)的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 閱讀(256) | 評論 (0)編輯 收藏
          查看自己機器的網(wǎng)關(guān)。

          ?第一:從配置文件
          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)關(guān)
          ?[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 閱讀(4236) | 評論 (5)編輯 收藏
          主站蜘蛛池模板: 郓城县| 钟山县| 丰镇市| 桐柏县| 东丽区| 如皋市| 海宁市| 汉源县| 饶平县| 蒙山县| 贵溪市| 基隆市| 黄陵县| 抚州市| 阿尔山市| 温宿县| 内黄县| 长丰县| 阿克苏市| 海南省| 承德县| 宁津县| 尼勒克县| 莱州市| 凌云县| 博乐市| 洮南市| 固始县| 工布江达县| 杭州市| 上栗县| 麻江县| 淳化县| 石河子市| 隆林| 惠来县| 武夷山市| 敖汉旗| 昌都县| 铜陵市| 石景山区|