'변화'에 해당되는 글 1건

  1. 2012.11.08 [JAVA] 자바 1.7 버전의 변화

Java 1.7

컬렉션에 대한 언어적 지원

컬렉션이나 맵을 좀 더 간단하게 초기화 하고 액세스 할 수 있다.

List<String> list = ["item"];
String item = list[0];
 
Set<String> set = {"item"};
 
Map<String, Integer> map = {"key" : 1};
int value = map["key"];

 

 

try/catch

try with resource

이제 try()안에 리소스를 선언하면 자동으로 리소스가 해지 되기 때문에 finally 구문을 따로 작성할 필요가 없다.

  1. try (SomeResource resource = getResource()) {
  2.     use(resource);
  3. } catch(...) {
  4.     ...
  5. }


 

다중 catch

다른 종류의 익셉션이지만, 처리 과정에서 그루핑 되는 경우는 많다. 이 경우 익셉션 처리코드는 상당량 중복되어야 했지만, Java 1.7에서는 다음과 같이 기술 할 수 있다.

  1. try {
  2.     ...
  3. } catch(final ExceptionA | ExceptionB e) {
  4.     ...
  5. } catch(Exception e) {
  6.     ...
  7. }

 

지너릭 인스턴스 생성 간소화

Map<String, List<String>> map = new HashMap<>();

 

밑줄이 숫자 토큰요소로 취급됨

밑줄이 숫자의 일부로 취급되어 숫자를 좀 더 읽기 쉽게 나타낼 수 있다.

int billion = 1_000_000_000;

 

String을 switch문에서 사용

String availability = "available";
switch(availability) {
 case "available":
    //code
    break;
 
  case "unavailable":
    //code
    break;
 
  case "merged":
    //code
 
  default:
    //code
    break;
}

 

이진수 표기법

새로운 진법 접두어인 0B가 추가 되었다.

int binary = 0B11110101;

 

 VM

  • Compressed 64-bit object pointers
  • Garbage-First GC (G1)
  • JSR:292: VM support for non-Java languages (InvokeDynamic)

 

Core

  • Modularization (Project Jigsaw)
  • Upgrade class-loader architecture
  • Method to close a URLClassLoader
  • Unicode 5.1
  • Concurrency and collections updates (jsr166y)
  • JSR:203: More new I/O APIs for the Java platform (NIO.2)
  • SCTP (Stream Control Transmission Protocol)
  • SDP (Sockets Direct Protocol)
  • Elliptic-curve cryptography (ECC)

 

Client

  • XRender pipeline for Java 2D
  • Forward-port 6u10 deployment features
  • Create new platform APIs for 6u10 graphics features
  • Nimbus look-and-feel for Swing
  • Swing JLayer component

 

Web

  • Update the XML stack


Posted by 배배오