星期日, 10月 31, 2004

星期一, 10月 18, 2004

Jave筆記

0931018
----------------------------------------------------------
轉載自 2002/09/12 Java 週報
----------------------------------------------------------
初學Java的人﹐在學習的過程中遇到的第一個不能理解的問題﹐通常就是
字串的比較問題﹐因為他們實在不能理解明明兩個"一樣"的字串﹐為什麼
有時在做相等的比較運算時會得到ture的結果﹐可是有時得到的結果確是
false?這個問題在網路上常常都被提出來討論﹐已經算是一個FAQ到不能
FAQ的問題﹐也許是那些初學者們都沒有買到一本好的教科書﹐書中並沒有
教導他們正確的認識字串﹐要是有認真地讀完筆者寫的書﹐應該就不會被
這個問題所困擾了。好吧!大家都是窮學生買不起五百塊以上的書﹐那筆
者就藉著Java週報的一角﹐詳細地說明字串的比較運算。

嚴格說起來﹐字串在Java中也是一個完整的物件﹐兩個物件要做比較時﹐
首先你得先想清楚你想要比較的東西是什麼。舉個例子來說吧﹐日常生活
中婆婆媽媽們聚在一起總是喜歡比較來比較去的﹐有時後比的是誰家的孩
子功課比較好啦﹐誰的老公賺的錢比較多啦等…。人也是物件的一種﹐當
你把兩個人做比較時﹐你一定是把這兩個人身上的某一個屬性拿出來比較
﹐比如說身高、體重、成績等等﹐所以你要說這兩個人完全相同時﹐一定
是你所拿出來比較的每個屬性的內容都相同。另外一種觀點的比較方式是
﹐一個人有時會有好幾個不同的綽號﹐別的人要經由比較確認之後﹐才知
道原來這幾個綽號指的都是你這個人。

話說回來﹐在Java程式中﹐你要比較兩個物件時﹐首先你要確認要比較的
是兩件物件的內容?還是比較兩個物件變數是否指向同一個物件?如果你
是要比較兩個物件的內容時﹐請使用該物件所提供的"equals"方法。例如:

String str1 = new String("hello");
String str2 = new String("hello");
boolean b1 = str1.equals(str2);
booealn b2 = str2.equals(str1);

上例中用誰的equals方法來使用﹐結果都是一樣的(都是true)﹐不過如果
str1和str2是兩個不同的類別物件﹐意義可就不太一樣了﹐這個問題有空
再說。如果你比較個物件變數指的是不是同一個物件﹐那你就得使用比較
算的"=="運算子。例如:

String str3 = new String("hello");
String str4 = new String("hello");
String str5 = str3;
boolean b3 = str3 == str4;
boolean b4 = str3 == str5;

b3的結果是false﹐b4的結果是true。不知道筆者這樣的解說﹐大家應該
可以清楚的知道什麼時候要使用equals方法﹐又什麼時後要使用"=="運算子。
話再說回來﹐會令初學者感到困惑的是類似下面的例子:

String str6 = "hello";
String str7 = "hello";
boolean b5 = str6.equals(str7);
boolean b6 = str6 == str7;

b5的結果是true﹐b6的結果也是true。為什麼b3的結果會是false﹐而b6
的結果卻是true呢?上面幾個例子中的字串物件﹐不都是"hello"這個字
串嗎?你只說對了一半﹐上面例子中str1到str7所指向的字串物件﹐它
們的"內容"都是"hello"這幾個字母沒錯﹐可是它們指向的可不都是同一
個字串物件!str1到str4這四個物件變數指向的字串物件﹐是經由標準
的物件產生方式(new)所產生出來的﹐就算內容一樣﹐可是還是不同的物
件。就像兩個雙胞胎來說﹐甚至兩個用複製出來的人﹐就算所有的屬性
都一樣﹐兩個人還是不同的個體﹐在地球上佔用不同的空間。==運算子
既然比較的是兩個物件變數是否指向的是同一個物件﹐所以b3的結果會
是false就是這個原因囉。

那b6的結果為什麼會是true呢?這是Java為了效能的考量﹐而使用的一
種技巧。因為字串對於一個應用程式來說﹐使用上是非常的頻繁的﹐如
果每個相同內容的字串物件﹐都佔用不同的記憶空間不是很浪費嗎?而
且JVM也要去處理這些可能只用過一次就不再使用的字串。因此﹐當你用
雙引號來產生一個字串物件時﹐JVM會先到記憶體中一個名叫String Pool
的地方去查詢一下﹐是否裡面已經有這個字串了﹐如果有則直接拿出來
使用;如果沒有就產生一個新的放到裡面去。所以str6和str7指向的字
串物件﹐都是在Stirng Pool中的hello字串物件﹐既然兩個物件變數指
向的是同一個物件﹐那麼用==運算子比較的結果當然就是true了。

