Wang's profile惘惘然PhotosBlogListsMore Tools Help

Blog


    November 13

    Movie Notes[1][a]--The wind that shakes the Barley

    The wind that shakes the Barley

     

         Hero:  Teddy O'Donovan

      Extractor:  Congwei Wang

     

     

    Words and Expressions

     

    put you off                赶出场                                    

    farm labourer            农民

    look up to you           尊敬你                                    

    man of action             实干家

    corner boys               小混混                                    

    chicken coop             鸡舍

    turn sb in                   出卖SB                                         

    a happy settlement    妥善解决

    British Cabinet           英国内阁                  

    Chapel                      小礼拜堂

    grave                         坟墓                                       

    Father                        神父

    Hell                           地域                                      

    stubborn                    顽固的

    HQheadquarters总部                      

    truce                         停战

    applause                    鼓掌欢迎                  

    oath                           誓言

    trough                         饲料槽                                    

    sow                            大母猪

    glen                             幽谷                      

     barley                         大麦

    woeful                         悲伤的                    

    corporal                      下士

    hold it                          等一下                    

    do solemnly swear       庄严宣誓

    domestic                      国内的                                    

     allegiance                   效忠

    take this obligation        义务                                       

    evasion                         逃避

    scum                            浮渣                                       

    come off it                    算了吧!

    Priest                           牧师                                       

    tribulation                    苦难

    famine                         饥荒,严重的缺乏          

    desecrate                     亵渎

    treaty                           条约                                       

    customs                       海关

    tariff                             关税                                       

    bluff                              诈骗

    republican                     共和党人                                 

    give a damn                  谴责

    bloody                         该死的,非常的              

    liar                               说谎者

    negotiate                      商议                                       

    make a concession       让步

    ratify                           批准,认可                             

    mandate                       要求

    refugee                         难民                      

     infancy                         幼年

    bugger                          鸡奸者                     

    Paddy                          爱尔兰人

    keep down                   蹲下                       

    elbow                         

    arse                             屁股,饭桶,笨蛋          

    rifle                             步枪

    tummy                         胃,腹泻                   

    form a line                    排成队

    belly                            腹部                       

    convince                      使信服

    tick                              滴答声,滴答地响           

    heartbeat                       心跳

    tremble                         颤抖,挥动

     

    November 04

    New Java SE 6 Feature: Type Checking Verifier

    New Java SE 6 Feature: Type Checking Verifier


    One of the important features in the Java SE 6 release is a much simpler and faster verifier. The idea is to split the old verification process into two phases: type inferencing (off-line) and type checking (on-line). The new verifier (called the type-checking verifier) no longer needs to infer types because it uses type information embedded in the Java class file to check byte code type consistency. Removing the type inferencing process from the verifier significantly reduces the complexity of verifier code and improves verification performance.

    The type information used by the new verifier is represented as a code attribute called StackMapTable, which is a new attribute introduced in class file version 50.0 specified in JSR202. The StackMapTable attribute includes type arrays of operand stack and local variables at the point where control flows merge or start. In general, it includes the following items:
    • targets of conditional and unconditional jumps
    • entry points of exception handlers
    • instructions immediately following an instruction that unconditionally changes the control flow
    Starting in Build 45, javac will generate version 50.0 class files by default (target 6). There are a few consequences of this change: 
    1. The class files generated by javac with no target option will no longer work on older JVMs. To generate older version class files, you need to explicitly specify older -target options. This happens every time javac increases its default target.
    2. When doing byte code instrumentation, you will need to adjust StackMapTable attributes to reflect changes made to the byte code. Otherwise the modified class files will probably fail the new verifier. The good news is JSR 202 allows a JVM to optionally fall-back to the old verifier (called the type inferencing verifier) when the new verifier fails to verify version 50.0 class files. A -XX commandline flag FailOverToOldVerifier is added to the JVM in Build 45 to enable/disable the fall-back behavior. The default for the flag is on.
    3.  The new verifier does not allow instructions jsr and ret. These instructions are used to make subroutines for generating try/finally blocks. Instead the compiler will inline subroutine code which means the byte code in subroutines will be inserted in places where the subroutines are called. As a consequence, the compiler will sometimes generate more byte codes than with jsr/ret. Since the class file format limits the size of methods, some degenerated methods with excessively large or nested finally blocks might exhaust this limit and fail to compile.
    If you develop or use tools that manipulate Java byte code, such as profilers, loggers, and class file rewriters, your tools may not work correctly with the new StackMapTable attribute. The fall-back behavior allows the existing tools to still work for version 50 class files. However, the tools need to migrate to the new format eventually because the fall-back behavior may not be feasible to support in the future. Besides, you cannot take advantage of the improved verifier until your class files pass the type checking verifier. This is especially important if your applications are performance sensitive.

    We will work the best we can to provide you some assistance for this migration. Please contact us by posting to java.net JDK forum Feedback and Suggestions. For more information about the new class file format, please see the JSR 202 specification soon available to the public.