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

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

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

    七段

    無論怎樣,請讓我先感謝一下國家。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      35 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks

    2010年4月14日 #

    有25匹馬,每匹馬都以一個固定不變的速度奔跑,每匹馬的速度都不一樣,如果讓你找出跑的最快的5匹馬,最少需要組織多少場比賽?注:每場比賽最多只能5匹馬參賽。
    re:悲觀10場,樂觀7場。
    posted @ 2012-03-07 21:17 sevenduan 閱讀(833) | 評論 (1)編輯 收藏

    Eclipse:
    ctrl+o
    ctrl+space
    ctrl+t
    ctrl+k
    ctrl+f8/f9/f10

    alt+shift+x , t/j
    alt+shift+d , t/j

    Command:
    cd -
    tab
    ctrl+a/e
    ctrl+u/k/w

    Vim
    shift+g
    m+'mark'
    `+'mark'
    . (repeat)



    posted @ 2010-08-07 23:14 sevenduan 閱讀(247) | 評論 (0)編輯 收藏

    Framework Supported log levels Standard appenders Popularity Cost / licence
    Log4J FATAL ERROR WARN INFO DEBUG TRACE AsyncAppender, JDBCAppender, JMSAppender, LF5Appender, NTEventLogAppender, NullAppender, SMTPAppender, SocketAppender, SocketHubAppender, SyslogAppender, TelnetAppender, WriterAppender Widely used in many project and platforms Apache License, Version 2.0
    Java Logging API SEVERE WARNING INFO CONFIG FINE FINER FINEST Depends on the underlying framework; Sun's default Java Virtual Machine (JVM) has the following: ConsoleHandler, FileHandler, SocketHandler, MemoryHandler Not widely used[citation needed] Comes with the JRE
    Apache Commons Logging FATAL ERROR WARN INFO DEBUG TRACE Depends on the underlying framework Widely used, in conjunction with log4j Apache License, Version 2.0
    SLF4J ERROR WARN INFO DEBUG TRACE Depends on the underlying framework, which is pluggable Probably small but growing MIT License
    posted @ 2010-07-18 22:15 sevenduan 閱讀(486) | 評論 (0)編輯 收藏

    1 definition:

    “A transaction is a complete unit of work. It may comprise many computational tasks,which may include user interface, data retrieval, and communications. A typicaltransaction modifies shared resources.”

    2 transaction features:
    ACID (atomicity, consistency, isolation, durability)

    3 java spec
    JTA, JTS
     1interface javax.transaction.TransactionManager
     2{
     3public abstract void begin();
     4public abstract void commit();
     5public abstract int getStatus();
     6public abstract Transaction getTransaction();
     7public void resume(Transaction tobj);
     8public abstract void rollback();
     9public abstract void setRollbackOnly();
    10public abstract void setTransactionTimeout(intseconds);
    11public abstract Transaction suspend() ;
    12}

    4 Common XAResource
    JDBC 2.0:
    A JDBC driver that supports distributed transactions implements the javax.transaction.xa.XAResource interface, the javax.sql.XAConnectioninterface, and the  javax.sql.XADataSource interface.

    JMS 1.0:

    a JMS provider javax.transaction.xa.XAResource interface, the implements the javax.jms.XAConnection and the javax.jms.XASession interface.

    5 Common TransactionManager

    5.1 EJB Transaction Options:
    NotSupported
        If the method is called within a transaction, this transaction is suspended during the time of the method execution.
    Required
        If the method is called within a transaction, the method is executed in the scope of this transaction; otherwise, a new transaction is started for the execution of the method and committed before the method result is sent to the caller.
    RequiresNew
        The method will always be executed within the scope of a new transaction. The new transaction is started for the execution of the method, and committed before the method result is sent to the caller. If the method is called within a transaction, this transaction is suspended before the new one is started and resumed when the new transaction has completed.
    Mandatory
        The method should always be called within the scope of a transaction, else the container will throw the TransactionRequired exception.
    Supports
        The method is invoked within the caller transaction scope; if the caller does not have an associated transaction, the method is invoked without a transaction scope.
    Never
        The client is required to call the bean without any transaction context; if it is not the case, a java.rmi.RemoteException is thrown by the container.

    5.2 Spring transaction:
          Transaction isolation: The degree of isolation this transaction has from the work of other transactions. For example, can this transaction see uncommitted writes from other transactions? avaliable options:
    ISOLATION_DEFAULT
    ISOLATION_READ_UNCOMMITTED
    ISOLATION_READ_COMMITTED
    ISOLATION_REPEATABLE_READ
    ISOLATION_SERIALIZABLE

          Transaction propagation: Normally all code executed within a transaction scope will run in that transaction. However, there are several options specifying behavior if a transactional method is executed when a transaction context already exists: For example, simply running in the existing transaction (the most common case); or suspending the existing transaction and creating a new transaction. Spring offers the transaction propagation options familiar from EJB CMT. avaliable options:
    PROPAGATION_MANDATORY
    PROPAGATION_NESTED
    PROPAGATION_NEVER
    PROPAGATION_NOT_SUPPORTED
    PROPAGATION_REQUIRED
    PROPAGATION_REQUIRES_NEW
    PROPAGATION_SUPPORTS

          Transaction timeout: How long this transaction may run before timing out (automatically being rolled back by the underlying transaction infrastructure).
          Read-only status: A read-only transaction does not modify any data. Read-only transactions can be a useful optimization in some cases (such as when using Hibernate).


    6 transaction for web service
    Protocol specifications:
    WS-Transaction
    OASIS Business Transaction Protocol (BTP)
    Java API
    JAXTX (JSR-156)

     

    posted @ 2010-04-25 16:44 sevenduan 閱讀(611) | 評論 (0)編輯 收藏

    JavaScript里有兩個容易讓初學者混淆的概念:scope chain and closure。
    比如說,我想創建10個函數,每個函數依次返回0-9.
     1 //wrong: all function refer to global variable i=10 
     2 var fn_list=[];
     3 for(var i=0;i<10;i++){
     4  var _tempFn =function(){
     5         return i;
     6  }
     7  fn_list.push(_tempFn);    
     8 }
     9 //right: every function refer to its closure scope variable a
    10 var fn_list=[];
    11 for(var i=0;i<10;i++){
    12  var _tempFn =function(a){
    13         return function(){
    14          return a;
    15         };
    16  }
    17  fn_list.push(_tempFn(i));    
    18 }
    19 

    Java里也有兩個讓初學者容易混淆的概念:nest class and inner class。
    nest class就是static inner class,
    而inner class就是no-static inner class。沒有為什么,sun就是這么定義的。
    還是上面得例子,創建10個對象,每個對象的getValue接口依次返回0-9.
     1 public class Test {
     2     private int noStaticValue;
     3     private static int staticValue;
     4 
     5     public Test(int noSV, int sv) {
     6         this.noStaticValue = noSV;
     7         this.staticValue = sv;
     8     }
     9 
    10     public Test(int noSV) {
    11         this.noStaticValue = noSV;
    12     }
    13 
    14     interface valueHolder {
    15         int getValue();
    16     }
    17 
    18     class innerClass implements valueHolder {
    19         public int getValue() {
    20             return noStaticValue;
    21         }
    22     }
    23 
    24     static class nestClass implements valueHolder {
    25         public nestClass(int i) {
    26             staticValue = i;
    27         }
    28 
    29         public int getValue() {
    30             return staticValue;
    31         }
    32     }
    33 
    34     public static void main(String[] args) {
    35         Test context1 = new Test(00);
    36         valueHolder[] list = new valueHolder[10];
    37         for (int i = 0; i < 10; i++) {
    38             list[i] = new Test.nestClass(i);
    39         }
    40         for (valueHolder obj : list) {
    41             System.out.println(obj.getValue());// always print 9
    42         }
    43         for (int i = 0; i < 10; i++) {
    44             list[i] = new Test(i).new innerClass();
    45         }
    46         for (valueHolder obj : list) {
    47             System.out.println(obj.getValue());// print 0-9
    48         }
    49     }
    50 }
    可見用inner class可以模擬closure的特性,就是運行時定義class的某些狀態。
    inner class和nest class之間的區別就是后者是靜態類。前者必須通過wrap class的實例來調用new,e.g. new Test().new innerClass。
    因為nest class是靜態類,所以可以添加static member 或者static method,而inner class 不行。
    匿名內部類是inner class的一種特殊形式,所以也不能添加static member 或者static method。



    posted @ 2010-04-17 23:07 sevenduan 閱讀(2787) | 評論 (5)編輯 收藏

    先看一段代碼:
    byte [] b = new byte[]{1,-1,2,-2};
            System.out.println(Arrays.toString(
    new String(b).getBytes()));

    輸出:
    [1, -17, -65, -67, 2, -17, -65, -67]
    解釋:
    byte decode to String,String encode to byte 默認用UTF-8 charset.
    decode遇到不支持的字符 輸出 char ? , encode ? 就是 -17, -65, -67.
    實現細節可見ByteToCharUTF8.java

    解決辦法: 使用 ISO8859_1 charset。

    教訓: 注意charset的范圍。



    posted @ 2010-04-14 23:14 sevenduan 閱讀(2034) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产无遮挡裸体免费视频在线观看| 天天摸夜夜摸成人免费视频| 无限动漫网在线观看免费| 婷婷综合缴情亚洲狠狠尤物| 亚洲欧洲自拍拍偷午夜色| 国产色爽免费无码视频| 亚洲精品高清在线| 国产亚洲欧美日韩亚洲中文色| 亚洲免费视频观看| 亚洲国产精品久久久久婷婷老年| 日韩在线观看免费| 在线看片人成视频免费无遮挡| 一级毛片在线完整免费观看| 四虎影在线永久免费观看| 亚洲精品永久在线观看| 性xxxxx免费视频播放| 亚洲videosbestsex日本| 在线看免费观看AV深夜影院| 久久久久精品国产亚洲AV无码| 亚洲国产精品自在拍在线播放| 国产精品内射视频免费| 亚洲色爱图小说专区| 永久免费A∨片在线观看| 亚洲精品无码不卡在线播放| 亚洲第一福利视频| 18禁黄网站禁片免费观看不卡| 亚洲免费在线视频观看| 最新免费jlzzjlzz在线播放| 国产大陆亚洲精品国产| 亚洲中文字幕无码专区 | 免费网站观看WWW在线观看| 亚洲AV无码精品蜜桃| 久久精品国产亚洲AV果冻传媒 | 免费观看黄色的网站| 国产精品视频全国免费观看 | 国产99久久久国产精免费| 亚洲AV无码一区二区三区性色| 亚洲一区日韩高清中文字幕亚洲 | 99久久免费国产精精品| 久久亚洲精品国产精品| 四虎成人精品一区二区免费网站|