sunfruit[請?jiān)L問http://www.fruitres.cn]

          --我相信JAVA能走得更遠(yuǎn) QQ:316228067

          #

          成長感悟--生命的價值

              --sunfruit

              成長中的應(yīng)該知道的。。。生命的價值

              不要讓昨日的沮喪令明天的夢想黯然失色!
              在一次討論會上,一位著名的演說家沒講一句開場白,手里卻高舉著一張20美元的鈔票。
              面對會議室里的200個人,他問:“誰要這20美元?”一只只手舉了起來。他接著說:“我打算把這20美元送給你們中的一位,但在這之前,請準(zhǔn)許我做一件事?!彼f著將鈔票揉成一團(tuán),然后問:“誰還要?”仍有人舉起手來。
              他又說:“那么,假如我這樣做又會怎么樣呢?”他把鈔票扔到地上,又踏上一只腳,并且用腳碾它。爾后他拾起鈔票,鈔票已變得又臟又皺。
              “現(xiàn)在誰還要?”還是有人舉起手來。
              “朋友們,你們已經(jīng)上了一堂很有意義的課。無論我如何對待那張鈔票,你們還是想要它,因?yàn)樗]貶值,它依舊值20美元。人生路上,我們會無數(shù)次被自己的決定或碰到的逆境擊倒、欺凌甚至碾得粉身碎骨。我們覺得自己似乎一文不值。但無論發(fā)生什么,或?qū)⒁l(fā)生什么,在上帝
          的眼中,你們永遠(yuǎn)不會喪失價值。在他看來,骯臟或潔凈,衣著齊整或不齊整,你們依然是無價之寶?!?
              溫馨提示:生命的價值不依賴我們的所作所為,也不仰仗我們結(jié)交的人物,而是取決于我們本身!我們是獨(dú)特的——永遠(yuǎn)不要忘記這一點(diǎn)!

          posted @ 2006-02-19 17:35 sunfruit 閱讀(347) | 評論 (1)編輯 收藏

          [原創(chuàng)]JAVA基本數(shù)據(jù)類型的傳遞方式

              --sunfruit

              java中的基本的數(shù)據(jù)類型如int,float,long,String[這個是一個特殊的類,有基本的數(shù)據(jù)類型的特性]等,在方法的參數(shù)傳遞的時候不存在引用傳遞,只有值傳遞方式,下面有一個實(shí)例

              public class  Test
          {
           public Test()
           {
            int j=9;
            setInt(j);
            System.out.println(j);
            j=setInt(j);
            System.out.println(j);

            String str2="abc";
            setString(str2);
            System.out.println(str2);
            str2=setString(str2);
            System.out.println(str2);

            StringBuffer buff=new StringBuffer();
            buff.append("abcbuff");
            setStringBuffer(buff);
            System.out.println(buff.toString());
           }

           public static void main(String[] args)
           {
            new Test();
           }
           private int setInt(int i)
           {
            i+=2;
            return i;
           }
           private String setString(String str1)
           {
            str1+=" test";
            return str1;
           }

           private StringBuffer setStringBuffer(StringBuffer buff1)
           {
            buff1.append(" test");
            return buff1;
           }
          }

          運(yùn)行結(jié)果

          9
          11
          abc
          abc test
          abcbuff test

              可以看到基本數(shù)據(jù)類型的傳遞方式是值傳遞

          posted @ 2006-02-19 17:34 sunfruit 閱讀(473) | 評論 (0)編輯 收藏

          [原創(chuàng)]用JAVA寫的整形動態(tài)數(shù)組

              --sunfruit

              用java實(shí)現(xiàn)了整形數(shù)字的動態(tài)數(shù)組


          JDK版本
                  1.3.1
              功能
                  實(shí)現(xiàn)了添加整數(shù)到動態(tài)數(shù)組中,JDK(1.5以下)不提供整形類型的集合,比如ArrayList這樣的集合不允許添加整數(shù),
                  但是在編程過程中會遇到需要整形的動態(tài)數(shù)組的情況,所以這個類實(shí)現(xiàn)了這樣的功能
                 
              歡迎大家提意見,交流
             
              代碼如下:
          /**
           * Title: 整形動態(tài)數(shù)組
           * Description: 實(shí)現(xiàn)了整形數(shù)字的動態(tài)添加
           * Copyright: Copyright (c) 2003
           * Company: LingTu
           * @author cuijiang
           * @version 2.0
           */
          public class DynArrayInt {
           /**
            * 原始數(shù)組
            */
           private int[] data_All;

           /**
            * 計(jì)數(shù)器(數(shù)組長度)
            */
           private int size_count;

           /**
            * 構(gòu)造器,初始長度默認(rèn)為10
            */
           public DynArrayInt() {
            this(10);
           }

           /**
            * 構(gòu)造器,設(shè)置數(shù)組的初始長度
            *
            * @param iniSize  int 數(shù)組的初始長度
            */
           public DynArrayInt(int iniSize) {
            data_All = new int[iniSize];
           }

           /**
            * 添加數(shù)據(jù),調(diào)用checkAdd(int i)
            * @param i   int 一個整形數(shù)字
            */
           public void addInt(int i) {
            //判斷是否增長
            this.checkAdd(size_count + 1);
            //賦值
            data_All[size_count++] = i;
            //添加時數(shù)組長度加一
           }

           /**
            * 添加數(shù)字,判斷是否增長
            * @param i   int 一個整形數(shù)字
            */
           private void checkAdd(int i) {
            //獲得原來的大小
            int star = data_All.length;
            //判斷是否增長
            if (i > star) {
             int starData[] = data_All;
             //設(shè)定增長大小
             int endall = star * 2;
             data_All = new int[endall];
             System.arraycopy(starData, 0, data_All, 0, size_count);
            }
           }

           /**
            * 獲取數(shù)據(jù)
            * @param i    int 索引號
            * @return int
            */
           public int getInt(int i) {

            if (i < 0 || i >= size_count) {
             throw new IndexOutOfBoundsException("超出最大或最小索引值,無法取得數(shù)據(jù)");
            } else {
             return data_All[i];
            }
           }

           /**
            * 獲取數(shù)據(jù)轉(zhuǎn)換成字符串模式
            * @param i  int 索引號
            * @return String
            */
           public String getIntToString(int i) {

            if (i < 0 || i >= size_count) {
             throw new IndexOutOfBoundsException("超出最大或最小索引值,無法取得數(shù)據(jù)");
            } else {
             return String.valueOf(data_All[i]);
            }
           }

           /**
            * 刪除數(shù)據(jù)
            * @param j int 一個要刪除的整數(shù)        
            */
           public void remove(int j) {
            for (int i = 0; i < size_count; i++) {
             if (data_All[i] == j) {
              System.arraycopy(data_All, i+1, data_All, i, size_count-i-1); // 復(fù)制數(shù)據(jù)
              --size_count;
              return;
             }
            }
           }

           /**
            * 刪除數(shù)據(jù)
            * @param j int 一個要刪除的索引        
            */
           public void removeIndex(int j) {
            if (j < 0 || j >= size_count) {
             throw new IndexOutOfBoundsException("超出最大或最小索引值,無法刪除數(shù)據(jù)");
            } else {
             System.arraycopy(data_All, j + 1, data_All, j, size_count -j- 1); // 復(fù)制數(shù)據(jù)
             --size_count;
             return;
            }
           }

           /**
            * 獲取大小
            * @return int 獲得數(shù)組長度
            */
           public int getSize() {
            return size_count;
           }

           /**
            * 獲取數(shù)組對象
            * @return int[] 獲得數(shù)組對象
            */
           public int[] getAllInt() {
            int[] starData = new int[size_count];
            System.arraycopy(data_All, 0, starData, 0, size_count);
            return starData;
           }

           /**
            * 獲得數(shù)組對象,String格式
            * @return String[] 獲得數(shù)組的對象
            */
           public String[] getAllIntToString() {
            int[] tempint = getAllInt();
            String[] starData = new String[tempint.length];
            for (int i = 0; i < starData.length; i++) {
             starData[i] = String.valueOf(tempint[i]);
            }
            return starData;
           }

           /**
            * 刪除全部內(nèi)容
            */
           public void removeAll() {
            data_All = new int[10];
            size_count = 0;
           }
          }

          posted @ 2006-02-19 17:33 sunfruit 閱讀(1414) | 評論 (0)編輯 收藏

          開源軟件好,但是寫開源軟件也有要注意的

              --sunfruit

              說了開源軟件的一些想法

              注:轉(zhuǎn)貼

              開源軟件不要求代碼有多么的漂亮,但是設(shè)計(jì)的架構(gòu)必須要很精簡,很清晰。這樣別人才能在了解架構(gòu)的前提下做出擴(kuò)充。不要指望有人通過修改源代碼來擴(kuò)展功能,沒有人會愿意去完全讀懂一堆source,即使是大師級的source code。Apache的Avalon雖然功能很多,但是由于落后的架構(gòu),也不得不慘淡收場。
          所以開源軟件必然是個優(yōu)秀的產(chǎn)物,就像是個受到各方嚴(yán)格監(jiān)督的孩子,雖然現(xiàn)在還弱小,但將來不可限量??!
              不過光靠基金會的支持也還不足以讓這個孩子茁壯成長,商業(yè)化才是最終的出路

          posted @ 2006-02-19 17:31 sunfruit 閱讀(177) | 評論 (0)編輯 收藏

          原碼、補(bǔ)碼和反碼

              --sunfruit

              說明了原碼、補(bǔ)碼和反碼的關(guān)系以及算法

          原碼、補(bǔ)碼和反碼
           
          1)原碼表示法

              原碼表示法是機(jī)器數(shù)的一種簡單的表示法。其符號位用0表示正號,用:表示負(fù)號,數(shù)值一般用二進(jìn)制形式表示。設(shè)有一數(shù)為x,則原碼表示可記作[x。

              例如,X1= 1010110

                    X2= 1001010

              其原碼記作:

                      X1=[1010110]=01010110

                      X2=[1001010]=11001010

              原碼表示數(shù)的范圍與二進(jìn)制位數(shù)有關(guān)。當(dāng)用8位二進(jìn)制來表示小數(shù)原碼時,其表示范圍:

                最大值為0.1111111,其真值約為(0.9910

                最小值為1.1111111,其真值約為(一0.9910

          當(dāng)用8位二進(jìn)制來表示整數(shù)原碼時,其表示范圍:

                最大值為01111111,其真值為(12710

                最小值為11111111,其真值為(-12710

                在原碼表示法中,對0有兩種表示形式:

                    +0=00000000

                     [0] =10000000

           

          2)補(bǔ)碼表示法

              機(jī)器數(shù)的補(bǔ)碼可由原碼得到。如果機(jī)器數(shù)是正數(shù),則該機(jī)器數(shù)的補(bǔ)碼與原碼一樣;如果機(jī)器數(shù)是負(fù)數(shù),則該機(jī)器數(shù)的補(bǔ)碼是對它的原碼(除符號位外)各位取反,并在未位加1而得到的。設(shè)有一數(shù)X,則X的補(bǔ)碼表示記作[X補(bǔ)。

                例如,[X1]=1010110

                      [X2]= 1001010

                      [X1]=01010110

                      [X1]補(bǔ)=01010110

                    [X1]=[X1]補(bǔ)=01010110

                      [X2] = 11001010

                      [X2] 補(bǔ)=10110101110110110

              補(bǔ)碼表示數(shù)的范圍與二進(jìn)制位數(shù)有關(guān)。當(dāng)采用8位二進(jìn)制表示時,小數(shù)補(bǔ)碼的表示范圍:

                最大為0.1111111,其真值為(0.9910

                最小為1.0000000,其真值為(一110

          采用8位二進(jìn)制表示時,整數(shù)補(bǔ)碼的表示范圍:

                最大為01111111,其真值為(12710

                最小為10000000,其真值為(一12810

                在補(bǔ)碼表示法中,0只有一種表示形式:

                  [0]補(bǔ)=00000000

                  [0]補(bǔ)=111111111=00000000(由于受設(shè)備字長的限制,最后的進(jìn)位丟失)

          所以有[0]補(bǔ)=[0]補(bǔ)=00000000

           

           

          3)反碼表示法

              機(jī)器數(shù)的反碼可由原碼得到。如果機(jī)器數(shù)是正數(shù),則該機(jī)器數(shù)的反碼與原碼一樣;如果機(jī)器數(shù)是負(fù)數(shù),則該機(jī)器數(shù)的反碼是對它的原碼(符號位除外)各位取反而得到的。設(shè)有一數(shù)X,則X的反碼表示記作[X

              例如:X1= 1010110

                    X2= 1001010

                  X1=01010110

                   [X1]=X1=01010110

                   [X2]=11001010

                   [X2]=10110101

              反碼通常作為求補(bǔ)過程的中間形式,即在一個負(fù)數(shù)的反碼的未位上加1,就得到了該負(fù)數(shù)的補(bǔ)碼。

          1. 已知[X]=10011010,求[X]補(bǔ)。

          分析如下:

          [X][X]補(bǔ)的原則是:若機(jī)器數(shù)為正數(shù),則[X]=[X]補(bǔ);若機(jī)器數(shù)為負(fù)數(shù),則該機(jī)器數(shù)的補(bǔ)碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到?,F(xiàn)給定的機(jī)器數(shù)為負(fù)數(shù),故有[X]補(bǔ)=[X]1,即

                    [X]=10011010

                    [X]=11100101

               十)         1     

           

                    [X]補(bǔ)=11100110

           

           

          2. 已知[X]補(bǔ)=11100110,求[X。

                   分析如下:

               對于機(jī)器數(shù)為正數(shù),則[X=X補(bǔ)

               對于機(jī)器數(shù)為負(fù)數(shù),則有[X=[[X補(bǔ)補(bǔ)

          現(xiàn)給定的為負(fù)數(shù),故有:

                      X補(bǔ)=11100110

                  [[X補(bǔ)=10011001

                        十)         1   

           

                  [[X補(bǔ)補(bǔ)=10011010=X

          posted @ 2006-02-19 17:30 sunfruit 閱讀(2274) | 評論 (1)編輯 收藏

          IOC模式和JAVA的反射機(jī)制

              --sunfruit

              簡述了IOC的意義和JAVA的反射機(jī)制

          IOC模式:
          看到很多Java的文檔都談到了Ioc,原來IoC就是Inverse of Control啊,就是所謂的控制反轉(zhuǎn)。
          即由外部傳入所需的對象,而非在內(nèi)部定義。好處自然就是靈活性了。當(dāng)然對傳入的參數(shù)的要求就是面向接口了。

          Java的反射機(jī)制:
          通過Class類,實(shí)現(xiàn)動態(tài)的生成Instance(可以使用class.newInstance調(diào)用無參數(shù)的constructor或者取得特定的Constructor,再通過Constructor.newInstance。),以及動態(tài)調(diào)用Methods和設(shè)置Fields。不過對于調(diào)用特定的Method似乎也沒什么很大意義,除非是已知實(shí)現(xiàn)了某些interface的情況下,調(diào)用指定的Method。
          相比之下,C++就不能在給定class名的情況下生成Instance了,更不要談之后的調(diào)用Method了

          posted @ 2006-02-19 17:28 sunfruit 閱讀(419) | 評論 (0)編輯 收藏

          Oracle優(yōu)化你的查詢--關(guān)于避免索引隱式失效

              --sunfruit

              說明了Oracle數(shù)據(jù)庫中的索引隱式失效的問題

          1、隱式轉(zhuǎn)換導(dǎo)致索引失效.這一點(diǎn)應(yīng)當(dāng)引起重視.也是開發(fā)中經(jīng)常會犯的錯誤.
              由于表的字段tu_mdn定義為varchar2(20),但在查詢時把該字段作為number類型以where條件傳給Oracle,這樣會導(dǎo)致索引失效.
              錯誤的例子:select * from test where tu_mdn=13333333333;
              正確的例子:select * from test where tu_mdn='13333333333';
             
          2、對索引列進(jìn)行運(yùn)算導(dǎo)致索引失效,我所指的對索引列進(jìn)行運(yùn)算包括(+,-,*,/,! 等)
              錯誤的例子:select * from test where id-1=9;
              正確的例子:select * from test where id=10;
             
          3、使用Oracle內(nèi)部函數(shù)導(dǎo)致索引失效.對于這樣情況應(yīng)當(dāng)創(chuàng)建基于函數(shù)的索引.
              錯誤的例子:select * from test where round(id)=10; 說明,此時id的索引已經(jīng)不起作用了
              正確的例子:首先建立函數(shù)索引,create index test_id_fbi_idx on test(round(id));
                               然后 select * from test where round(id)=10; 這時函數(shù)索引起作用了

          posted @ 2006-02-19 17:26 sunfruit 閱讀(1212) | 評論 (0)編輯 收藏

          Oracle日期函數(shù)的一些總結(jié)

              --sunfruit

              總結(jié)了Oracle中關(guān)于日期函數(shù)的一些用法和技巧

          上月末天:
          SQL> select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from
            2  dual
            3  ;
           
          LASTDAY
          ----------
          2004-09-30
           
          上月今天
          SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual
            2  ;
           
          PRETODAY
          ----------
          2004-09-29
           
          上月首天
          SQL> select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') FirstDay
            2  from dual;
           
          FIRSTDAY
          ----------
          2004-09-01
           
           
           
          以下轉(zhuǎn)貼:
           Oracle
          在日期使用上允許極大的靈活性。由于可以在日期字段存儲時間和日期,從而有函數(shù)可以既引用日期又引用時間。
          Oracle 所提供的一些日期函數(shù)如下所示。
          1. SYSDATE
          返回當(dāng)前的日期和時間。
          示例
          SELECT sysdate FROM dual;

          SYSDATE
          ----------
          05-3月 -03

          2. ADD_MONTHS(d, no_of_month)
          當(dāng)前日期"m"后推"no_of_month" 個月。參數(shù)"no_of_month"可為任何整數(shù)。
          示例
          SELECT add_months(sysdate,2) FROM dual;

          ADD_MONTHS
          ----------
          05-5月 -03

          SELECT add_months(sysdate,-2) FROM dual;

          ADD_MONTHS
          ----------
          05-1月 -03

          3. LAST_DAY(month_day)
          返回變量"month_day"中所指定月份的最后一天的日期。
          示例
          SELECT last_day(sysdate) FROM dual;

          LAST_DAY(S
          ----------
          31-3月 -03

          4. MONTHS_BETWEEN(d1, d2)
          返回日期 d1 和 d2 之間的月份數(shù)。如果 d1 晚于 d2,結(jié)果為正,否則返回負(fù)數(shù)。
          示例
          SELECT months_between(sysdate,to_date('20030101','YYYYMMDD')) FROM dual;

          MONTHS_BETWEEN(SYSDATE,TO_DATE('20030101','YYYYMMDD'))
          ------------------------------------------------------
                                                     2.15773932

          5. NEXT_DAY(d, day_of_week)
          返回由"day_of_week"命名的,在變量"d"指定的日期之后的第一個工作日的日期。參數(shù)"day_of_week"必須為該星期中的某一天。
          示例
          -- 2003.3.2 是星期日
          SELECT next_day(to_date('20030226','YYYYMMDD'),1) FROM dual;

          NEXT_DAY(T
          ----------
          02-3月 -03

          日期格式
          格式元素        說明
          AD 或 A.D.      帶有或不帶有句號的 AD 標(biāo)記
          BC 或 B.C.      帶有或不帶有句號的 BC 標(biāo)記
          D               一周中的天 (1-7)
          DAY             天的名稱 (Sunday - Saturday)
          DD              一月中的天 (1 - 31)
          DDD             一年中的天 (1 - 366)
          DY              天的縮寫 (Sun - Sat)
          HH              一天中的小時 (1 - 12)
          HH24            一天中的小時 (0 - 23)
          MI              分鐘 (0-59)
          MM              月 (01-12)
          MON             月名稱的縮寫
          MONTH           月的名稱
          SS              秒 (0-59)
          YYYY            4 個數(shù)字表示的年

          posted @ 2006-02-19 17:22 sunfruit 閱讀(923) | 評論 (0)編輯 收藏

          [原創(chuàng)]用JAVA做的FTP上傳軟件

              --sunfruit

              java做的ftp上傳軟件,可以定時上傳文件


              JDK版本
                  1.4.x 推薦1.4.2
              服務(wù)端軟件
                  目前只能支持SERVER_U
              參數(shù)配置
                  在xmlfile/config.xml里面配置連接參數(shù)
              功能
                  可以使用FTP協(xié)議上傳文件,建立文件夾,建立定時上傳任務(wù)

              歡迎大家提意見,交流

              下載鏈接
              http://blog.blogchina.com/upload/2005-03-03/20050303145205983322.rar

          posted @ 2006-02-19 17:22 sunfruit 閱讀(241) | 評論 (0)編輯 收藏

          [JAVA]三層結(jié)構(gòu)--JSF教程

              --sunfruit

              非常好的JSF教程,推薦

              由于本站不允許上傳zip、rar文件,所以把壓縮好的文件做成doc的內(nèi)置對象了,打開doc解壓即可

              下載地址:http://sunfruit.blogchina.com/inc/JSF.doc

          posted @ 2006-02-19 17:20 sunfruit 閱讀(3229) | 評論 (6)編輯 收藏

          僅列出標(biāo)題
          共11頁: First 上一頁 3 4 5 6 7 8 9 10 11 下一頁 
          主站蜘蛛池模板: 武城县| 当涂县| 灵寿县| 柳林县| 卫辉市| 武宁县| 巫山县| 莫力| 临邑县| 阳原县| 嫩江县| 海阳市| 嘉禾县| 廉江市| 嘉黎县| 河西区| 红原县| 岐山县| 合水县| 罗平县| 舞阳县| 湖口县| 巨鹿县| 古浪县| 郓城县| 化德县| 白玉县| 徐汇区| 剑川县| 崇义县| 萨嘎县| 闸北区| 灵山县| 前郭尔| 上高县| 桐柏县| 新丰县| 错那县| 饶河县| 南汇区| 怀远县|