2009年11月3日

          對于一些自動編號(自動增量)的字段,當(dāng)刪除數(shù)據(jù)后,新增加的數(shù)字總是緊接著,而不是連續(xù)的。
          全部清空后,也不會從1開始。
          你可以使用下面的方法。
          SQL2000或SQL Server2005及以上版本
          TRUNCATE TABLE [你的表]
          ACCESS
          清空表后,修復(fù)壓縮一下數(shù)據(jù)庫。

           

          關(guān)于 TRUNCATE TABLE 語句

          TRUNCATE TABLE 語句是一種快速、無日志記錄的方法。TRUNCATE TABLE 與不含有 WHERE 子句的 DELETE 語句在功能上相同。但是,TRUNCATE TABLE 速度更快,并且使用更少的系統(tǒng)資源和事務(wù)日志資源。

          TRUNCATE TABLE 語句可以在表中沒有數(shù)據(jù)的時候讓自動編號再次從一開始

          posted @ 2009-11-03 09:34 Ryan 閱讀(713) | 評論 (0)編輯 收藏

          2008年6月7日

          Oracle10的安裝缺省包含了XDB,在啟動數(shù)據(jù)庫后,Oracle XDB的http服務(wù)將會自動占用了8080端口,跟已有的tomcat發(fā)生沖突,tomcat用8080端口習(xí)慣了,如果要改tomcat的端口就簡單多了,但是怎么更改這個XDB的http服務(wù)默認(rèn)端口呢?
          在網(wǎng)上有很多方法,自己照著做了一下,記下來以便以后查詢。
          首先在windows的服務(wù)中打開監(jiān)聽以及oracle數(shù)據(jù)庫服務(wù);
          然后打開windows下的msdos窗口,使用sys登錄sqlplus:
          sqlplus
          sys/password as sysdba
          SQL>call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081))
          SQL>/
          SQL>exec dbms_xdb.cfg_refresh

          這樣的話就把XDB的http服務(wù)端口改為8081了。
          重啟電腦或者在windows的服務(wù)中直接重啟監(jiān)聽和oracle數(shù)據(jù)庫服務(wù)。
          問題解決!!
          posted @ 2008-06-07 20:55 Ryan 閱讀(290) | 評論 (0)編輯 收藏

          2008年5月6日

          轉(zhuǎn)自http://developingnizi.54bk.com
          getMethods

          public Method[] getMethods()
                              throws SecurityException返回一個包含某些 Method 對象的數(shù)組,這些對象反映此 Class 對象所表示的類或接口(包括那些由該類或接口聲明的以及從超類和超接口繼承的那些的類或接口)的公共 member 方法。數(shù)組類返回從 Object 類繼承的所有(公共)member 方法。返回數(shù)組中的元素沒有排序,也沒有任何特定的順序。如果此 Class 對象表示沒有公共成員方法的類或接口,或者表示一個基本類型或 void,則此方法返回長度為 0 的數(shù)組。

          getDeclaredMethods
          public Method[] getDeclaredMethods()
                                      throws SecurityException返回 Method 對象的一個數(shù)組,這些對象反映此 Class 對象表示的類或接口聲明的所有方法,包括公共、保護(hù)、默認(rèn)(包)訪問和私有方法,但不包括繼承的方法。返回數(shù)組中的元素沒有排序,也沒有任何特定的順序。如果該類或接口不聲明任何方法,或者此 Class 對象表示一個基本類型、一個數(shù)組類或 void,則此方法返回一個長度為 0 的數(shù)組。類初始化方法 <clinit> 不包含在返回數(shù)組中。如果該類聲明帶有相同參數(shù)類型的多個公共成員方法,則它們都包含在返回的數(shù)組中。

          posted @ 2008-05-06 08:26 Ryan 閱讀(1659) | 評論 (0)編輯 收藏

          2007年12月18日

                  --來源:松迪科技(北京)有限公司
                  有許多人學(xué)了很長時間的Java,但一直不明白hashCode方法的作用,我來解釋一下吧。首先,想要明白hashCode的作用,你必須要先知道Java中的集合。
            總的來說,Java中的集合(Collection)有兩類,一類是List,再有一類是Set。你知道它們的區(qū)別嗎?前者集合內(nèi)的元素是有序的,元素可以重復(fù);后者元素?zé)o序,但元素不可重復(fù)。那么這里就有一個比較嚴(yán)重的問題了:要想保證元素不重復(fù),可兩個元素是否重復(fù)應(yīng)該依據(jù)什么來判斷呢?這就是Object.equals方法了。但是,如果每增加一個元素就檢查一次,那么當(dāng)元素很多時,后添加到集合中的元素比較的次數(shù)就非常多了。也就是說,如果集合中現(xiàn)在已經(jīng)有1000個元素,那么第1001個元素加入集合時,它就要調(diào)用1000次equals方法。這顯然會大大降低效率。
                 于是,Java采用了哈希表的原理。哈希(Hash)實際上是個人名,由于他提出一哈希算法的概念,所以就以他的名字命名了。哈希算法也稱為散列算法,是將數(shù)據(jù)依特定算法直接指定到一個地址上。如果詳細(xì)講解哈希算法,那需要更多的文章篇幅,我在這里就不介紹了。初學(xué)者可以這樣理解,hashCode方法實際上返回的就是對象存儲的物理地址(實際可能并不是)。
                  這樣一來,當(dāng)集合要添加新的元素時,先調(diào)用這個元素的hashCode方法,就一下子能定位到它應(yīng)該放置的物理位置上。如果這個位置上沒有元素,它就可以直接存儲在這個位置上,不用再進(jìn)行任何比較了;如果這個位置上已經(jīng)有元素了,就調(diào)用它的equals方法與新元素進(jìn)行比較,相同的話就不存了,不相同就散列其它的地址。所以這里存在一個沖突解決的問題。這樣一來實際調(diào)用equals方法的次數(shù)就大大降低了,幾乎只需要一兩次。
                所以,Java對于eqauls方法和hashCode方法是這樣規(guī)定的:
          1、如果兩個對象相同,那么它們的hashCode值一定要相同;
          2、如果兩個對象的hashCode相同,它們并不一定相同
              上面說的對象相同指的是用eqauls方法比較。
               你當(dāng)然可以不按要求去做了,但你會發(fā)現(xiàn),相同的對象可以出現(xiàn)在Set集合中。同時,增加新元素的效率會大大下降。

          posted @ 2007-12-18 14:06 Ryan 閱讀(1382) | 評論 (0)編輯 收藏
          僅列出標(biāo)題  
           
          主站蜘蛛池模板: 清流县| 微博| 固阳县| 永丰县| 成安县| 万山特区| 江门市| 苏尼特左旗| 正蓝旗| 饶河县| 蒙阴县| 陆河县| 宁陵县| 安义县| 栖霞市| 大姚县| 凌云县| 仙桃市| 永泰县| 凌源市| 镇沅| 江达县| 莱阳市| 曲周县| 辰溪县| 云和县| 林周县| 永新县| 石柱| 宜城市| 青海省| 呼玛县| 平江县| 龙里县| 古交市| 静安区| 灌云县| 修水县| 平阳县| 于都县| 洪泽县|