JSR-334 JDK 7 рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЫреЛрдЯреЗ рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ 
      
        
        
        
      
    
      
        
        
        
      
    -  рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЕрдм рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдХреЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: 
      
        
        
        
      
     public final static int INT_WITH_UNDERSCORES = 100_000;
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   0b рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╢рд╛рдмреНрджрд┐рдХ рдЬреЛрдбрд╝реЗ: 
      
        
        
        
      
     public final static int BINARY_INT = 0b001100;
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рд╕реНрд╡рд┐рдЪ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: 
      
        
        
        
      
     switch ( "one" ) { 
      
        
        
        
      
     case "one" : 
      
        
        
        
      
     case "two" : System.out.println( "JSR 334" ); 
      
        
        
        
      
     }
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рдЕрдм рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЯрд╛рдЗрдк рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдирд╣реАрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ: 
      
        
        
        
      
     List < String > foo = new ArrayList <>();
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рдЖрдк рдкрдХрдбрд╝ рдмреНрд▓реЙрдХ рдореЗрдВ рдХрдИ рдЕрдкрд╡рд╛рдж рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: 
      
        
        
        
      
     try { 
      
        
        
        
      
     throw new NullPointerException(); 
      
        
        
        
      
     } catch (ArithmeticException | NullPointerException e) { 
      
        
        
        
      
     }
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   UPD рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЬрд╛рдБрдЪ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреАрдмрджреНрдз рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 
      
        
        
        
      
     try { 
      
        
        
        
      
     throw new NullPointerException(); 
      
        
        
        
      
     } catch (NullPointerException | ArithmeticException e) { 
      
        
        
        
      
     //    
      
        
        
        
      
     // ArithmeticException a = e; 
      
        
        
        
      
     //   
      
        
        
        
      
     RuntimeException r = e; 
      
        
        
        
      
     }
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрд╢рд┐рд╢ рдмреНрд▓реЙрдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ java.lang.AutoCloseable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: 
      
        
        
        
      
     class Resource implements AutoCloseable { 
      
        
        
        
      
     @Override 
      
        
        
        
      
     public void close() throws Exception {} 
      
        
        
        
      
     }
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрдХрдбрд╝ рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: 
      
        
        
        
      
     try (Resource resource = new Resource()) { 
      
        
        
        
      
     throw new Exception(); 
      
        
        
        
      
     }
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
       -   рдЪрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдФрд░ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ, рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдпрд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдСрдкрд░реЗрд╢рди рдЪреЗрддрд╛рд╡рдиреА рдЕрдм рдЬрд╛рд░реА рдХреА рдЬрд╛рдПрдЧреА рдпрджрд┐ рд╡реЗ SafeVarargs рджреНрд╡рд╛рд░рд╛ рдПрдиреЛрдЯреЗрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВред  рдЖрдк рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ, рдЕрдВрддрд┐рдо рдФрд░ рд╕реНрдереИрддрд┐рдХ рддрд░реАрдХреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: 
      
        
        
        
      
     class Coin<T> { 
      
        
        
        
      
     @SafeVarargs 
      
        
        
        
      
     public Coin(T ... args){ 
      
        
        
        
      
     } 
      
        
        
        
      
     @SafeVarargs 
      
        
        
        
      
     public final void instanceMethod(T ... args){ 
      
        
        
        
      
     } 
      
        
        
        
      
     @SafeVarargs 
      
        
        
        
      
     public static void staticMethod(K ... args){ 
      
        
        
        
      
     } 
      
        
        
        
      
     }