J2me開發
posted @ 2006-11-01 15:30 月亮 閱讀(213) | 評論 (0) | 編輯 收藏
隨筆 - 40, 文章 - 0, 評論 - 20, 引用 - 0
|
J2me開發posted @ 2006-11-01 15:30 月亮 閱讀(213) | 評論 (0) | 編輯 收藏 游戲
有個輸家,就一定有個贏家。我是輸家,但我四周望了一圈,卻沒看到半個贏家,我想,贏家應該也是我了,你說呢?
posted @ 2006-09-12 15:35 月亮 閱讀(208) | 評論 (1) | 編輯 收藏 vi命令詳解
vi命令是unix下常用而重要命令,可在全屏幕方式下編輯一個或多個文件。若在vi執行時?
沒有指定一個文件,那么vi命令會自動產生一個無名的空的工作文件。若指定的文件不存在,? 那么就按指定的文件名創建一個新的文件。若對文件的修改不保存的話,v?i命令并不改變原? 來文件的內容。? 注意:vi命令并不鎖住所編輯的文件,因此多個用戶可能在同時編輯一個文件,那么最后? 下面是vi命令使用的一些選項及含義:?????????? -c?sub-command?在對指定的文件編輯前,先執行指定的命令?sub-command?.? -r?filename?恢復指定的文件filename?.?????????? -R?將指定的文件以只讀的方式放入編輯器中,這樣不會保存對文件的任何修?改。? -y?number?將編輯窗口的大小設為number行。?????????? 下面是vi編輯所處的三種模式:?????????? .命令模式?進入vi時所處的模式。在此模式下用戶可輸入各種子命令對進行*作,如刪除行、? .文本輸入模式?在此模式下可以修改一行的內容并增添新行。在命令模式下鍵入a?、i?或? .命令項模式?在此模式下,可以通過子命令輸入更多的參數。如:w子命令要求輸入一文?
h?將光標左移一格。?????????? l?將光標右移一格。?????????? j?將光標下移一格。?????????? k?將光標上移一格。?????????? w?將光標移到下一個小字的前面。?????????? W?將光標移到下一個大字的前面。?????????? b?將光標移到前一個小字的前面。?????????? B?將光標移到前一個大字的前面。?????????? e?將光標移到下一個小字的后面。?????????? E?將光標移到前一個大字的后面。?????????? fc?把光標移到同一行的下一個c字符處。?????????? Fc?把光標移到同一行的前一個c字符處。?????????? tc?把光標移到同一行的下一個字符c的前一格。?????????? Tc?把光標移到同一行的前一個字符c的后一格。?????????? number|?把光標移到遞number列上。?????????? 下面是命令模式下在行間移動的子命令:?????????? +或Enter?把光標移至下一行第一個非空白字符。?????????? -?把光標移至上一行第一個非空白字符。?????????? 0?把光標移到當前行的第一個字符處。?????????? $?把光標移到當前行的最后一個字符處。?????????? H?把光標移到屏幕最頂端一行。?????????? L?把光標移到屏幕最底端一行。?????????? M?把光標移到屏幕中間。?????????? 下面是命令模式下改變屏幕顯示的子命令:?????????? z-?把當前行作為屏幕的最后一行,并重新顯示屏幕。?????????? z.?把當前行作為屏幕的中間一行,并重新顯示屏幕。?????????? Ctrl+l?重新顯示屏幕當前內容。?????????? /pattern/z-?尋找pattern的下一個位置,并把所在行設為屏幕的最后一行。? 下面是在命令模式下用來顯示頁面的子命令:?????????? Ctrl?+?f向后滾一頁。?????????? Ctrl?+?d向后滾半頁。?????????? Ctrl?+?b向前滾一頁。?????????? Ctrl?+?u向前滾半頁。?????????? Ctrl?+?e屏幕向下滾一行。?????????? Ctrl?+?y屏幕項上滾一行。?????????? 下面是在命令模式下用來查找字符串所使用的子命令:?????????? /pattern?向后尋找指定的pattern?,若遇到文件尾,則從頭再開始。? ?pattern?向前尋找指定的pattern?,若遇到文件頭,則從尾再開始。? n?在上次指定的方向上,再次執行上次定義的查找。?????????? N?在上次指定的方向的相反方向上,再次執行上次定義的查找。?????????? /pattern/+number?將光標停在包含pattern的行后面第number行上。? /pattern/-number?將光標停在包含pattern的行前面第number行上。? %?移到匹配的"()"或"{}"上。?????????? 下面是在文本輸入模式下用來輸入文本的子命令(用戶可在任何時候按Escape返回到命令模式):? a?在光標之后開始輸入文本。?????????? A在行尾開始輸入文本。?????????? i在光標之前開始輸入文本。?????????? I在行首第一個非空白字符前輸入文本。?????????? o在光標所在行后插入一空行。?????????? O在光標所在行前插入一空行。?????????? 下面是在命令模式下改變文本所使用的子命令(用戶可在任何的時候按Escape鍵返回到命令模式):? cc或S?修改一整行。?????????? C?改變一行光標位置以后的部分。?????????? cw?改變光標所在單詞。?????????? dd刪除當前行。?????????? D?刪除光標所在行光標后面的內容。?????????? dw刪除光標所在的單詞。?????????? J?把下一行內容加到本行行尾。?????????? rc把光符所在字符替換成c?.?????????? R?覆蓋本行內容。?????????? u恢復上一次的修改。?????????? x刪除光標所在的字符。?????????? ~?改變光標所在出字符的大小寫。?????????? .?重復上一個*作。?????????? <<把當前行移到左邊。?????????? >>把當前行移到右邊。?????????? 下面是用于文件中拷貝文本的字命令:?????????? p?將緩沖區內容取到光標所在行的下面一行。?????????? P?將緩沖區內容取到光標所在行的上面一行。?????????? "bd?將文本刪除至有名緩沖區b?.?????????? "bp?張貼有名緩沖區b中內容。?????????? yy把當前行放入緩沖區。?????????? Y?把當前行放入緩沖區。?????????? Yw把光標所在的單詞放入緩沖區。?????????? 下面是用于保存文件的子命令:?????????? :w?回寫修改后的文件。?????????? :w?filename?當filename不存在時,把修改后的文件存為文件filename?,當文件filename? !w?filename?如果文件filename存在時,把修改后的文件保存為文件filename?.? 下面列出了在vi編輯的多個文件之間切換所用的子命令:?????????? :n開始編輯vi激活的文件列表中的下一個文件。?????????? :n?filenames?指定將被編輯的新的文件列表。?????????? 下面列出了用于在當前文件和另外一個文件間切換的子命令:?????????? :e?filename?使用filename激活vi?(在vi中裝入另一個文件filename)。? e!重新裝入當前文件,若當前文件有改動,則丟棄以前的改動。?????????? :e+filename?使用filename激活vi?,并從文件尾部開始編輯。? :e+number?filename?使用filename激活vi?,并在第number行開始編輯。? :e#?開始編輯另外一個文件。?????????? 下面是在本文件中加入其他文件代碼所使用的子命令:?????????? :r?filename讀取filename文件,并將其內容加到當前文件后。??? :r?!?command執行command文件,并將其輸出加到當前文件后。??? 下面是vi中其他的子命令:?????????? ctrl+g?取得正在編輯文件的有關信息。?????????? :sh啟動sh?,從sh中返回可用exit或ctrl+d?.?????????? :!?Command?執行命令command?.?????????? !!重新執行上次的:!?Command子命令。?????????? :q退出vi?,若用戶對編輯的文件有所修改,系統不會讓用戶使用q命令退出。??? :q!退出vi而不管是否對文件有改動。?????????? ZZ或:wq?保存對文件的修改并退出vi?.?????????? 用戶可在一個特殊的文件.exrc中定義特殊的vi命令。在vi中使用這些命令時,必須在該? posted @ 2006-05-13 15:13 月亮 閱讀(343) | 評論 (0) | 編輯 收藏 精通Log4j?log4j雖然總的來說是比較容易使用的,但是要是想比較精通的操縱它還是有很多地方值得探討的。 <appender name="file" class="org.apache.log4j.RollingFileAppender"> <appender name="error" class="org.apache.log4j.RollingFileAppender"> <logger name="biz.startup"> <logger name="com.aspire" additivity="false"> ***********? log4j 配置文件結束 ************ **********? 派生的TimeSizeRollingFileAppender類***** import org.apache.log4j.FileAppender; public class TimeSizeRollingFileAppender ? private final static String FS = System.getProperty("file.separator"); ********** TimeSizeRollingFileAppender 類結束 ****** ************ 調用示例 TestLog4j類 ************** import org.apache.log4j.Logger; public class TestLog4j { ? public static void config(){ ***************? TestLog4j end *********** posted @ 2006-04-26 12:59 月亮 閱讀(402) | 評論 (0) | 編輯 收藏 23種經典的設計模式_Prototype模式(原形模式)
很多時候,創建對象的時候,只是在某些屬性值上有區別,而大部分都很相似,但是這樣的對象的初始化相對來說比較復雜,而且
import java.lang.Cloneable;
public class Test { posted @ 2006-04-16 15:21 月亮 閱讀(558) | 評論 (0) | 編輯 收藏 小技巧_jsp緩存問題的解決
如果一直為jsp的緩存問題困擾的話,可以試試在jsp中加入以下幾句話:
<head> <meta http-equiv="Cache-Control" content="max-age=0" forua="true" /> <meta http-equiv="Cache-Control" content="no-cache" forua="true"/> <meta http-equiv="Cache-Control" content="must-revalidate" forua="true" /> </head> max-age=30 就表示緩存的最長存在時間是30s,no-cache表示無緩存,must-revalidate表示每次訪問必須重新驗證是否有更新! posted @ 2006-04-04 15:11 月亮 閱讀(666) | 評論 (0) | 編輯 收藏 用Java實現的Html web服務器? 馬上就要開始轉到新的項目組,做一個全新的項目了,對于HTTP協議需要一定的了解,所以周末自己用Java寫了一個簡單的web服務器試試,只能實現簡單的html文件瀏覽。
public class WebServer {
public class SocketThread extends Thread {
?public SocketThread(Socket s) {
?public void run() {
}
/**
?// 服務器監聽的端口
?// 服務器文件的位置
?/**
?/**
?/**
?/**
?/**
} posted @ 2006-03-28 13:55 月亮 閱讀(456) | 評論 (0) | 編輯 收藏 Apache FileUpload 使用FileUpload 組件使用注意: 3>示例 posted @ 2006-03-06 12:33 月亮 閱讀(1850) | 評論 (1) | 編輯 收藏 EJB QL
從一個表users中查詢記錄,如果是寫成
select i from users as i where i.name=?1則編譯EJB的時候會報錯,但是如果把users 首字母大寫就OK了。 select i from Users as i where i.name=?1 posted @ 2006-02-27 23:34 月亮 閱讀(246) | 評論 (0) | 編輯 收藏 EJb 會話Bean在EJB容器中,SessionBean主要有兩種:無狀態(stateless)和有狀態(stateful)。 2、有狀態EJB,類似數據庫的Connect鏈接,也類似線程守護,它提供引用池(Bean instance pool),每個客戶端會有單獨的信息。 這里提到的數據成員(變量) i_count ,在EJB規范中稱作:conversational state 。對它的要求也很多的,例如類型為 Serializable objects。還有,還要在ejbActivate(),ejbPassivate(),ejbRemove()等生命周期約定的方法中處理。詳見EJB規范吧。 我的感想:在看第一遍書時,還一點感覺都沒有,根本就看不明白SessionBean中的session與Servlet容器中的session有什么區別。 posted @ 2006-02-22 16:35 月亮 閱讀(255) | 評論 (0) | 編輯 收藏 Ibatis示例
2.先新建一個xml文件 SqlMap.xml,在這個文件中定義使用了哪些ibatis資源文件 3.定義資源文件monter.xml **注意dynamic-mapped-statement的name 必須唯一 4.定義一個公共類來生成SqlMap 6.至此就建立了一個簡單的ibatis示例. posted @ 2006-01-06 16:39 月亮 閱讀(331) | 評論 (0) | 編輯 收藏 通過weblogic的數據源獲得數據庫連接的方法通過weblogic的數據源獲得數據庫連接的方法: import javax.naming.NamingException; public class TestDataSource { public static String WEB_URL = "t3://localhost:9000"; posted @ 2006-01-05 10:51 月亮 閱讀(1241) | 評論 (0) | 編輯 收藏 一個設計中使用比較多的模式
如果是在需求還沒確定或者是在兩個類實現相近功能時候,會大量使用下面的方式:
--抽象類,注意其中的newInstance方法的實現 package com.moonsoft.design; public abstract class Moon { public static Moon newInstance(String classStr){ Class re; try { re = Class.forName(classStr); return (Moon)re.newInstance(); } catch (Exception ex) { ex.printStackTrace(); } return null; } public abstract void println(); } --從Moon類派生出來的一個字類,提供println方法的一種實現方式 package com.moonsoft.design; public class Moon1 extends Moon { public void println(){ System.out.println("I am moon1"); } public void myprintln(){ System.out.println("I am moon1 myprintln"); } } --從Moon類派生出來的另一個字類,提供println方法的另一種實現方式 package com.moonsoft.design; public class Moon2 extends Moon { public void println(){ System.out.println("I am moon2!"); } } --調用 Moon moon = Moon.newInstance("com.moonsoft.design.Moon1"); moon.println(); 或 Moon moon = Moon.newInstance("com.moonsoft.design.Moon2"); moon.println(); posted @ 2006-01-04 16:41 月亮 閱讀(101) | 評論 (0) | 編輯 收藏 JSP標簽的使用方法
<一>.先從javax.servlet.jsp.tagext.BodyTagSupport派生一個新的類,并重載它的doStartTag()方法.如果是想要傳入參數的話,則還要在Bean中加入想要的變量,如這里要傳入一個url值,所以添加一個參數:linkUrl. 最后代碼如下: package com.moonsoft.jsptag; <二>新建一個tld文件,內容如下: <taglib>
下面就可以在jsp中使用這個標簽了: <mylinkurl:urllink linkUrl="
這里面的mylinkurl為在本jsp頁面中設置的prefix值,urllink為tld文件中tag name,linkUrl為輸入的參數 這樣就在jsp頁面上加入了一個: posted @ 2005-12-29 13:47 月亮 閱讀(1432) | 評論 (0) | 編輯 收藏 Java Excel 使用攻略 現在正在做的項目中涉及大量的Excel文件導出導入操作,都是使用Java Excel來操作。 import jxl.*; public class OperateExcel { } posted @ 2005-12-06 15:06 月亮 閱讀(2202) | 評論 (4) | 編輯 收藏 執行過程中動態執行方法在編程中可能回碰到一些到實際運行時才指定要調用的方法的需要,最典型的是Struct的DispatchAction類, package learn; 其中幾個關鍵的地方說明一下: posted @ 2005-11-23 00:18 月亮 閱讀(486) | 評論 (0) | 編輯 收藏 23種面向對象的設計模式----Prototype模式
Prototype模式允許一個對象再創建另外一個可定制的對象,根本無需知道任何如何創建的細節,工作原理是:通過將一個原型對象傳給那個要發動創建的對象,這個要發動創建的對象通過請求原型對象拷貝它們自己來實施創建。 如何使用? 以勺子為例:
有個具體實現(ConcretePrototype):
調用Prototype模式很簡單: AbstractSpoon spoon = new SoupSpoon(); 當然也可以結合工廠模式來創建AbstractSpoon實例。 在Java中Prototype模式變成clone()方法的使用,由于Java的純潔的面向對象特性,使得在Java中使用設計模式變得很自然,兩者已經幾乎是渾然一體了。這反映在很多模式上,如Interator遍歷模式。 posted @ 2005-11-20 20:32 月亮 閱讀(205) | 評論 (0) | 編輯 收藏 23種面向對象的設計模式----Factory method模式
--Car 類 public static void main(String [] argv){ <個人觀點,僅作參考>
posted @ 2005-11-13 21:35 月亮 閱讀(926) | 評論 (1) | 編輯 收藏 23種面向對象的設計模式----Singleton模式 Singleton模式為單態模式或者叫孤子模式,保證一個類只有一個實例,并提供一個訪問它的全局訪問點。 的帖子計數器,每次瀏覽一次需要計數,單態類能否保持住這個計數,并且能synchronize的安全自動加 1,如果你要把這個數字永久保存到數據庫,你可以在不修改單態接口的情況下方便的做到。 getInstance方法中控制要使用的是哪個子類,具體實現代碼如下: -----TestSingleton.java -----SubTestSingleton.java <以上為個人見解,歡迎大家評論!> posted @ 2005-11-13 15:54 月亮 閱讀(665) | 評論 (0) | 編輯 收藏 面向對象的23種設計模式
最近對面向對象的設計的23種經典的設計模式做了一個研究,接下來的Blog中我會按我的理解做個簡單介紹并提供我寫的示例代碼,歡迎大家的評論,共同提高.
posted @ 2005-11-13 15:40 月亮 閱讀(758) | 評論 (0) | 編輯 收藏 Oracle數據庫查詢一個月的記錄的sql語句
Oracle數據庫查詢一個月的記錄的sql語句:
select LASTUPDTIME from spprereg where (to_date('2005-5-1','YYYY-mm-dd')-LASTUPDTIME)<0 and (LAST_DAY(to_date('2005-5-1','YYYY-mm-dd'))-LASTUPDTIME)>0 posted @ 2005-08-06 21:20 月亮 閱讀(2206) | 評論 (1) | 編輯 收藏 抱著老板的心態去打工
這是我的一個朋友寫的,轉給大家看看。
從某種意義上來說,打工真是害人不淺,長期的打工固化了人的思維,淡化了人的責任感,扼殺了人的創新思維,沒有成本概念,缺乏長遠規劃。最為關鍵的是,打工打得越久,看問題的視角就越悲觀,自己也就越自卑。 posted @ 2005-07-10 22:22 月亮 閱讀(288) | 評論 (0) | 編輯 收藏 成為有錢人的25種方法
“嫁個有錢人”不如自己成為有錢人,你想發財嗎?你知道如何成為有錢人嗎?
1、做你真正感興趣的事——你會花很多時間在上面,因此你一定要感興趣才行,如果不是這樣的話,你不愿意把時間花在上面,就得不到成功。 2、自己當老板。為別人打工,你絕不會變成巨富,老板一心一意地縮減開支,他的目標不是使他的職員變成有錢人。 3、提供一種有實效的服務,或一種實際的產品。你要以寫作、繪畫或作曲變成百萬富翁的機會可以說是無限小,而你要在營造業、房地產、制造業發大財的機會比較大。記住,出版商賺的錢比作家多得多。 4、如果你堅持要用自己的靈感來創業?最好選擇娛樂業,在這方面,發財的速度相當快,流行歌曲和電視最理想。 5、不論你是演員或商人,盡量增加你的觀眾。在小咖啡館唱歌的人,所賺的錢一定比不上替大唱片公司灌唱片的人,地方性的商人,不會比全國性的商人賺的錢多。 6、找出一種需要,然后滿足它。社會越變越復雜,人們所需要的產品和服務越來越多,最先發現這些需求而且滿足他們的人,是改進現有產品和服務的人,也是最先成為富翁的人。 7、不要不敢采用不同的方式——新的方法和新產品,會造成新的財富。但必須確定你的新方法比舊方法更理想,你的新方法必 想致富,請栽搖錢 引爆數碼影像! 中華川菜火鍋大聯 加盟樂可可天天樂 須增進產品外觀、效率、品質、方便或者降低成本。 8、如果你受過專業教育,或者有特殊才能,充分利用它。如果你燒得一手好菜,而卻要去當泥水匠,那就太笨了。 9、在你著手任何事情之前,仔細地對周圍的情形研究一番。政府機關和公共圖書館,可以提供不少資料,先做研究,可以節省你不少時間和金錢。 10、不要一直都想著發大財,不如你想想如何改進你的事業,您應該常常問自己的是:“我如何改良我的事業?”如何使事業進行順利,財富就會跟著而來。 11、可能的話,進行一種家庭事業,這種方法可以減少費用,增進士氣,利潤的分配很簡單,利潤能夠得到充分的利用,整個事業控制也較容易。 12、盡可能減少你的費用,但不能犧牲你的品質,否則的話,你等于是在慢性自殺,賺錢的機會不會大。 13、跟同行的朋友維持友誼——他們可能對你很有幫助。 14、把盡量多的時間花在事業上。一天12小時、一星期6天是最低要求,一天14小時到18小時很平常,一星期工作7天最好了。你必須先犧牲家庭和社會上的娛樂,直到你事業站穩為止。也只有到那時候,你才能把責任分給別人。 15、不要不敢自己下決心。聽聽別人的贊美和批評,但你自己要下決心。 16、不要不敢說實話。拐彎抹角,只會浪費時間,心里想什么就說什么,而且要盡可能地直截了當地、明確地說出來。 17、不要不敢承認自己的錯誤。犯了錯誤并不是一種罪行,犯錯不改才是罪過。 18、不要因為失敗就裹足不前。失敗是難免的,也是有價值的,從失敗中,你會學到正確的方法論。 19、不要在不可行的觀念上打轉。一發現某種方法行不通,立即把它放棄。世界上有無數的方法,把時間浪費在那些不可行的方法上是無可彌補的損失。 20、不要冒你承擔不起的風險。如果你損失10萬元,若損失得起的話,就可以繼續下去,但如果你賠不起5萬元,而一旦失敗的話,你就完蛋了。 21、一再投資,不要讓你的利潤空閑著,你的利潤要繼續投資下去,最好投資別的事業或你控制的事業上,那樣,才能錢滾錢,替你增加好幾倍的財富。 22、請一位高明的律師——他會替你節約更多的金錢和時間,比起你所給予的將要多的多。 23、請一位精明的會計師。最初的時候,你自己記賬,但除非你本身是個會計師,你還是請一位精明的會計師,可能決定你的成功和失敗——他是值得你花錢的。 24、請專家替你報稅。一位機靈的稅務專家,可又替你免很多的稅。 25、好好維持你的健康和你的平靜心靈——否則的話,擁有再多的錢也沒有什么意思。 posted @ 2005-06-23 12:09 月亮 閱讀(280) | 評論 (0) | 編輯 收藏 辦公室中的省時小秘訣
1.了解你的精力充沛期。通常人們在早晨9點左右工作效率最高,可以把最困難的工作放到這時來完成。
2.集中一天中的頭兩個小時來處理手頭的工作并不接電話、不開會、不受打擾。這樣可以事半功倍。 3.立刻回復重要的郵件,將不重要的丟棄。若任它們積累成堆,反而更費時間。 4.做個任務清單,將所有的項目和約定記在效率手冊中。手頭一定要帶著效率手冊以幫助自己按計劃行事。 5.學會高效地利用零碎時間,用來讀點東西或是構思一個文件,不要發呆或做白日夢。 6.把瑣碎的工作寫在單子上,以便有零碎時間時馬上去做。 7.并非每件工作都值得精工細做,有些事只要過得去就可以了。一遍又一遍地寫些瑣碎的備忘錄不是高效利用時間的做法。 8.減少回電話的時間。如果你需要傳遞的只是一個信息,不妨在工作以外的時間在錄音電話上留言,或是發個電子郵件。 9.如果有人在電話中喋喋不休地講話,你可以禮貌地結束電話。 10.對可能打來的電話做到心中有數,這樣在你接到所期待的電話后便可迅速找到所需要的各種材料,不必當時亂翻亂找。 11.學習上網高效搜尋的技能,以節省上網查詢的時間。把你經常要瀏覽的網站收集起來以便隨時找到。 12.用國際互聯網簡化商業旅行的安排。多數飯店和航線可以網上查詢和預訂。 13.只要情況允許就可委派別人分擔工作。事必躬親會使自己疲憊不堪,而且永遠也做不完。不妨請同事幫忙,或讓助手更努力地投入。 14.做個靈活的日程表,當你需要時便可以忙中偷閑。例如,在中午加班,然后早一小時離開辦公室去健身,或是每天工作10個小時,然后用星期五來赴約會、看醫生。 15.在離開辦公室之前開列次日工作的清單,這樣第二天早晨一來便可以全力以赴。 posted @ 2005-06-22 10:22 月亮 閱讀(244) | 評論 (0) | 編輯 收藏 關于Java中方法重載的問題
Java中支持方法名相同,但是方法參數不同而自動去選擇執行哪一個方法,如print(int i)和print(String str),雖然方法名相同,但是參數不同。象這里的int和String 參數差異比較大所以看起來這種重載沒什么差別,但是如果是類型差別不大, 會出現什么情況呢?
看下面的代碼: public void f(float i){ System.out.println("float"); } public viod f(double i){ System.out.println("double"); } 那么執行 f(5)會輸出什么呢?5是被認為是float類型還是double類型還是會報錯呢?執行結果是 float 。原來在這種情況下,該數據類型能被轉為一個較大的數據類型,比5較大的數據類型是float,其次才到double,所以輸出結果是float。還有一個特殊的情況就是如果輸入類型為char,如這里我們執行f('a'), 不要以為這會出錯,其實是不會出錯的,因為如果沒有發現一個準確的char于它匹配,那么它就把這個char轉換成int類型,如果沒有int類型和它匹配,在去尋找較大的數據類型,這里它找到了float,所以這里執行flaot('a')輸出的還是 float。 下面再討論另外一種情況,譬如說下面這種情況: 定義了下面一個方法: public void f(int i){ System.out.println("int "); } 如果執行f(100.99)會不會在這種數據類型大于這種重載方法期待的變量時會怎么處理呢?會不會把這種較大的數據類型縮小到期待的數據類型?編譯一下,很遺憾出錯了,在這種情況下是出錯的。 這么快就12點半了,睡覺了~~~不然明天早晨爬不起來了。 posted @ 2005-06-10 00:20 月亮 閱讀(366) | 評論 (0) | 編輯 收藏 Java中的"goto"語句雖然Java中goto語句只是java的一個保留字,沒有起任何作用,但是我今天在使用continue和break語句時,還是發現了其中又goto語句的影子。因為continue和break語句都支持跳到一個Label的位置。下面是具體的用法: posted @ 2005-06-08 23:28 月亮 閱讀(2228) | 評論 (2) | 編輯 收藏 Java對象比較
Java中檢查兩個對象是否相等,這個看起來很簡單的事情但是實際做起來不一定是一個簡單的事情。我們可能首先想到的是==運算符號,但是這個運算符真的能比較兩個對象么?我們先看下面一段代碼: public static void main(String [] argv ){ Integer A = new Integer(47); Integer B = new Integer(47); System.out.println( A == B ) ; System.out.println( A != B ); } 可能你覺得輸出的結果是true false ,但是結果正好相反,是:false,true。不要覺得奇怪,因為==實際比較的是兩個對象的句柄,而不是對象的內容,所以 A==B輸出為false, 而A != B 輸出為false. 可能以為equals方法能幫我們解決這個問題,那么來試一下, class Value { public class EqualsMethod2 {
posted @ 2005-06-08 21:26 月亮 閱讀(449) | 評論 (0) | 編輯 收藏 Java編程規則(轉自CSDN)
原出處:http://dev.csdn.net/article/20/20614.shtm
(1) 類名首字母應該大寫。字段、方法以及對象(句柄)的首字母應小寫。對于所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定義中出現了常數初始化字符,則大寫static final基本類型標識符中的所有字母。這樣便可標志出它們屬于編譯期的常數。 Java包(Package)屬于一種特殊情況:它們全都是小寫字母,即便中間的單詞亦是如此。對于域名擴展名稱,如com,org,net或者edu等,全部都應小寫(這也是Java 1.1和Java 1.2的區別之一)。 (2) 為了常規用途而創建一個類時,請采取“經典形式”,并包含對下述元素的定義: equals() hashCode() toString() clone()(implement Cloneable) implement Serializable (3) 對于自己創建的每一個類,都考慮置入一個main(),其中包含了用于測試那個類的代碼。為使用一個項目中的類,我們沒必要刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個示例使用。 (4) 應將方法設計成簡要的、功能性單元,用它描述和實現一個不連續的類接口部分。理想情況下,方法應簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個方法。這樣做也便于類內代碼的重復使用(有些時候,方法必須非常大,但它們仍應只做同樣的一件事情)。 (5) 設計一個類時,請設身處地為客戶程序員考慮一下(類的使用方法應該是非常明確的)。然后,再設身處地為管理代碼的人考慮一下(預計有可能進行哪些形式的修改,想想用什么方法可把它們變得更簡單)。 (6) 使類盡可能短小精悍,而且只解決一個特定的問題。下面是對類設計的一些建議: ■一個復雜的開關語句:考慮采用“多形”機制 ■數量眾多的方法涉及到類型差別極大的操作:考慮用幾個類來分別實現 ■許多成員變量在特征上有很大的差別:考慮使用幾個類 (7) 讓一切東西都盡可能地“私有”——private。可使庫的某一部分“公共化”(一個方法、類或者一個字段等等),就永遠不能把它拿出。若強行拿出,就可能破壞其他人現有的代碼,使他們不得不重新編寫和設計。若只公布自己必須公布的,就可放心大膽地改變其他任何東西。在多線程環境中,隱私是特別重要的一個因素——只有private字段才能在非同步使用的情況下受到保護。 (8) 謹惕“巨大對象綜合癥”。對一些習慣于順序編程思維、且初涉OOP領域的新手,往往喜歡先寫一個順序執行的程序,再把它嵌入一個或兩個巨大的對象里。根據編程原理,對象表達的應該是應用程序的概念,而非應用程序本身。 (9) 若不得已進行一些不太雅觀的編程,至少應該把那些代碼置于一個類的內部。 (10) 任何時候只要發現類與類之間結合得非常緊密,就需要考慮是否采用內部類,從而改善編碼及維護工作(參見第14章14.1.2小節的“用內部類改進代碼”)。 (11) 盡可能細致地加上注釋,并用javadoc注釋文檔語法生成自己的程序文檔。 (12) 避免使用“魔術數字”,這些數字很難與代碼很好地配合。如以后需要修改它,無疑會成為一場噩夢,因為根本不知道“100”到底是指“數組大小”還是“其他全然不同的東西”。所以,我們應創建一個常數,并為其使用具有說服力的描述性名稱,并在整個程序中都采用常數標識符。這樣可使程序更易理解以及更易維護。 (13) 涉及構建器和異常的時候,通常希望重新丟棄在構建器中捕獲的任何異常——如果它造成了那個對象的創建失敗。這樣一來,調用者就不會以為那個對象已正確地創建,從而盲目地繼續。 (14) 當客戶程序員用完對象以后,若你的類要求進行任何清除工作,可考慮將清除代碼置于一個良好定義的方法里,采用類似于cleanup()這樣的名字,明確表明自己的用途。除此以外,可在類內放置一個boolean(布爾)標記,指出對象是否已被清除。在類的finalize()方法里,請確定對象已被清除,并已丟棄了從RuntimeException繼承的一個類(如果還沒有的話),從而指出一個編程錯誤。在采取象這樣的方案之前,請確定finalize()能夠在自己的系統中工作(可能需要調用System.runFinalizersOnExit(true),從而確保這一行為)。 (15) 在一個特定的作用域內,若一個對象必須清除(非由垃圾收集機制處理),請采用下述方法:初始化對象;若成功,則立即進入一個含有finally從句的try塊,開始清除工作。 (16) 若在初始化過程中需要覆蓋(取消)finalize(),請記住調用super.finalize()(若Object屬于我們的直接超類,則無此必要)。在對finalize()進行覆蓋的過程中,對super.finalize()的調用應屬于最后一個行動,而不應是第一個行動,這樣可確保在需要基礎類組件的時候它們依然有效。 (17) 創建大小固定的對象集合時,請將它們傳輸至一個數組(若準備從一個方法里返回這個集合,更應如此操作)。這樣一來,我們就可享受到數組在編譯期進行類型檢查的好處。此外,為使用它們,數組的接收者也許并不需要將對象“造型”到數組里。 (18) 盡量使用interfaces,不要使用abstract類。若已知某樣東西準備成為一個基礎類,那么第一個選擇應是將其變成一個interface(接口)。只有在不得不使用方法定義或者成員變量的時候,才需要將其變成一個abstract(抽象)類。接口主要描述了客戶希望做什么事情,而一個類則致力于(或允許)具體的實施細節。 (19) 在構建器內部,只進行那些將對象設為正確狀態所需的工作。盡可能地避免調用其他方法,因為那些方法可能被其他人覆蓋或取消,從而在構建過程中產生不可預知的結果(參見第7章的詳細說明)。 (20) 對象不應只是簡單地容納一些數據;它們的行為也應得到良好的定義。 (21) 在現成類的基礎上創建新類時,請首先選擇“新建”或“創作”。只有自己的設計要求必須繼承時,才應考慮這方面的問題。若在本來允許新建的場合使用了繼承,則整個設計會變得沒有必要地復雜。 (22) 用繼承及方法覆蓋來表示行為間的差異,而用字段表示狀態間的區別。一個非常極端的例子是通過對不同類的繼承來表示顏色,這是絕對應該避免的:應直接使用一個“顏色”字段。 (23) 為避免編程時遇到麻煩,請保證在自己類路徑指到的任何地方,每個名字都僅對應一個類。否則,編譯器可能先找到同名的另一個類,并報告出錯消息。若懷疑自己碰到了類路徑問題,請試試在類路徑的每一個起點,搜索一下同名的.class文件。 (24) 在Java 1.1 AWT中使用事件“適配器”時,特別容易碰到一個陷阱。若覆蓋了某個適配器方法,同時拼寫方法沒有特別講究,最后的結果就是新添加一個方法,而不是覆蓋現成方法。然而,由于這樣做是完全合法的,所以不會從編譯器或運行期系統獲得任何出錯提示——只不過代碼的工作就變得不正常了。 (25) 用合理的設計方案消除“偽功能”。也就是說,假若只需要創建類的一個對象,就不要提前限制自己使用應用程序,并加上一條“只生成其中一個”注釋。請考慮將其封裝成一個“獨生子”的形式。若在主程序里有大量散亂的代碼,用于創建自己的對象,請考慮采納一種創造性的方案,將些代碼封裝起來。 (26) 警惕“分析癱瘓”。請記住,無論如何都要提前了解整個項目的狀況,再去考察其中的細節。由于把握了全局,可快速認識自己未知的一些因素,防止在考察細節的時候陷入“死邏輯”中。 (27) 警惕“過早優化”。首先讓它運行起來,再考慮變得更快——但只有在自己必須這樣做、而且經證實在某部分代碼中的確存在一個性能瓶頸的時候,才應進行優化。除非用專門的工具分析瓶頸,否則很有可能是在浪費自己的時間。性能提升的隱含代價是自己的代碼變得難于理解,而且難于維護。 (28) 請記住,閱讀代碼的時間比寫代碼的時間多得多。思路清晰的設計可獲得易于理解的程序,但注釋、細致的解釋以及一些示例往往具有不可估量的價值。無論對你自己,還是對后來的人,它們都是相當重要的。如對此仍有懷疑,那么請試想自己試圖從聯機Java文檔里找出有用信息時碰到的挫折,這樣或許能將你說服。 (29) 如認為自己已進行了良好的分析、設計或者實施,那么請稍微更換一下思維角度。試試邀請一些外來人士——并不一定是專家,但可以是來自本公司其他部門的人。請他們用完全新鮮的眼光考察你的工作,看看是否能找出你一度熟視無睹的問題。采取這種方式,往往能在最適合修改的階段找出一些關鍵性的問題,避免產品發行后再解決問題而造成的金錢及精力方面的損失。 (30) 良好的設計能帶來最大的回報。簡言之,對于一個特定的問題,通常會花較長的時間才能找到一種最恰當的解決方案。但一旦找到了正確的方法,以后的工作就輕松多了,再也不用經歷數小時、數天或者數月的痛苦掙扎。我們的努力工作會帶來最大的回報(甚至無可估量)。而且由于自己傾注了大量心血,最終獲得一個出色的設計方案,成功的快感也是令人心動的。堅持抵制草草完工的誘惑——那樣做往往得不償失。 (31) 可在Web上找到大量的編程參考資源,甚至包括大量新聞組、討論組、郵寄列表等。下面這個地方提供了大量有益的鏈接: posted @ 2005-06-08 16:38 月亮 閱讀(224) | 評論 (0) | 編輯 收藏 Java對象操作(自己體會,不一定說的正確,但是都是在程序中測試)
Java中c中的指針的概念,但是我在使用中還是碰到過一些問題,如我把一個一個對象A賦值給對象B時,這兩個對象有一個改變,那么另外一個也相應的改變。下面分別談談這可能發生問題的幾種情況:
<一>從“一個對象到另一個對象的賦值”,如: Class A = new Class(); Class B = A; 這種情況實際把句柄從一個地方復制到另外一個地方,這種情況下對象B和A實際指向的是同一個句柄,更新B會影響到A,同樣更新A也會影響到B。 <二>把對象作為方法的參數傳遞到一個方法中。Java方法的參數傳遞可以分成兩種:一種是值傳遞,這種一般是簡單的數據類型,如int,long,double,char這些等;一種類似是c中的引用傳遞,就是把對象作為一個引用傳遞給方法參數,在這種情況下,在方法中把這個傳入的參數對象改變,那么相應的傳入這個參數引用的對象也相應的改變。如: Number A = new Number(); A.num = 9; test(A); 方法定義: public void test(Number n){ n.num = 99; } 那么A的num值會變成99. <三>;把對象保存在ArrayList中.如果把一個對象保存在一個AyyayList中,如果這個對象再發生改變,那么在這個ArrayList中保存的對象也會改變,說白了還是兩個還是公用同一個句柄.如: Number A = new Number(); A.num = 100; java.util.ArrayList list = new ArrayList(); list.add(A); A.num = 999; Number B = (Number)list.get(0); System.out.println(B.num); 那么輸出為999,對象A的更改影響到了ArrayList中的保存的對象. posted @ 2005-06-08 00:19 月亮 閱讀(272) | 評論 (0) | 編輯 收藏 人生就像一碗蔬菜湯
你看過老鷹嗎?咱們生活在都市的人,大概很少有機會看到老鷹。根據鳥類生態學家的研究,老鷹是一種奇特的飛禽,因為它們都把窩巢筑在樹梢,或是懸崖陡巖上,通用動物很難直接攻擊它。
可是,老鷹是怎么搭筑窩巢的呢?生態學家用望遠鏡仔細觀察后發現,母鷹先用尖嘴銜著一些荊棘放置在底層,再叼來一些尖銳的小石子鋪放在荊棘上面。乍看之下,總覺得用銳利的小石子當材料來筑巢,是很突兀、怪異的,這怎么能筑出一個溫暖、舒適的窩巢呢?不過,母鷹后來又銜一些枯草、羽毛或獸皮覆蓋在小石子上,做成一個能孵蛋的窩。 小鷹孵化、出生后,住在窩巢里,母鷹按時叼回來小蟲、肉食,喂入雛鷹嗷嗷待哺的小嘴中;母鷹天天供應食物,也細心保護,以防敵人入侵。后來,小鷹慢慢長大、羽毛漸豐,這時,母鷹認為,該是小鷹學習"自我獨立"的時候了! 可是,有什么辦法能讓小鷹不再眷戀始終被母鷹呵護、舒適無比的窩巢呢?有的,母鷹開始"攪動窩巢",讓巢上的枯草、羽毛掉落,而暴露出尖銳的小石子和荊棘;小鷹被刺痛得哇哇叫,可是母鷹又很無情地加以驅逐、揮趕,小鷹只好忍痛振起雙翅,離巢他飛。 母鷹殘忍、無情嗎?不,母鷹深愛著它生養的小鷹! 但是,母鷹更渴望它疼愛的小鷹能成為四處翱翔的飛鷹,因此,必須無情地逼著小鷹飛離舒適的窩,勇敢地學習獨立;即使小鷹在剛開始跌跌撞撞,母鷹仍偷偷地在旁照顧看護它,直到小鷹能展翅高飛、直上青天! 我在美國念博士班時,常搭飛機來回美臺兩地。有一次,我匆忙地趕上臺北飛往舊金山的班機,查找座位后,發現身旁已經坐著一位30來歲的小姐。她身穿長褲,對著我微微一笑。漫長的飛行,我和她開始閑聊。她說,小時候家窮,父母又離異,所以國小畢業后就沒再讀書,只好跟人家學做裁縫;20多年過去了,現在經濟能力好轉,雖然想多念點書,可是沒學歷,不能念大學,于是只好趁暑假時間到美國念暑期美語學校,藉此拓展視野。 這小姐臉龐清秀,不疾不徐地對我說:"我們客家人有一句諺語━━窮人莫斷豬,富人莫斷書;我啊,現在不是窮人了,但也不是什么富人,只是覺得自己必須多讀點書,畢竟人生不像錄影帶、錄音帶,可以倒帶重來,所以我希望盡可能地多充實自己!" 聊著聊著,飛機已經飛行了3小時左右,這時,她禮貌地對著坐在走道旁的我說:"對不起,可不可以借我過一下,我想上洗手間?""噢,好!"我說,隨即起身讓她走過。 只見這小姐用手扭轉一下長褲里的硬硬東西,然后慢慢地站起來……她一跛一跛地、緩緩地從我眼前走過,再跛著腳,走向前端的盥洗室。天哪,身軀嬌小的她,竟是一位小兒麻痹患者,她寬松的長褲里,裝著的是支撐她站起來走路的鐵鞋! 當她走回座位時,我對她說:"你可以請空姐幫你安排前面好一點的座位呀!""不用啦!我已經習慣了,這小問題難不倒我!"她笑笑地對我說:"到美國念書3個月,要自己解決的問題還很多呢!" 我常在想,有時,小鷹不一定都有母鷹喂食、呵護,也不一定會有同樣殘酷無情的母鷹逼它離巢他飛,但是孤苦無依的小鷹必須懂得━━要含淚堅強地站起來,自己飛、不斷地飛,飛往屬于自己的一片晴空與藍天。 其實,人生就如同"一大碗蔬菜湯",如果沒經過攪動,鮮美好料就會"一直沉在碗底"。就像小鷹一樣,母鷹無情地攪動窩巢,才逼得它必須獨立展翅飛翔;可是,它不能搶劫超商、不能跳樓自殺,還是必須靠自己"獨立更生",才有食物吃啊!人,似乎很少聽說因為太勤勞、流汗太多,而被汗水淹沒的! 我們必須辛勤地"攪動自己",讓鮮美的"蔬菜好料"浮現━━讓內在的才華、能力美麗呈現。 所以,告訴自己━━"我,一定要做最棒的我!" posted @ 2005-06-07 16:48 月亮 閱讀(377) | 評論 (1) | 編輯 收藏 關于文檔的作用 今天看了一篇文章,覺得很有啟發。一個好的程序員不只是要寫出好的代碼,而且要學會寫寫文檔和與別人交流,如果不能寫文檔和與別人交流,那么再好的代碼別人也無法看懂。 posted @ 2005-06-06 20:17 月亮 閱讀(178) | 評論 (0) | 編輯 收藏 abstract和interface類的區別和共同點* 1.定義方式的不同: posted @ 2005-06-02 14:59 月亮 閱讀(353) | 評論 (0) | 編輯 收藏 Struct學習筆記1昨天開始學習structs,計劃用2周來大致上把握Structs,大致覺得structs的優勢在于提高web開發的速度,尤其是在大型的項目中,但是前期的設計可能要花很多的時間來計劃每個頁面對應到哪個ActionForm和Action,計劃好每個頁面跳轉的頁面。覺得其中主要的思想就是MVC,這種方式的好處就是: posted @ 2005-06-01 00:11 月亮 閱讀(420) | 評論 (0) | 編輯 收藏 請先買好一份盒飯
那件事至今一想起來,我就臉紅,一臉紅就羞愧。
三年前,初入職場。那時的我,新鮮的不行,見到老板的車就閃躲不及,見到老板本人簡直像老鼠見了貓。那天中午,剛吃完單位統一訂送的盒飯,一抬頭就撞到老板。老板笑容可掬地問:"sunny,你幫我問問快餐店還有沒有盒飯送?或者,你聯系一下周主任,,拜托他回來時給我帶一份。" "哦……哦。"對老板的交代我受寵若驚,此前,老板可從未直接給我交代過什么任務。我很興奮。 趕緊抬頭看鐘,已經是午后一點,時間不早了。迅速給快餐店打電話,真是不巧,他們準備的盒飯早已賣完。我急得滿頭冒汗,哦,對了再聯系周主任。更不巧,周主任外出就餐,他的手機放在辦公桌上。天啊! 我爆汗,折騰半天,臉紅紅的,走進老板辦公室說:"很抱歉,我沒能聯系上周主任,快餐店也……"我支吾著,心里的那份難受,真的是無以復加。看看時間已接近兩點,可老板還沒有吃上飯,而我,又沒幫上什么忙。我十分羞愧。 事后,我不時地想起那次的尷尬。其實我只要變換一下方式---如果我向其他同事多要幾家快餐店的電話,如果我索性放下電話親自跑到快餐店去,來回也不過半小時。只要我多動一點腦筋,靈活一點,主動一點,想方設法解決問題,而不是把問題原封不動地踢給老板,都不至于使老板在兩點之后才去就餐,我的心情也不會變得灰溜溜的了。 為什么我不主動一點啊?!這次事件之后,我得到了一個很深刻的教訓。 不久以后,我再次遇到了相似的情形。老板打電話要接李助理,是我接的電話。我看看李助理的辦公室,說:"她外出尚未回來。"先前的事情在腦袋里一閃,我馬上想到自己又在犯老毛病了,總不至于要老板自己翻電話簿聯系李助理吧。我立即補充一句:"我馬上Call她,請她與您聯系。"老板說:"我找她是有急事,不過換別人也行。"我響亮地說:"我們這里有小張、小池、還有我,您需要哪一位?" 老板的聲音聽起來很悅耳:"就你吧,你把……準備好給我。" 我在客戶服務部工作了三年,接了三年電話。但我發現:漸漸地,我和同事們接電話的方式有了些微妙的差別。我聽到他們習慣說"沒有","不清楚","不是","時間安排不過來",諸如此類。三年前,我和他們一樣,而一個人在三年里不可能沒有一點變化。 有一次,我接到一個電話,這個客戶希望我們能派出最有經驗的王工為他們解決產品故障,而王工恰好被派出去還沒有返回。客戶是這樣問的:"請問王工在嗎?" 三年前的我習慣這樣回答:"他出去了,什么時候能回來還不一定。" 三年后的我這樣回答:"他出去了,請問您有什么事嗎?" 三年后的我還會這樣回答:"我們這里還有幾位有經驗的工程師,他是張工、鄭工、程工。張工的特長是…… 程工的特長是…… " 主動地為客戶提供更多信息,盡可能讓對方有更多選擇,這就是我在接電話過程中的一個小小秘訣。當然,客戶會在我的勸說下欣然選擇一位工程師,而我也不會被動地干著急,一味傻等著王工回來。 三年后,老板找我談話,問我愿不愿擔任客服部主管。我詫異,我不過是一直在接電話,沒什么特長。 老板卻說:"不同的人,哪怕接一個小小的電話也會有大大的不同。就沖你接電話的方式,我相信你能領導好一個客服部。我看你的第一把火就從接電話培訓開始吧。" 不由分說,我成了主管。當我把我的那次盒飯經歷跟下屬分享時,我發現,職場上不乏接電話、訂盒飯等等雞毛蒜皮的小事,可誰又敢說,這些小事不能煉就一個優秀的職業人? 老板給出的只是一個命令或吩咐。怎么琢磨,怎么做,那就是你自己的事情。你如果只需要一個命令與吩咐,就能夠做好事情,解決問題,那便是真正的能力。 細節,往往是成就一個人素質的最重要的東西。 posted @ 2005-05-31 10:00 月亮 閱讀(102) | 評論 (0) | 編輯 收藏 Tomcat中配置session失效時間在Tomcat中,如果要配置session的失效時間,只要配置web.xml就可以,在web.xml中加入下面一句: posted @ 2005-05-30 13:43 月亮 閱讀(7241) | 評論 (5) | 編輯 收藏 win2000刪除默認共享
net share c$ /delete 這里的c$、d$、e$......是代表默認共享的盤符~又幾個就設置幾個就可以了~ 之后點擊保存成批處理文件(后綴為:bat的文件!)!加入到啟動組中就可以了~ posted @ 2005-05-20 11:55 月亮 閱讀(347) | 評論 (0) | 編輯 收藏 Mapxtreme for Java中添加自定義圖標MapXtreme Java提供的圖標很少,做出的地圖看起來不美觀。MapXtreme Java中自定義符號
posted @ 2005-05-19 16:01 月亮 閱讀(1376) | 評論 (0) | 編輯 收藏 Tomcat中中文文件名不支持的解決方法
今天在Tomcat中做文件下載,發現如果文件名是中文名無法下載,而英文文件名的是沒有問題的。
想想可能跟編碼有關系,在conf/server.xml配置文件發現在里面可以改其編碼方式。 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" /> </Connector> 把URIEncoding設為UTF-8就一切OK了。 posted @ 2005-05-19 13:03 月亮 閱讀(3012) | 評論 (3) | 編輯 收藏 SQL語句-觸發器昨天晚上隨便翻了翻大學時的教材,發現其中有很多東西在大學時沒在意的理論知識,但是在工作后回想起來才慢慢發現這些的作用,如昨天晚上看到一個觸發器的SQL語句: create trigger TriggerOfSalary posted @ 2005-05-19 09:52 月亮 閱讀(453) | 評論 (1) | 編輯 收藏 |
|||