Study java

          一個(gè)新手學(xué)習(xí)JavaEE的心得,希望對(duì)學(xué)習(xí)JavaEE的朋友有些幫助。

          2007年3月8日

          進(jìn)來偶看一下swing.寫了一個(gè)學(xué)生管理系統(tǒng)
          http://www.aygfsteel.com/Files/ronghai/homework.zip
          大家可以下載了看看.


          posted @ 2007-05-29 23:14 ronghai 閱讀(1399) | 評(píng)論 (1)編輯 收藏
               摘要: 關(guān)于 Type1IoC,Spring Type2IoC和Type3IoC 的程序?qū)嵗?希望能對(duì)大家有用  閱讀全文
          posted @ 2007-05-29 18:45 ronghai 閱讀(1110) | 評(píng)論 (0)編輯 收藏
               摘要: 在gmail中每個(gè)內(nèi)置文件夾(視圖)都是一個(gè)標(biāo)簽.所以如果你想查看所有收件箱中的未讀郵件,你可以這樣使用 label:inbox label:unread
          當(dāng)然你可以聯(lián)合使用這些內(nèi)置標(biāo)簽和你自己的標(biāo)簽形成一個(gè)有趣的查詢.但是很快你就發(fā)現(xiàn)了這些查詢是那么得長,還那么難寫.不過實(shí)際上你不需要這樣做.你可以使用l來代替label.這樣前面那個(gè)查詢可以這樣寫 l:inbox l:unread  閱讀全文
          posted @ 2007-05-24 11:50 ronghai 閱讀(338) | 評(píng)論 (0)編輯 收藏
               摘要: 通過spring的mailsender實(shí)現(xiàn)郵件的發(fā)送,同時(shí)實(shí)用gmail作為郵件發(fā)送服務(wù)器.  閱讀全文
          posted @ 2007-05-23 19:30 ronghai 閱讀(2136) | 評(píng)論 (0)編輯 收藏
          前兩天沒有什么事做,仔細(xì)看了一下JAva的拆包,發(fā)現(xiàn)了下面的問題,不是很明白,到網(wǎng)上轉(zhuǎn)了一圈,找到了答案.給需要的朋友看看
          首先看一段代碼(使用JDK 5),如下:
           1 public class Test {
           2 public static void main(String[] args) {
           3 Integer i1 = 127;
           4 Integer i2 = 127;
           5 if (i1 == i2)
           6 System.out.println("Equal!");
           7 else
           8 System.out.println("Not equal!");
           9 }
          10 }

          輸出結(jié)果想必大家也知道,是“Equal!”?,F(xiàn)在把i1和i2的值由127改為128看看會(huì)發(fā)生什么?結(jié)果輸出“Not equal!”。

          注意i1和i2都是Integer類型,事實(shí)上只要這個(gè)值的范圍在“-128—127”之間,輸出結(jié)果都是“Equal!”。JDK 5引進(jìn)了很多新的特性,其中有一個(gè)就是自動(dòng)裝箱(Autoboxing)和自動(dòng)拆箱(Auto-Unboxing)。當(dāng)i1和i2值為128時(shí),在進(jìn)行 “==”時(shí),它們被裝進(jìn)兩個(gè)不同的Integer Objects,由于這是兩個(gè)不同的instances,它們引用不同的內(nèi)存地址,所以結(jié)果是“Not equal!”。 但當(dāng)這個(gè)值是127時(shí),JVM自動(dòng)將這個(gè)值轉(zhuǎn)換成基本類型int,這樣進(jìn)行“==”時(shí),JVM仍然使用的是相同的object instance, 所以輸出結(jié)果為“Equal!”了。


          其實(shí)這與'=='運(yùn)算符的比較有關(guān),'=='可用來比較兩個(gè)基本型態(tài)的變量值是否相等,事實(shí)上'=='也用于判斷兩個(gè)對(duì)象變量名稱是否參考至同一個(gè)對(duì)象。

          所 以'=='可以比較兩個(gè)基本型態(tài)的變量值是否相等,也可以判斷兩個(gè)對(duì)象變量的參考對(duì)象是否相同,當(dāng)您如前兩個(gè)程序的方式撰寫時(shí),編譯器不知道您實(shí)際上要比 較的是哪一種?所以對(duì)于值從-128到127之間的值,它們被裝箱為Integer對(duì)象后,會(huì)存在內(nèi)存之中被重用,所以當(dāng)值在100,使用'=='進(jìn)行比 較時(shí),i1 與 i2實(shí)際上參考至同一個(gè)對(duì)象。

          如果超過了從-128到127之間的值,被裝箱后的Integer對(duì)象并不會(huì)被重用,即相當(dāng)于每次都新建一個(gè)Integer對(duì)象,所以當(dāng)值在 200,使用'=='進(jìn)行比較時(shí),i1與i2參考的是不同的對(duì)象。


          “Integer i1 = 127;”在JDK1.5下可以編譯通過的,這就是自動(dòng)裝箱(Autoboxing)和自動(dòng)拆箱(Auto-Unboxing)。自動(dòng)裝箱 (Autoboxing)特性讓Java自動(dòng)包裝一個(gè)簡單數(shù)據(jù)類型(例如int)到對(duì)應(yīng)的包裝類型中(例如Integer)中。
          在《JSR 201: Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import》中,對(duì)這個(gè)問題,是作了這樣的規(guī)定:
          If the value p being boxed is true, false, a byte, an ASCII character, or an integer or short number between -127 and 128, then let r1 and r2 be the results of any two boxing conversions of p. It is always the case that r1 == r2.
          在Java中,The following is the list of primitives stored as immutable objects(不可變對(duì)象):
          * boolean values true and false
          * All byte values
          * short values between -128 and 127
          * int values between -128 and 127
          * char in the range \u0000 to \u007F
          posted @ 2007-05-20 11:53 ronghai 閱讀(397) | 評(píng)論 (0)編輯 收藏
               摘要: 這是一個(gè)java高手的聊天記錄,出自某個(gè)特別的群,為了名譽(yù)等事情,聊天中的id都已經(jīng)被我處理過,所以請(qǐng)大家不用去找是哪個(gè)群,誰說的了

          昨天晚上,閑來無事,隨手翻開<>,剛好看到接口和抽象類一章,因?yàn)槲冶救丝磿鴷r(shí),經(jīng)常愛看到哪里,嘴就要說出來,特別是有人在旁邊得時(shí)候。
          于是,我便隨口一句:“什么是接口?”,片刻,我女朋友伸過來一只手,用食指和拇指捏住我得下巴,給了我一個(gè)深深得Kiss,然后頭發(fā)一甩,回眸用深沉的口吻道:“現(xiàn)在知道什么是接口了吧!”,
          ^&*(&(&#$%%^@#!@.   閱讀全文
          posted @ 2007-03-14 17:37 ronghai 閱讀(872) | 評(píng)論 (2)編輯 收藏
               摘要: *本段代碼是自己的一個(gè)作業(yè),我想有些地方還可以簡單點(diǎn),但是,發(fā)現(xiàn)簡單了卻不怎么好用,所以有點(diǎn)復(fù)雜
          *作業(yè)的要求是可以刪除掉任意一個(gè)文件或文件夾,而不管文件夾里面是否還有其他文件,
          *有個(gè)方法是可以很快就實(shí)現(xiàn)的就是直接調(diào)要系統(tǒng)的指令,但是java要運(yùn)行在任意平臺(tái),所以我就這樣復(fù)雜點(diǎn)了
          *方法使用java DeleteFile 文件名或文件夾名 [q|Q]
          *后面有兩個(gè)參數(shù),第一個(gè)十文件或文件夾名,第二個(gè)是q
          * q表示強(qiáng)制刪除,沒有確認(rèn)  閱讀全文
          posted @ 2007-03-08 12:39 ronghai 閱讀(267) | 評(píng)論 (0)編輯 收藏

          導(dǎo)航

          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          城市流浪者

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 祥云县| 高清| 阿图什市| 宜君县| 静宁县| 靖边县| 修水县| 丘北县| 丰县| 咸宁市| 富源县| 江川县| 广河县| 土默特右旗| 吴川市| 普陀区| 长宁区| 正定县| 渭源县| 广昌县| 黑河市| 临湘市| 北宁市| 柯坪县| 北票市| 中西区| 辽宁省| 巴青县| 沽源县| 通海县| 吴旗县| 宁夏| 拉萨市| 高要市| 云南省| 延寿县| 开封县| 遂宁市| 罗定市| 青川县| 连州市|