이 제품 버전은 Java™ Platform, Standard Edition (Java SE) 6 스펙을 지원합니다. 해당 JVM(Java virtual machine)은 Java 언어 컴파일러 및 런타임 환경을 제공합니다.
새 애플리케이션 및 기존 애플리케이션이
Java SE 6에 의해 추가되는 기능을 이용하는지 여부를 결정하고
필요한 경우 JIT(just-in-time) 모드를 조정하고 더 이상 사용되지 않는 기능에서
상태 전이를 시작하십시오.
이 태스크 정보
다음 JRS는 Java SE 6의 새로운 기능입니다.
- JSR 105: XML 디지털 서명 API(Application Programming Interfaces)
- JSR 173: XML에 대한 API 스트리밍(StAX)
- JSR 181: 웹 서비스 메타데이터
- JSR 199: Java 컴파일러 API
- JSR 202: Java 클래스 파일
스펙 업데이트
- JSR 221: JDBC(Java DataBase Connectivity)
4.0
- JSR 222: JAXB(Java Architecture
for XML Binding) 2.0
- JSR 223: Java 플랫폼에 대한 스크립트
- JSR 224: JAX-WS(Java API for XML-Based
Web Services) 2.0
- JSR 250: 공통 어노테이션
- JSR 269: 플러그 가능한 어노테이션 처리 API
새 가상 머신 스펙은 Java 및 스크립팅 언어, 비밀번호 프롬프팅, 파일 입출력 개선사항 및 스트리밍 XML 문서의 구문 분석을 통합하기 위한 인터페이스와 같은 애플리케이션 개발자에게 도움을 주는 여러 기능을 추가합니다.
프로시저
기본 JIT(Just-In-Time) 모드 사용
여부를 판별하십시오. Java SE 6의 경우, Solaris 가상 머신에 대한
기본 JIT 모드는 하드웨어 구성에 따라 다릅니다. 항상 클라이언트인 것은 아닙니다. Java SE 6을 사용할 때, 서버 클래스 하드웨어(2+ CPU 및
2GB RAM 이상을 의미)의 경우, 가상 머신은 자동으로 server JIT 모드로 전환됩니다.
사용자가
원하는 대로 -server 또는 -client 매개변수를
구성하려면 서버 프로세스 정의의 일반 JVM(Java Virtual Machine) 인수를
설정하십시오. JVM(Java virtual machine) 설정을 참조하십시오.
- 애플리케이션에서 새 Java SE 6 기능을 이용할지
여부를 결정하십시오.
Java SE 6 기능을 사용하여 애플리케이션을
버전 7 이상 노드에만 배치할 수 있습니다. 이전 제품 버전은
Java SE 6 가상 머신을 제공하지 않기 때문입니다.
Java 가상 머신에 클래스와 API 내부에 액세스하는 애플리케이션은
오류를 생성할 수도 있습니다. 이들 클래스 및 API는 Java SE 6 스펙에서
다루어지지 않으므로 변경될 수 있습니다. 가상 머신에 대한 JAXP(Java API
for XML Processing) 구현을 제공하는 Xerces 및 Xalan 클래스의 직접 사용 같이
XML 및 XSL 구문 분석기 구현의 직접 사용은 절대로 피해야 합니다. 직접 구문 분석기 API도 내부로 간주되고 변경될 수 있습니다.
애플리케이션은 Java SE 6 API 문서에서 정의된 JAXP
API에만 의존해야 합니다. 애플리케이션이 특정 버전의 Xerces 또는
Xalan, 또는 일부 다른 XML/XSL 구문 분석기 패키지가 필요한 경우 구문 분석기를
애플리케이션의 WEB-INF/lib 디렉토리에 임베드하고 사용자
애플리케이션의 경우 XML 구문 분석기 API가 JVM(Java Virtual Machine) 부트스트랩
클래스 경로가 아닌 애플리케이션 클래스 경로에서 로드되도록 애플리케이션
배치에 적합한 클래스 로딩 모드를 설정하십시오. 이 지침을 따르지 못하면
새 Java SE 6 레벨로 마이그레이션하려고 시도할 때 심각한 오류가 야기될 수 있습니다.
- 컴파일러 모드를 설정하여 이전 JVM(Java Virtual Machine) 레벨에서 실행하도록
Java SE 6 애플리케이션을 컴파일하십시오.
이전 스펙에서
실행하도록 의도된 Java SE 6에 빌드되는 애플리케이션을 컴파일할 때
Java SE 6 컴파일러에 대해 -source 및 -target
모드를 지정하십시오. 그렇게 하면 생성된 바이트코드가 더 이른 Java 가상 머신과 호환 가능하다는
것을 확실하게 합니다.
예를 들어, 대상 JVM(Java Virtual Machine)이
1.4.2 레벨에 있는 경우, Java SE 6으로 애플리케이션을 컴파일할 때 -source 1.4
및 target 1.4를 지정하여 1.4.2와 호환 가능한 바이트코드를
생성해야 합니다. 이는 Java SE 6에 패키지, 클래스 또는 새로운 기능의
사용법을 다루지 않습니다. 이는 바이코드 결과물만 제출합니다. 개발자는 다중 JVM(Java Virtual Machine) 스펙 레벨에서
애플리케이션을 실행하려고 하는 경우 J2SE
패키지에서 사용 중인 API를 고려해야 합니다.
- 이전에 컴파일된 J2SE(Java 2
Standard Edition) 1.4 및 5.0 애플리케이션의 호환성을 지정하십시오.
Java
SE 6은 http://java.sun.com/javase/technologies/compatibility.jsp에서
Oracle Corporation이 문서화한 비호환성을 제외하고 Java 2 Technology Edition,
버전 5.0 및 Java 2 Technology Edition, 버전 1.4.2와 호환 가능한 2진 이상입니다.
- 더 이상 사용되지 않는 JVMDI(Java Virtual Machine Debug Interface)와
JVMPI(Java Virtual Machine Profiler Interface) 기능을
JVMTI(Java Virtual Machine Tool Interface)로 전이하십시오.
제거된 기능: JVMDI 및 JVMPI 기능은
J2SE 5.0에서 더 이상 사용되지 않습니다. Java SE 6에서 제거되었습니다.
depfeat
- Java 명령행 인터페이스의 사용을 업데이트하십시오.
Java SE 6 레벨에 대한 명령행 인터페이스는 가상 머신
공급업체에 따라 다르지만 J2SE 5에서 크게 변경되지 않습니다.
JAVA_HOME/bin
디렉토리에서 찾을 수 있습니다. 다음은 모든 Java SE 6 구현에 대해
표준인 몇 가지 주목할 만한 명령행 옵션입니다.
- JVMTI의 경우, 사용자가 지정하는 원시 에이전트 라이브러리를
로드하려면 -agentlib를 사용하십시오.
- JVMTI의 경우, 전체 경로 이름으로 원시 에이전트 라이브러리를
로드하려면 -agentpath를 사용하십시오.
- JVMTI의 경우, Java 프로그래밍 언어 에이전트를 로드하려면 -javaagent를
사용하십시오(세부사항은 java.lang.instrument 참조).
- 어노테이션 기능을 지원하는 이 새 명령행에 대한 정보는
apt -help를 참조하십시오.
- 해당 명령행에 대한 정보 및 업데이트 사항에 대해서는
javac -help를 참조하십시오.
- ANT 태스크를 업데이트하십시오.
이 제품의 이전 버전과
함께 제공된 idltojava ANT 태스크를 기반으로 ANT 태스크를 작성한 경우
해당 태스크가 생성하는 스텁, 타이 및 스켈레톤이 이전 제품 릴리스와
호환 가능하도록 하기 위해 해당 태스크가 J2SE 1.4 또는 5의 경우와 같이 Java SE 6에 대해 적절한 매개변수를
전달하는지 확인하십시오.