被搞的昏頭轉向了嗎?其實就記住筆者最前面所說的﹐當你要比較的是
兩個物件的內容相不相等時﹐請用equals方法﹐如果要比較的是兩個物
件變數指向的是不是同一個物件時?請用==運算子。這樣一來﹐不管是
一般的物件還是字串物件在比較時﹐你就不會感到困惑了。

0950118
----------------------------------------------------------
如何取得server訊息
----------------------------------------------------------
String uploadDir=application.getRealPath(request.getServletPath());
uploadDir =uploadDir.substring(0,uploadDir.lastIndexOf('\\')+1)+"file_upload\\";
=====================================

0950118
----------------------------------------------------------
如何取得檔名、路徑
----------------------------------------------------------
<%@page import ="java.net.*"%>

String uploadDir=application.getRealPath(request.getServletPath());
String strFile="http://163.17.65.122/picdir/AA93001.jpg";
URL Url = new URL(strFile);
URLConnection UrlConn = Url.openConnection();
if (UrlConn.getHeaderField(0).endsWith("200 OK")) uploadDir = strFile;

=====================================

星期六, 10月 16, 2004

「外星文明」與「知識累積」

人類何以竟能發展出這一套複雜的文明系統,使他們能夠在地球上耀武揚威地橫行?以天生的手腳而言,人類要講勇猛,比不過虎豹獅象;比敏捷迅速,呵呵,比貓狗猿猴均大為不如;比皮厚,更比不過烏龜、河馬、犀牛。然而惟有人腦之會胡思亂想,看來是沒有別的動物比得過的。

身體密碼

肝臟(Liver)
在醫學用字上,常以拉丁語字首hepato- 或 hepatic來描述肝臟或肝臟的。

肝臟是人類身體器官中唯一有再生功能性的器官,即使正常肝細胞低於25%,仍可再生成正常肝臟。

黃蓋的角色認知

健子筆記0931016

===原文原味=================================
  獲得上級主管的賞識,拔擢、調派到一個單位,或救火或滅火,或救苦救難,總是有一個最主要的目標,從官場到職場,從軍隊到球隊都一樣。這時必須想清楚,上級主管託付我,對我最大的期許是什麼?
...
  黃蓋任命兩位縣掾,讓他們管理縣府內各部門,同時充分授權,充分信任,只要他們送公文過來,立即簽字。但是有但書:「如果兩位對我惡意欺騙,不加體罰,直接處死,願兩位盡心辦事,不要受刑。」
  石城縣的地方官員以桀驁不馴著稱,經黃蓋約法三章,個個戰戰兢兢。久而久之,發現黃蓋不看公文,於是違法亂紀,偷雞摸狗的事漸漸發生。黃蓋發覺,抽閱公文,追查弊案,終於確認兩名縣掾舞弊,於是依照約定處死。

黃蓋頭腦清楚的地方就在這裡,他知道上級主管的期望是什麼,是治安,縣政倒在其次,只要治安搞好,就不負所託。
===原文原味=================================

健子曰:
職場辦事同樣如此,切中要點完成任務,才是身為組織一份子最重要的事,
方向大原則若不能與組織目標相同,
最多可能只是成就一番苦功罷了 ...

星期六, 10月 02, 2004

愛說笑_0930828

人生苦短,歡喜就好。

不發脾氣不等於脾氣好_0930827

健子曰:
不發脾氣不等於脾氣好 ? 那 ... 還是發脾氣好囉 ... ?

情緒控制的學問不是一兩天的事情
如果學會入門課 , 當然有必要更加精進修習好好脾氣
如果連不發脾氣都無法作到 , 我想
不必再修 ,
更談不上論述脾氣的控制程度了!

網友轉寄的文章 , 讓更多的知識傳播加快 , 卻也造成更多似是而非的論述
議論新新人類奇怪想法的同時 ,
也許更應檢討的是新新環境的缺失吧 ?

健子再曰:
脾氣好,不等於不發脾氣
亂發脾氣,脾氣必定不好
慎言之,實因嚴謹而善之
不慎言,實因無心而惡之

寫給老闆的一封信_0930911

健子曰 :
老闆和主管都是人, 只要願意尊重專業, 我想仍有機會成為知己朋友吧 ?
相對的
精益求精與敬業樂群當然很好, but, 工作只是興趣與一部份的人生, 盡力而為就可以了吧 ?

至於人力管理的專業
健子自己倒是在讀完文章後有些許的感嘆 ...
團體領導人本身是否具有良好的特質, 其實成為團隊成功的主要關鍵 >>>?!
不同頻率的想法, 一起共事的話, 或許還是有些困難吧 ?
道不同, 不相為謀,
我想 ,應該就是這個意思了吧 ?

女人結婚,是換了一個家_930812

健子曰 :
柴米油鹽的磨練下
再帥的帥哥,再美的美女
也都會現出原形 ~~~

在高喊女權至上,同一時間卻出現大量外籍新娘的台灣現象
有情終成的美眷是不是應該更加珍惜難得的緣份呢 ? 
善哉 ! 善哉 !

祁世界和平
願人間有愛
善哉 !