<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JBOSS 點(diǎn)滴

    豐豐的博客

    #

    Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not fetch initial value for increment generator

    錯(cuò)誤提示:
    Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not fetch initial value for increment generator
     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
     at org.hibernate.id.IncrementGenerator.getNext(IncrementGenerator.java:107)
     at org.hibernate.id.IncrementGenerator.generate(IncrementGenerator.java:44)
     at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:91)
     at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
     at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
     at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
     at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
     at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
     at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:530)
     at org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)
     at org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
     at hibernatedao.Myuser2DAO.save(Myuser2DAO.java:28)
     at HibernateDaoTest.main(HibernateDaoTest.java:24)
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 對(duì)象名 user' 無效。
     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
     at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
     at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
    hbm.xml代碼:
    <hibernate-mapping>
        <class name="hibernatedao.Myuser2" table="t_myuser2" schema="dbo" catalog="myssh">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="increment" />
            </id>
            <property name="username" type="java.lang.String">
                <column name="username" length="50" not-null="true" />
            </property>
            <property name="password" type="java.lang.String">
                <column name="password" length="50" not-null="true" />
            </property>
        </class>
    </hibernate-mapping>

    錯(cuò)誤原因一:
    要將 <generator class="increment"> </generator>中的"increment"換成"native".
    將主鍵的生成交給數(shù)據(jù)庫來維護(hù)。
     原因二:對(duì)象名不能為“user"
    原因三:在SQLServer企業(yè)管理器,選中表格,編輯
    在底部有一個(gè)[標(biāo)識(shí)],選中是

    posted @ 2009-09-01 12:12 半導(dǎo)體 閱讀(4587) | 評(píng)論 (0)編輯 收藏

    Java入門--漫談Java程序的性能優(yōu)化

    Java入門--漫談Java程序的性能優(yōu)化

    2008-03-14 11:06 作者:shenkai 來源:賽迪網(wǎng)
    [摘要] 在java中,使用最頻繁、同時(shí)也是濫用最多的一個(gè)類或許就是java.lang.String,它也是導(dǎo)致代碼性能低下最主要的原因之一。
    [關(guān)鍵字] Java 程序 性能優(yōu)化
      Java使得復(fù)雜應(yīng)用的開發(fā)變得相對(duì)簡(jiǎn)單。毫無疑問,它的這種易用性對(duì)Java的大范圍流行功不可沒。然而,這種易用性實(shí)際上是一把雙刃劍。一個(gè)設(shè)計(jì)良好的Java程序,性能表現(xiàn)往往不如一個(gè)同樣設(shè)計(jì)良好的C++程序。在Java程序中,性能問題的大部分原因并不在于Java語言,而是在于程序本身。養(yǎng)成好的代碼編寫習(xí)慣非常重要,比如正確地、巧妙地運(yùn)用java.lang.String類和java.util.Vector類,它能夠顯著地提高程序的性能。下面我們就來具體地分析一下這方面的問題。

      在java中,使用最頻繁、同時(shí)也是濫用最多的一個(gè)類或許就是java.lang.String,它也是導(dǎo)致代碼性能低下最主要的原因之一。請(qǐng)考慮下面這個(gè)例子:

      String s1 = "Testing String";

      String s2 = "Concatenation Performance";

      String s3 = s1 + " " + s2;

      幾乎所有的Java程序員都知道上面的代碼效率不高。那么,我們應(yīng)該怎么辦呢?也許可以試試下面這種代碼:

      StringBuffer s = new StringBuffer();

      s.append("Testing String");

      s.append(" ");

      s.append("Concatenation Performance");

      String s3 = s.toString();

      這些代碼會(huì)比第一個(gè)代碼片段效率更高嗎?答案是否定的。這里的代碼實(shí)際上正是編譯器編譯第一個(gè)代碼片段之后的結(jié)果。既然與使用多個(gè)獨(dú)立的String對(duì)象相比,StringBuffer并沒有使代碼有任何效率上的提高,那為什么有那么多的Java書籍批評(píng)第一種方法、推薦使用第二種方法?

      第二個(gè)代碼片段用到了StringBuffer類(編譯器在第一個(gè)片段中也將使用StringBuffer類),我們來分析一下StringBuffer類的默認(rèn)構(gòu)造函數(shù),下面是它的代碼:

      public StringBuffer() { this(16); }

      默認(rèn)構(gòu)造函數(shù)預(yù)設(shè)了16個(gè)字符的緩存容量?,F(xiàn)在我們?cè)賮砜纯碨tringBuffer類的append()方法:

      public synchronized StringBuffer append(String str) {

      if (str == null) {

      str = String.valueOf(str);

      }

      int len = str.length();

      int newcount = count + len;

      if (newcount > value.length) expandCapacity(newcount);

      str.getChars(0, len, value, count);

      count = newcount; return this;

      }

      append()方法首先計(jì)算字符串追加完成后的總長(zhǎng)度,如果這個(gè)總長(zhǎng)度大于StringBuffer的存儲(chǔ)能力,append()方法調(diào)用私有的expandCapacity()方法。expandCapacity()方法在每次被調(diào)用時(shí)使StringBuffer存儲(chǔ)能力加倍,并把現(xiàn)有的字符數(shù)組內(nèi)容復(fù)制到新的存儲(chǔ)空間。

      在第二個(gè)代碼片段中(以及在第一個(gè)代碼片段的編譯結(jié)果中),由于字符串追加操作的最后結(jié)果是“Testing String Concatenation Performance”,它有40個(gè)字符,StringBuffer的存儲(chǔ)能力必須擴(kuò)展兩次,從而導(dǎo)致了兩次代價(jià)昂貴的復(fù)制操作。因此,我們至少有一點(diǎn)可以做得比編譯器更好,這就是分配一個(gè)初始存儲(chǔ)容量大于或者等于40個(gè)字符的StringBuffer,如下所示:

      StringBuffer s = new StringBuffer(45);

      s.append("Testing String");

      s.append(" ");

      s.append("Concatenation Performance");

      String s3 = s.toString();

      再考慮下面這個(gè)例子:

      String s = "";

      int sum = 0;

      for(int I=1; I<10; I++) {

      sum += I;

      s = s + "+" +I ;

      }

      s = s + "=" + sum;

      分析一下為何前面的代碼比下面的代碼效率低:

      StringBuffer sb = new StringBuffer();

      int sum = 0;

      for(int I=1;

      I<10; I++){

      sum + = I;

      sb.append(I).append("+");

      }

      String s = sb.append("=").append(sum).toString();

      原因就在于每個(gè)s = s + "+" + I操作都要?jiǎng)?chuàng)建并拆除一個(gè)StringBuffer對(duì)象以及一個(gè)String對(duì)象。這完全是一種浪費(fèi),而在第二個(gè)例子中我們避免了這種情況。

      我們?cè)賮砜纯戳硗庖粋€(gè)常用的Java類??java.util.Vector。簡(jiǎn)單地說,一個(gè)Vector就是一個(gè)java.lang.Object實(shí)例的數(shù)組。Vector與數(shù)組相似,它的元素可以通過整數(shù)形式的索引訪問。但是,Vector類型的對(duì)象在創(chuàng)建之后,對(duì)象的大小能夠根據(jù)元素的增加或者刪除而擴(kuò)展、縮小。請(qǐng)考慮下面這個(gè)向Vector加入元素的例子:

      Object obj = new Object();

      Vector v = new Vector(100000);

      for(int I=0;

      I<100000; I++) { v.add(0,obj); }

      除非有絕對(duì)充足的理由要求每次都把新元素插入到Vector的前面,否則上面的代碼對(duì)性能不利。在默認(rèn)構(gòu)造函數(shù)中,Vector的初始存儲(chǔ)能力是10個(gè)元素,如果新元素加入時(shí)存儲(chǔ)能力不足,則以后存儲(chǔ)能力每次加倍。Vector類就象StringBuffer類一樣,每次擴(kuò)展存儲(chǔ)能力時(shí),所有現(xiàn)有的元素都要復(fù)制到新的存儲(chǔ)空間之中。下面的代碼片段要比前面的例子快幾個(gè)數(shù)量級(jí):

      Object obj = new Object();

      Vector v = new Vector(100000);

      for(int I=0; I<100000; I++) { v.add(obj); }

      同樣的規(guī)則也適用于Vector類的remove()方法。由于Vector中各個(gè)元素之間不能含有“空隙”,刪除除最后一個(gè)元素之外的任意其他元素都導(dǎo)致被刪除元素之后的元素向前移動(dòng)。也就是說,從Vector刪除最后一個(gè)元素要比刪除第一個(gè)元素“開銷”低好幾倍。

      假設(shè)要從前面的Vector刪除所有元素,我們可以使用這種代碼:

      for(int I=0; I<100000; I++){ v.remove(0); }

      但是,與下面的代碼相比,前面的代碼要慢幾個(gè)數(shù)量級(jí):

      for(int I=0; I<100000; I++){ v.remove(v.size()-1); }

      從Vector類型的對(duì)象v刪除所有元素的最好方法是:

      v.removeAllElements();

      假設(shè)Vector類型的對(duì)象v包含字符串“Hello”。考慮下面的代碼,它要從這個(gè)Vector中刪除“Hello”字符串:

      String s = "Hello"; int i = v.indexOf(s); if(I != -1) v.remove(s);

      這些代碼看起來沒什么錯(cuò)誤,但它同樣對(duì)性能不利。在這段代碼中,indexOf()方法對(duì)v進(jìn)行順序搜索尋找字符串“Hello”,remove(s)方法也要進(jìn)行同樣的順序搜索。改進(jìn)之后的版本是:

      String s = "Hello"; int i = v.indexOf(s); if(I != -1) v.remove(i);

      這個(gè)版本中我們直接在remove()方法中給出待刪除元素的精確索引位置,從而避免了第二次搜索。一個(gè)更好的版本是:

      String s = "Hello"; v.remove(s);

      最后,我們?cè)賮砜匆粋€(gè)有關(guān)Vector類的代碼片段:

      for(int I=0; I

      如果v包含100,000個(gè)元素,這個(gè)代碼片段將調(diào)用v.size()方法100,000次。雖然size方法是一個(gè)簡(jiǎn)單的方法,但它仍舊需要一次方法調(diào)用的開銷,至少JVM需要為它配置以及清除堆棧環(huán)境。在這里,for循環(huán)內(nèi)部的代碼不會(huì)以任何方式修改Vector類型對(duì)象v的大小,因此上面的代碼最好改寫成下面這種形式:

      int size = v.size(); for(int I=0; I

      雖然這是一個(gè)簡(jiǎn)單的改動(dòng),但它仍舊贏得了性能。畢竟,每一個(gè)CPU周期都是寶貴的。

      拙劣的代碼編寫方式導(dǎo)致代碼性能下降。但是,正如本文例子所顯示的,我們只要采取一些簡(jiǎn)單的措施就能夠顯著地改善代碼性能。

    posted @ 2009-08-14 16:22 半導(dǎo)體 閱讀(247) | 評(píng)論 (0)編輯 收藏

    程序優(yōu)化

    1.如果沒有線程同步,最好習(xí)慣用StringWriter而不是StringBuffer,因?yàn)?StringBuffer是線程安全的,所以,效率會(huì)稍微低一點(diǎn).
      當(dāng)然JDK5以后,還提供了StringBulder,這個(gè)類要比StringWriter更好用一些,當(dāng)然也不是線程安全的. 
      如果要用StringBuffer,請(qǐng)盡量使用append,不要用+,在用StringBuffer時(shí)盡量先分配空間如:StringBuffer s = new StringBuffer(45);
    2.數(shù)據(jù)庫查詢的結(jié)果集處理,我們對(duì)數(shù)據(jù)庫操作時(shí),可能會(huì)針對(duì)里面的數(shù)據(jù)做處理性質(zhì)的遷移.一般都是先Select一把,然后把結(jié)果集的內(nèi)容處理,
      最后Insert或Update回?cái)?shù)據(jù)庫.這個(gè)是效率最低下的.無論是否使用Hibernate都很低下.當(dāng)然,最好是寫一個(gè)存儲(chǔ)過程來完成這件事,
      我們只是調(diào)用一下,觸發(fā)這個(gè)事件就可以了.如果非要自己寫程序完成,
      那么,一定要注意,你在Select的時(shí)候,不要將所有數(shù)據(jù)一次性全都查詢出來,
      要按行數(shù)分次處理否則很容易將內(nèi)存暴掉.因?yàn)?這些數(shù)據(jù)即使你已經(jīng)處理完了,
      但是,對(duì)象有可能被Map或者Collection的某個(gè)對(duì)象所引用,這樣JVM就無法進(jìn)行回收.
    3.程序慢,要找到瓶頸在哪里,這樣才能解決.一般是三大部分,一個(gè)CPU占用率過高;一個(gè)是硬盤訪問過于頻繁;一個(gè)是網(wǎng)絡(luò)擁塞.
      a.CPU占用又可以分三個(gè)部分,一個(gè)是tomcat占用過高;一個(gè)是數(shù)據(jù)庫占用過高;另一個(gè)是其他程序(如遠(yuǎn)程控制程序)占用過高...tomcat過高,
       最有可能是處理數(shù)據(jù)算法效率太低.數(shù)據(jù)庫占用過高,最有可能的是頻繁對(duì)一個(gè)已經(jīng)很長(zhǎng)的表進(jìn)行了操作(可以通過建臨時(shí)表來進(jìn)行緩解,效果不錯(cuò)).
       其他程序想辦法不使用這些程序或再找個(gè)空閑的服務(wù)器來run這些程序.
      b.一般硬盤訪問頻繁,CPU是不會(huì)過高的.比如有一個(gè)循環(huán)程序,因數(shù)據(jù)不合要求總是打印日志,而日志就寫在文件里,
         這樣,由于寫日志文件而使得處理線程進(jìn)展緩慢.可以通過對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,來緩解硬盤訪問頻繁的狀況,或者根據(jù)特點(diǎn)采用緩沖區(qū),多線程寫文件等技術(shù)來解決這樣的問題.
     c.網(wǎng)絡(luò)擁塞,看看是否有網(wǎng)絡(luò)攻擊(DOS或者ARP之類的),或者增加帶寬.如果是由于聯(lián)通和電信的互訪造成慢的,那么可以考慮使用鐵通之類的節(jié)點(diǎn)進(jìn)行中轉(zhuǎn),效果還算可以.

    posted @ 2009-08-14 11:56 半導(dǎo)體 閱讀(239) | 評(píng)論 (0)編輯 收藏

    數(shù)據(jù)同步

    可以利用觸發(fā)器同步,在觸發(fā)器中通過系統(tǒng)表獲取數(shù)據(jù)庫中的表、視圖等對(duì)象,然后同步。

    觸發(fā)器同步參照:
    SQL code
    --====================================================
    --
    發(fā)布/訂閱的效果最好.  
    --
    自己寫觸發(fā)器同步的實(shí)時(shí)性和可控制性最好.
    --
    ====================================================
    如果只是簡(jiǎn)單的數(shù)據(jù)同步,可以用觸發(fā)器來實(shí)現(xiàn).下面是例子:
    --測(cè)試環(huán)境:SQL2000,遠(yuǎn)程主機(jī)名:xz,用戶名:sa,密碼:無,數(shù)據(jù)庫名:test  

    --創(chuàng)建測(cè)試表,不能用標(biāo)識(shí)列做主鍵,因?yàn)椴荒苓M(jìn)行正常更新  
      --在本機(jī)上創(chuàng)建測(cè)試表,遠(yuǎn)程主機(jī)上也要做同樣的建表操作,只是不寫觸發(fā)器  
      if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[test]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1)
    drop   table   [test]
    create   table   test(id   int   not   null   constraint   PK_test   primary   key
    ,name  
    varchar(10))
    go
    --創(chuàng)建同步的觸發(fā)器  
      create   trigger   t_test   on   test
    for   insert,update,delete
    as
    set     XACT_ABORT   on
    --啟動(dòng)遠(yuǎn)程服務(wù)器的MSDTC服務(wù)  
      exec   master..xp_cmdshell   'isql   /S"xz"   /U"sa"   /P""   /q"exec   master..xp_cmdshell   ''net   start   msdtc'',no_output"',no_output
    --啟動(dòng)本機(jī)的MSDTC服務(wù)  
      exec   master..xp_cmdshell   'net   start   msdtc',no_output
    --進(jìn)行分布事務(wù)處理,如果表用標(biāo)識(shí)列做主鍵,用下面的方法  
      BEGIN   DISTRIBUTED   TRANSACTION
    delete   from   openrowset('sqloledb','xz';'sa';'',test.dbo.test)
    where   id   in(select   id   from   deleted)
    insert   into   openrowset('sqloledb','xz';'sa';'',test.dbo.test)
    select   *   from   inserted
    commit   tran
    go
    --插入數(shù)據(jù)測(cè)試  
      insert   into   test
    select   1,'aa'
    union   all   select   2,'bb'
    union   all   select   3,'c'
    union   all   select   4,'dd'
    union   all   select   5,'ab'
    union   all   select   6,'bc'
    union   all
    
    

    posted @ 2009-07-29 14:14 半導(dǎo)體 閱讀(212) | 評(píng)論 (0)編輯 收藏

    JBOSS內(nèi)存溢出處理

    JBoss內(nèi)存溢出處理 原文來自:http://jboss.cn/read.php?tid=250

    前幾天公司一個(gè)項(xiàng)目的服務(wù)器壞了,就換了一個(gè)備份服務(wù)器頂替一下,但是沒有跑一會(huì)就宕機(jī)了,一直報(bào)java.lang.OutOfMemoryError。。。。一看到這里,就知道是內(nèi)存溢出,但是JBoss的內(nèi)存配置已經(jīng)達(dá)到1024M了,而且對(duì)JBoss內(nèi)存的監(jiān)測(cè)結(jié)果看,并不高,怎么會(huì)死機(jī)呢,好奇怪。搞了半天還是沒有結(jié)果。郁悶~~~~

         到了最后,已經(jīng)絕望了我,打算換一個(gè)JBoss版本,再換一個(gè)JDK,看看是不是這些的問題。但是再換以前,我就把日志又重新看了一次,發(fā)現(xiàn)一個(gè)問題。報(bào)的java.lang.OutOfMemoryError后面還有內(nèi)容:java.lang.OutOfMemoryError: PermGen space,這個(gè)好像和java.lang.OutOfMemoryError: Java heap space這個(gè)不一樣。最后找了一下這個(gè)異常!

    PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域。這一部分用于存放Class和Meta的信息,Class在被 Load的時(shí)候被放入PermGen space區(qū)域,它和和存放Instance的Heap區(qū)域不同,GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對(duì)PermGen space進(jìn)行清理,所以如果你的APP會(huì)LOAD很多CLASS的話,就很可能出現(xiàn)PermGen space錯(cuò)誤。這種錯(cuò)誤常見在web服務(wù)器對(duì)JSP進(jìn)行pre compile的時(shí)候。

    改正方法,在 run.bat 中加入:-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
    因?yàn)轫?xiàng)目中引用了很多的 jar 包,而這些 jar 包中的 class 信息會(huì)被 JBoss 的 class loader 加載到 PermGen space 區(qū)域,在 JVM 默認(rèn)的情況下,該部分空間的大小只有 4M,在 jar 包非常多的情況下,顯然是不夠用的,所以通過 -XX:MaxPermSize=256m 指定最大值后即可解決問題。

    我的JBoss里面裝載了6個(gè)應(yīng)用,jar包和class加起來有100m左右,配上這個(gè)參數(shù)后,一切OK,最后服務(wù)器修好以后,發(fā)現(xiàn),這個(gè)里面的JBoss也是這么來配置的,哎~~看來以后備份,最好還是吧JBoss一起備份出來吧!
    而當(dāng)出現(xiàn)出現(xiàn) java.lang.OutOfMemoryError: Java heap space 這個(gè)異常時(shí),通過調(diào)節(jié)-Xms512m -Xmx1024m這個(gè)就可以解決。
    另外,這個(gè)兩個(gè)參數(shù) -XX:+UseParallelGC -XX:+UseParallelOldGC 讓服務(wù)并行回收內(nèi)存空間。但是,這兩個(gè)參數(shù)配置上去以后,也會(huì)占用一定的內(nèi)存空間。

    posted @ 2009-07-27 16:40 半導(dǎo)體 閱讀(3925) | 評(píng)論 (0)編輯 收藏

    通過class文件,看版本

    import java.io.FileInputStream;

    public class ParseClassFile {

        public static void main(String args[]) {

            try {

                // 讀取文件數(shù)據(jù),文件是當(dāng)前目錄下的First.class

                FileInputStream fis = new FileInputStream("e:/logout_jsp.class");

                int length = fis.available();

                // 文件數(shù)據(jù)

                byte[] data = new byte[length];

                // 讀取文件到字節(jié)數(shù)組

                fis.read(data);

                // 關(guān)閉文件

                fis.close();

                // 解析文件數(shù)據(jù)

                parseFile(data);

            } catch (Exception e) {

                System.out.println(e);

            }

        }

        private static void parseFile(byte[] data) {

            // 輸出魔數(shù)

            System.out.print("魔數(shù)(magic):0x");

            System.out.print(Integer.toHexString(data[0]).substring(6)
                    .toUpperCase());

            System.out.print(Integer.toHexString(data[1]).substring(6)
                    .toUpperCase());

            System.out.print(Integer.toHexString(data[2]).substring(6)
                    .toUpperCase());

            System.out.println(Integer.toHexString(data[3]).substring(6)
                    .toUpperCase());

            // 主版本號(hào)和次版本號(hào)碼
            int minor_version = (((int) data[4]) << 8) + data[5];

            int major_version = (((int) data[6]) << 8) + data[7];

            System.out.println("版本號(hào)(version):" + major_version + "."
                    + minor_version);

        }

    }

     

    運(yùn)行:

    E:\>javac ParseClassFile.java

    E:\>java  ParseClassFile
    魔數(shù)(magic):0xCAFEBABE
    版本號(hào)(version):48.0
    48代表JDK1.5.0

    posted @ 2009-07-16 11:25 半導(dǎo)體 閱讀(386) | 評(píng)論 (0)編輯 收藏

    English

    believe it or not
    信不信由你! 
     it's  very hot these days in bingjing
    這些天非常熱
    that means i am not eautiful enough to impress you. 
     這意味著我不美麗足以打動(dòng)你!
    I am so disappointed
    我非常失望!
    it seem to some star
    看起來好像明星
    it is me!!no doubt otherwise i'll be angry
    這是我,毫無疑問,否則我會(huì)生氣!
    you are leaving?
    你要離開?
    I'm scared~
    我怕
    all right, everyone,I should out duty now 
    我要下班了!各位
    maybe he is gone
    也許他走了
    playboy,don't hidden yourself,
    花花公子,不要隱藏自己!
    sorry,just now ,my boss called me!
    報(bào)qian,剛剛老板叫我!
    i working
    我正在工作。
    do you often chat online?
    你經(jīng)常在線聊天嗎?
      hi,long time no see! still remember me?
    很長(zhǎng)時(shí)間不見,大家還記得我嗎?
    i nearly forget you,sorry
    對(duì)不起,差點(diǎn)把你給忘了!
    Kevin is so thin, be a man, you should eat as much as you can from now on.
    凱文是瘦了很多,做一個(gè)男人,你應(yīng)該吃了,您可以從現(xiàn)在開始。
    I am waiting for my fast food
    我在等我的快餐。
    so, beauty, why dont you post your pic and feast our eyes? hehe
    因此,如此漂亮,為什么不讓我們看看你的相片,讓我們一抱眼福
    color wolf
    色狼
    take a nap~
    小睡一會(huì)
    i was a little busy just now
    現(xiàn)在我有點(diǎn)忙!
    every administrator should think twice about it
    每個(gè)管理員應(yīng)該要三思而后行
    would be done soon
    很快就完了
    i have never ever been to there

    我從來沒去過那!

    posted @ 2009-07-01 14:53 半導(dǎo)體 閱讀(162) | 評(píng)論 (0)編輯 收藏

    壓縮日志及數(shù)據(jù)庫文件大小

    --壓縮日志及數(shù)據(jù)庫文件大小 ?
    ? ?
    ? 1.清空日志 ?
    ? DUMP ? ? TRANSACTION ? ? 庫名 ? ? WITH ? ? NO_LOG ? ? ? ? ?
    ? ?
    ? 2.截?cái)嗍聞?wù)日志: ?
    ? BACKUP ? LOG ? 數(shù)據(jù)庫名 ? WITH ? NO_LOG ?
    ? ?
    ? 3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會(huì)減小 ?
    ? 企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件 ?
    ? --選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了 ?
    ? --選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了 ?
    ? ?
    ? 也可以用SQL語句來完成 ?
    ? --收縮數(shù)據(jù)庫 ?
    ? DBCC ? SHRINKDATABASE(客戶資料) ?
    ? ?
    ? --收縮指定數(shù)據(jù)文件,1是文件號(hào),可以通過這個(gè)語句查詢到:select ? * ? from ? sysfiles ?
    ? DBCC ? SHRINKFILE(1) ?
    ? ?
    ? 4.為了最大化的縮小日志文件 ?
    ? a.分離數(shù)據(jù)庫: ?
    ? 企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--分離數(shù)據(jù)庫 ?
    ? ?
    ? b.在我的電腦中刪除LOG文件 ?
    ? ?
    ? c.附加數(shù)據(jù)庫: ?
    ? 企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--附加數(shù)據(jù)庫 ?
    ? ?
    ? 此法將生成新的LOG,大小只有500多K ?
    ? ?
    ? 或用代碼: ? ?
    ? 下面的示例分離 ? pubs,然后將 ? pubs ? 中的一個(gè)文件附加到當(dāng)前服務(wù)器。 ?
    ? ?
    ? a.分離 ?
    ? EXEC ? sp_detach_db ? @dbname ? = ? 'pubs' ?
    ? ?
    ? b.刪除日志文件 ?
    ? ?
    ? c.再附加 ?
    ? EXEC ? sp_attach_single_file_db ? @dbname ? = ? 'pubs', ? ?
    ? ? ? ? @physname ? = ? 'c:\Program ? Files\Microsoft ? SQL ? Server\MSSQL\Data\pubs.mdf' ?
    ? ?
    ? 5.為了以后能自動(dòng)收縮,做如下設(shè)置: ?
    ? 企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項(xiàng)--選擇"自動(dòng)收縮" ?
    ? ?
    ? --SQL語句設(shè)置方式: ?
    ? EXEC ? sp_dboption ? '數(shù)據(jù)庫名', ? 'autoshrink', ? 'TRUE' ?
    ? ?
    ? 6.如果想以后不讓它日志增長(zhǎng)得太大 ?
    ? 企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志 ?
    ? --將文件增長(zhǎng)限制為xM(x是你允許的最大數(shù)據(jù)文件大小) ?
    ? ?
    ? --SQL語句的設(shè)置方式: ?
    ? alter ? database ? 數(shù)據(jù)庫名 ? modify ? file(name=邏輯文件名,maxsize=20)??
    清空.ldf大小:
    backup?log?database with?NO_LOG
    backup?log?database with?TRUNCATE_ONLY
    DBCC?SHRINKDATABASE(database )?

    查詢?nèi)罩敬笮?
    dbcc sqlperf(logspace)

    posted @ 2009-06-26 14:43 半導(dǎo)體 閱讀(274) | 評(píng)論 (0)編輯 收藏

    JBOSS 自動(dòng)重啟及窗口關(guān)閉

        DOS命令關(guān)閉JBOSS窗口。
          E:\jboss-3.2.5\bin\shutdown.bat  --
       如果JBOSS窗口仍存在,查看run.bat中

    :END
    if "%NOPAUSE%" == "" pause
    :END_NO_PAUSE
    如果有以上這句,那么就得去掉 if "%NOPAUSE%" == "" pause 相當(dāng)于去掉pause命行。
    再試試,一切OK了!


    posted @ 2009-06-24 11:19 半導(dǎo)體 閱讀(1359) | 評(píng)論 (0)編輯 收藏

    MyEclipse下EJB應(yīng)用程序的開發(fā)Step By Step

    http://www.suneca.com/article.asp?id=31
    覺得寫得不錯(cuò)。鏈接地址先!

    出現(xiàn)錯(cuò)誤:
    javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory.  Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
     at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:207)
     at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
     at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
     at javax.naming.InitialContext.init(InitialContext.java:219)
     at javax.naming.InitialContext.<init>(InitialContext.java:195)
     at zizz.ejb.client.UserServiceClient.main(UserServiceClient.java:38)
    原因:包沒有加載,直接在classpath里加上,或在eclipse工具里build path

    posted @ 2009-06-16 17:28 半導(dǎo)體 閱讀(278) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共27頁: First 上一頁 14 15 16 17 18 19 20 21 22 下一頁 Last 
    主站蜘蛛池模板: 毛片a级三毛片免费播放| 亚洲国产精品成人精品无码区在线| 在线免费观看污网站| 日韩精品亚洲专区在线影视| 亚洲午夜精品一区二区| 国产亚洲一区二区三区在线不卡| 成人片黄网站色大片免费观看cn| 亚洲色自偷自拍另类小说| 亚洲精品国精品久久99热| 高清国语自产拍免费视频国产| 精品一区二区三区无码免费直播| 久久亚洲精品中文字幕三区| 亚洲第一区视频在线观看| 亚洲国产精品日韩在线观看| 亚洲人成网站看在线播放| 亚洲中文字幕无码av在线| 亚洲性69影院在线观看| 免费国产污网站在线观看不要卡| 久久91亚洲精品中文字幕| 亚洲日韩中文无码久久| 亚洲av无码久久忘忧草| 久久国产乱子伦精品免费午夜| 最新亚洲春色Av无码专区| 亚洲AV无码一区二区三区牛牛| 亚洲欧洲国产经精品香蕉网| yellow视频免费看| a毛片在线免费观看| 免费人成在线观看网站品爱网| 亚洲精华国产精华精华液好用| 日韩亚洲欧洲在线com91tv| 精品久久亚洲中文无码| 九九美女网站免费| 久久精品国产免费观看三人同眠| 国产日韩AV免费无码一区二区三区 | 亚洲人成网站色在线观看| 国产无遮挡色视频免费观看性色| 男女男精品网站免费观看| 88av免费观看| 久久久高清免费视频| 国产gav成人免费播放视频| 中文亚洲AV片不卡在线观看|