ssh-keygen -t rsa
scp ~/.ssh/identity.pub drobbins@remotebox
ssh drobbins@remotebox
cat identity.pub >> ~/.ssh/authorized_keys
exit
ssh drobbins@remotebox
轉(zhuǎn)載自http://blog.csdn.net/yuekun1172006/archive/2007/06/02/1634878.aspx
類裝入器是 JVM 用來(lái)裝入類的類,它對(duì)于 Java 編程是非常重要的一個(gè)概念。一般情況下,程序員在編寫(xiě)程序的時(shí)候都可以忽略類裝入器的存在性。但是對(duì)于服務(wù)器端編程或者是一些特殊情況下時(shí)候,深入了解類裝入器的機(jī)制以及其在不同情況下的實(shí)現(xiàn)還是非常必要的。
首先,當(dāng)一個(gè) JVM 啟動(dòng)的時(shí)候,Java 缺省開(kāi)始使用三個(gè)類裝入器。它們分別是:
- 引導(dǎo)(Bootstrap)類裝入器;
- 擴(kuò)展(Extension)類裝入器;
- 系統(tǒng)(System)類裝入器;
它們分別實(shí)現(xiàn)如下的功能:
- 引導(dǎo)類裝入器是用本地代碼實(shí)現(xiàn)的類裝入器。它負(fù)責(zé)將
<Java_Runtime_Home>/lib
下面的類庫(kù)加載到內(nèi)存中。
- 擴(kuò)展類裝入器是由 Sun 的 ExtClassLoader 實(shí)現(xiàn)的。它負(fù)責(zé)將
< Java_Runtime_Home >/lib/ext
或者由系統(tǒng)變量 java.ext.dir 指定位置中的類庫(kù)加載到內(nèi)存中。
- 系統(tǒng)類裝入器又叫應(yīng)用程序類裝入器,是由 Sun 的 AppClassLoader 實(shí)現(xiàn)的。它負(fù)責(zé)將系統(tǒng)類路徑(CLASSPATH)中指定的類庫(kù)加載到內(nèi)存中。
當(dāng)應(yīng)用程序需要加載某個(gè)類到內(nèi)存中的時(shí)候,類裝入器是如何工作的呢?這就設(shè)計(jì)到類裝入器的一個(gè)重要方面:代理機(jī)制。每一個(gè)類裝入器,除了引導(dǎo)類裝入器以外,都有一個(gè)父類裝入器。對(duì)于系統(tǒng)缺省定義的三個(gè)類裝入器,引導(dǎo)類裝入器是擴(kuò)展類裝入器的父類裝入器,而擴(kuò)展類裝入器是系統(tǒng)類裝入器的父類裝入器。當(dāng)然,應(yīng)用程序也可以使用自己的類裝入器來(lái)使用特定的方法來(lái)裝載類,因此,整個(gè)系統(tǒng)中的類裝入器就形成一個(gè)樹(shù)狀結(jié)構(gòu)。
當(dāng)使用某個(gè)類裝入器來(lái)試圖裝載某個(gè)類的時(shí)候,該類裝入器會(huì)首先使用其父類裝入器來(lái)試圖裝載該類。對(duì)于每一個(gè)裝載進(jìn)來(lái)的類,JVM 都會(huì)給其分配一個(gè)唯一的 ID。因此,不同類裝入器可以裝載同一個(gè)類到 JVM 中。例如,對(duì)于如下圖結(jié)構(gòu)的 ClassLoaderA
和 ClassLoaderB
:
圖 1 類裝入器的結(jié)構(gòu)
假設(shè)類 C
在系統(tǒng)類裝入器指定的類路徑中,則無(wú)論是使用 ClassLoaderA
還是使用 ClassLoaderB
,都只會(huì)得到同樣一個(gè)類 C
。
但是如果類 C
分別在 ClassLoaderA
以及 ClassLoaderB
指定的類庫(kù)中,則使用 ClassLoaderA
得到到類 C
實(shí)例會(huì)不同于 ClassLoaderB
得到的類 C
實(shí)例。盡管兩個(gè)類裝入器在同一個(gè) JVM 中。
上面的類裝入器的向上代理結(jié)構(gòu)看上去很完美了,但是,當(dāng)系統(tǒng)變得復(fù)雜的時(shí)候,就還是顯得不夠用了。
例如,當(dāng) Java 引入了 JNDI 以后,JNDI 核心部分是通過(guò)引導(dǎo) 類裝入器在 JVM 啟動(dòng)的時(shí)候裝載進(jìn)入 JVM 的。而 JDNI 核心部分是通過(guò)配置信息來(lái)在運(yùn)行時(shí)候裝載定義在用戶的類路徑中的特定類來(lái)完成特定需要。而這是上面定義的類裝入器的向上代理模式所不能支持的。
為了解決這個(gè)問(wèn)題,Java 2 中引入了線程上下文(Thread Content)類裝入器的概念,每一個(gè)線程有一個(gè) Context 類裝入器。這個(gè) Context 類裝入器是通過(guò)方法 Thread.setContextClassLoader()
設(shè)置的,如果當(dāng)前線程在創(chuàng)建后沒(méi)有調(diào)用這個(gè)方法設(shè)置 Context 類裝入器,則當(dāng)前線程從他的父線程繼承 Context 類裝入器。如果整個(gè)應(yīng)用都沒(méi)有設(shè)置 Context 類裝入器,則系統(tǒng)類裝入器被設(shè)置為所有線程的 Context 類裝入器。
對(duì)于我們上面所說(shuō) JNDI 的情況,引導(dǎo) 類裝入器裝載進(jìn)入的 JNDI 核心類會(huì)使用 Context 類裝入器來(lái)裝載其所需要的 JNDI 實(shí)現(xiàn)類,而不是將該裝載任務(wù)代理給其父類裝入器來(lái)完成。這樣,就解決了上面的問(wèn)題??梢哉J(rèn)為 Context 類裝入器在傳統(tǒng)的 Java 向上代理機(jī)制上打開(kāi)了一個(gè)后門(mén)。Context 類裝入器在 J2EE 中使用的很廣泛,比如 Java 命名服務(wù)(JNDI),Java API for XML Parsing(JAXP)(注:在 Java1.4 中 JAXP 才作為 Java 的核心類的一部分,它才開(kāi)始使用 Context 類裝入器來(lái)加載不同的實(shí)現(xiàn)類)等。
簡(jiǎn)單而言,Java 中的類裝入器就是上面幾種,但是,在具體使用中,還是有很多變化,我們下面分別對(duì)于一些情況進(jìn)行說(shuō)明。
分析apache訪問(wèn)日志的項(xiàng)目,例如
http://www.mora.cn/awstats/awstats.pl?config=www.mora.cn經(jīng)理快速講的,簡(jiǎn)單記錄一下,有空自己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進(jìn)行安裝
6、vi /etc/awstats/awstats.192.168.1.20.conf??? 修改其中的LogFile=為對(duì)應(yīng)的apache日志
7、vi /usr/local/apache2.2.4/conf/httpd.conf???
??????a、修改<IfModule log_config_module>模塊為L(zhǎng)ogFormat "%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這行語(yǔ)句加入到crontab中進(jìn)行定時(shí)執(zhí)行
查看自己機(jī)器的網(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
第四:其他的沒(méi)想到
posted @
2007-09-28 20:31 flyepp 閱讀(4236) |
評(píng)論 (5) |
編輯 收藏
??? 在自己本機(jī)1個(gè)晚上就配置好了svn+subclipse,可安裝到老婆機(jī)子上足足花了3個(gè)晚上,在老婆機(jī)子上總是出現(xiàn)認(rèn)證失敗,百度了一下,最多的解決辦法是存成無(wú)bom的utf-8格式,或者acsii-unicode,unicod-utf-8,照著弄了弄,還是不行,后來(lái)仔細(xì)看了看老婆的系統(tǒng)中運(yùn)行的服務(wù),發(fā)現(xiàn)ssl服務(wù)開(kāi)啟,因?yàn)橹纒ubclipse不支持ssl協(xié)議,只有apache方式才支持,所以趕緊停掉服務(wù)解決,今天檢查自己的系統(tǒng)服務(wù),發(fā)現(xiàn)自己ssl協(xié)議也開(kāi)著,奇怪自己為什么不受影響,看了看svnserve.conf,發(fā)現(xiàn)里面一行# authz-db = authz前面的#我沒(méi)去掉,去掉#就認(rèn)證失敗了。。。
?? 總結(jié)一下,因?yàn)閟sl關(guān)系出現(xiàn)認(rèn)證失敗的解決辦法
?? 1、停掉ssl
?? 2、# authz-db = authz這行的#保留(老婆的項(xiàng)目組不需要配置權(quán)限組、應(yīng)用內(nèi)容的詳細(xì)權(quán)限分配,只需要添加幾個(gè)用戶即可)
?? 3、不用subclipse,改用apache
準(zhǔn)備研究下php論壇,下面是安裝過(guò)程
一、安裝順序apache2.2 php5.2 zend3.3 mysql5.1 discuz6.0
二、主要參考了http://www.cndw.com/tech/php/200602153339.asp
三、安裝過(guò)程遇到的問(wèn)題
??????? 1、apache不能啟動(dòng),用netstat -ab發(fā)現(xiàn)迅雷占用了80端口,退出迅雷后解決
??????? 2、apache的主目錄改成別的目錄,報(bào)403沒(méi)有權(quán)限錯(cuò)誤,把根用戶的權(quán)限由deny from all 改為allow from all后解決
??????? 3、apache不能加載php,提示說(shuō)改版本的php不支持DSO模式,發(fā)現(xiàn)是apache和php的版本沖突造成的,將httpd.conf文件中的php5apache2.dll改為php5apache2_2.dll解決
??????? 4、php無(wú)法鏈接mysql,發(fā)現(xiàn)php.ini的extension_dir目錄寫(xiě)錯(cuò)了
作者fbysss
msn:jameslastchina@hotmail.com?
blog:blog.csdn.net/fbysss
聲明:本文由fbysss原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處
關(guān)鍵字:亂碼
文件1:encode.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
??? pageEncoding="GBK"%>
<%
??? String sFileName = "中文文件名.doc";
?? sFileName = java.net.URLEncoder.encode(sFileName);//代碼行1
%>
?<a href="javascript:decode('<%=sFileName%>');">decode</a>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<body>
<script language="javascript">
function??? decode(filename){
?? location.href="decode.jsp?filename="+filename;//代碼行2
}
</script>
</body>
</html>
文件2:decode.jsp
<%@ page language="java" contentType="text/html; charset=gbk"
??? pageEncoding="gbk"%>
<%
??? String sFileName = request.getParameter("filename");
?sFileName = java.net.URLDecoder.decode(sFileName,"GBK");//代碼行3
?????out.println("filename:"+sFileName);
%>
????????看上去,這樣肯定可以達(dá)到要求了,但是事實(shí)不是這樣,javascript并不識(shí)別jsp編碼后的字符串:
用鼠標(biāo)移動(dòng)到鏈接上方時(shí),可以看到IE狀態(tài)欄上的確是正確的編碼,即"%D6%D0%CE%C4%CE%C4%BC%FE%C3%FB.doc"
然而要注意的是:用鼠標(biāo)右鍵點(diǎn)擊鏈接-〉屬性看到的URL是javascript:decode('?D?????t??.doc');后果可想而知,轉(zhuǎn)向后輸出的是亂碼。
?????? 弄了半天,轉(zhuǎn)UTF-8也是一樣,一個(gè)小問(wèn)題整的很郁悶,最后想到,還得在js這里下手。
?????? 把encode.jsp代碼行1注釋掉,代碼行2前面加入一行:filename = encodeURI(filename);
看到一點(diǎn)進(jìn)展:轉(zhuǎn)向后的url已經(jīng)很規(guī)范了:filename=%E4%B8%AD%E6%96%87%E6%96%87%E4%BB%B6%E5%90%8D.doc,但是結(jié)果仍然是亂碼。為啥呢?注意觀察,前面的編碼和后面是不一樣的!
然而,javascript的EncodeURI沒(méi)有提供編碼參數(shù),默然就是UTF-8.? 好,那么?sFileName = java.net.URLDecoder.decode(sFileName,"UTF-8");行不行呢?答案是:不行,原因我現(xiàn)在還沒(méi)找到,找到了會(huì)在此補(bǔ)充,如果哪位知道,還望指點(diǎn)。
解決辦法:把代碼行3替換成
sFileName=?new String(sFileName.getBytes("ISO-8859-1"), "UTF-8");
現(xiàn)在再看結(jié)果,已經(jīng)是正常的中文了。
補(bǔ)充:Ajax中,servlet輸出中文之后,需要js讀取,同樣面臨編碼問(wèn)題,可以采取如下方式:
在servlet中用URLEncoder編碼sText = URLEncoder.encode(sText,"UTF-8");
在js中用decodeURI解碼xText = decodeURI(xText);
posted @
2007-09-04 16:34 flyepp 閱讀(1219) |
評(píng)論 (0) |
編輯 收藏