#
IBM(R) zSeries Runtime Environment for Linux, Java(TM) 2 Technology Edition
- README -

참고: 이 정보와 이 정보가 지원하는 제품을 사용하기 전에 반드시 주의사항의 일반 정보를 읽으십시오.

이 README 개정판은 이후의 개정판에 새롭게 명시되지 않는 한, IBM zSeries Runtime Environment for Linux, Java 2 Technology Edition 및 모든 후속 릴리스와 수정사항에 적용됩니다.

(c) Copyright IBM Corporation 1999, 2002. All rights reserved.

(c) Copyright Sun Microsystems, Inc. 1997, 2001. 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

이 README 파일은 Sun SDK 1.3.1 레벨에서 IBM(R) zSeries Developer Kit for Linux, Java(TM) 2 Technology Edition(Developer Kit for Linux)과 함께 제공되는 Runtime Environment for Linux 패키지에 대한 정보를 제공합니다.

Runtime Environment에서는 Java 응용프로그램만 실행할 수 있습니다. Java 응용프로그램을 작성하고 실행하려면 반드시 Developer Kit for Linux를 설치해야 합니다. Developer Kit for Linux를 설치한 경우에는 Developer Kit의 서브세트인 Runtime Environment가 필요없습니다.

Developer Kit for Linux를 테스트한 분배 목록을 보려면 다음을 참조하십시오.
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html

## 목차

- 개요
- Runtime Environment for Linux와 함께 포함되는 파일들
- 사용권 계약
- JIT(just-in-time) 컴파일러
- 고유 메소드 인터페이스 및 Java Native Interface
- Runtime Environment for Linux 구성
- 추가 글꼴 설치
- Red Hat에 설치
- BEA Weblogic을 사용하는 경우의 설치
- Runtime Environment for Linux 설치 제거
- RPM 패키지 설치 제거
- 압축된 TAR 패키지 설치 제거
- Java Runtime 해석기 호출
- 시스템 특성
- IBM 빌드 및 버전 번호 찾기
- floating 스택으로 작업
- DBCS 언어에서 입력 방법 전환
- Devanagari 글꼴
- 런타임 예제
- 사용자의 시스템에 응용프로그램 설치
- 가비지 콜렉션 정책 지정
  - 일시정지 시간
  - 일시정지 시간 감소
  - 힙이 가득 찬 상태의 환경
  - 가비지 콜렉션에 관한 추가 정보
- Runtime Environment for Linux 문서
- 알려진 제한사항
- 일반 정보
- Linux 메모리 할당에 대한 정보
- 일본어판 사용자를 위한 정보
- 주의사항
- 상표

## 개요

Runtime Environment for Linux에는 Java Runtime Environment를 작성하고 Java 프로그램을 실행하는데 필요한 클래스 서브세트가 포함되어 있습니다. Java Virtual Machine, Java 클래스 및 지원 파일도 포함되어 있습니다. Runtime Environment for Linux에는 Java Developer Kit에서 발견되는 클래스 서브세트만 포함되어 있습니다.

### Runtime Environment for Linux와 함께 포함되는 파일들

Runtime Environment for Linux에는 디버그할 수 없는 .so 파일과 런타임 시 프로그램을 지원하기 위해 필요한 클래스 파일이 있습니다. Runtime Environment for Linux에는 애플릿 뷰어나 javac와 같은 개발 도구 또는 개발 시스템에만 관련되는 클래스가 포함되어 있지 않습니다.

그리고 Runtime Environment for Linux와 함께 JAAS(Java Authentication and Authorization Service) 패키지가 제공됩니다.

### 사용권 계약

LICENSE_xx.html 파일에는 Runtime Environment for Linux 소프트웨어에 대한 사용권 계약이 포함되어 있습니다(xx는 국가별 약어).

사용권 계약을 보거나 인쇄하려면 웹 브라우저에서 파일을 여십시오.

### JIT(just-in-time) 컴파일러

JIT(just-in-time) 컴파일러(libjitc.so)는 실행 시 Java 응용프로그램이나 애플릿에서 자주 사용되는 바이트코드 순서에 대해 시스템 코드를 동적으로 생성합니다.

Runtime Environment for Linux에는 기본적으로 사용할 수 있는 JIT 컴파일러(libjitc.so)가 있습니다. Java 응용프로그램, 애플릿 또는 컴파일러에 문제점이 파급되는 것을 막기 위해 JIT를 사용하지 않도록 설정할 수 있습니다. JIT를 사용하지 않으려면, 쉘 프롬프트에서 다음을 입력하십시오.

        export JAVA_COMPILER=NONE

JIT를 사용하려면, 쉘 프롬프트에서 다음을 입력하십시오.

        unset JAVA_COMPILER

JIT의 사용 가능 여부를 확인하려면, 쉘 프롬프트에서 다음을 입력하십시오.

        java -version

JIT가 사용되고 있으면, 다음 메시지가 표시됩니다.

        JIT enabled: jitc

JIT가 사용되고 있지 않으면, 다음 메시지가 표시됩니다.

        JIT disabled

### 고유 메소드 인터페이스 및 Java Native Interface

IBM은 이 릴리스에서 고유 메소드 인터페이스(Native Method Interface)를 지원하지 않습니다. 응용프로그램에서 이 인터페이스를 사용하지 마십시오.

JNI(Java Native Interface)는 Runtime Environment에 포함되어 있습니다. JNI 사용에 대해서는 다음의 Sun 웹 사이트를 참조하십시오.

  http://java.sun.com

1. Products & APIs를 누르십시오.
2. Product Groups 아래의 Java 2 Platform, Standard Edition(J2SE)을 선택하십시오.
3. Current Releases 아래의 Java 2 SDK, Standard Edition, v 1.3.1을 선택하십시오.
4. J2SE 1.3.1 Documentation 아래의 browse documentation online을 선택하십시오.
5. Guide to Features - Java Platform 아래의 Java Native Interface(JNI)를 선택하십시오.

## Runtime Environment for Linux 구성

Runtime Environment for Linux를 설치한 후, 쉘 스크립트를 편집하여 PATH 명령문에 다음 디렉토리를 추가하십시오.

  /opt/IBMJava2-ppc-131/jre/bin

/opt/IBMJava2-ppc-131이 아닌 다른 디렉토리에 Runtime Environment for Linux를 설치한 경우, /opt/IBMJava2-ppc-131 을 Runtime Environment for Linux를 설치한 디렉토리로 대체하십시오.

### 추가 글꼴 설치

Java는 모든 Unicode 문자들을 표시할 수 있습니다. 그러나 대부분의 Linux 버전은 사용자 언어를 표시하기 위해 필요한 글꼴만을 설치합니다. 완전한 Unicode 문자세트를 보려면 IBM에서 글꼴을 다운로드하십시오. 이 글꼴은 용량의 크기가 큰 반면 모든 사용자들이 필요로 하지 않기 때문에 Developer Kit for Linux 패키지에 포함되지 않습니다. IBM은 두 가지 Unicode 글꼴을 지원하는데, 각각의 글꼴들은 국가별로 다르게 정의되어 있습니다. 한국과 중국의 사용자들은 각각 이 글꼴의 한국어, 중국어 버전을 사용해야 합니다. 나머지 국가들은 이 글꼴의 일본어 버전을 사용하면 됩니다.

DeveloperWorks 웹 사이트(http://www.ibm.com/developer/java/)에서 글꼴을 다운로드할 수 있습니다. 사용자가 다운로드해야하는 올바른 글꼴에 대한 설명이 제공되어 있습니다.

글꼴을 설치하려면 파일을 /opt/IBMJava2-ppc-131/jre/lib/fonts 디렉토리에 두십시오.

글꼴을 파트별로 다운로드하면, 우선 각각의 글꼴에 대한 파트들을 하나의 파일로 결합해야 합니다. 그렇게 하려면, 파트들이 /opt/IBMJava2-ppc-131/jre/lib/fonts 디렉토리에 있는지 확인하고 cat 명령을 사용하십시오.

예를 들어, Times New Roman WT J 글꼴을 파트별로 다운로드했으면 다음 명령을 입력하여 이를 다시 함께 모으십시오.

        cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 >  tnrwt_j.ttf

### Red Hat에 설치

Red Hat 시스템에 설치하는 경우, 글꼴 서버가 Java 트루타입 글꼴을 찾을 수 있도록 하려면 다음을 실행하십시오.

    su root
    /usr/sbin/chkfontpath --add /opt/IBMJava2-131/jre/lib/fonts

반드시 설치 시에 이 작업을 실행해야 하며 이 명령을 실행하려면 `root` 상태여야 합니다.

### BEA Weblogic을 사용하는 경우의 설치

BEA Weblogic 서버를 사용하려면 Developer Kit for Linux 패키지를 설치할 때 반드시 JAAS 선택적 설치를 제거해야 합니다. BEA Weblogic 서버에는 JAAS 자체 구현이 포함되어 있습니다.

## Runtime Environment for Linux 설치 제거

Runtime Environment for Linux 제거에 사용하는 프로세스는 RPM 패키지 또는 압축된 TAR 패키지 설치 여부에 따라 달라집니다. 지시사항은 RPM 패키지 설치 제거 또는 압축된 TAR 패키지 설치 제거를 참조하십시오.

### RPM 패키지 설치 제거

RPM 패키지를 설치했을 경우 Runtime Environment for Linux를 설치 제거하려면, 다음을 수행하십시오.

1. 프롬프트에서, 다음을 입력하십시오.

           rpm -qa | grep IBM

   패키지의 이름이 표시됩니다.

2. rpm 명령을 사용하십시오.

           rpm -e IBMJava2-JRE

3. PATH 명령문에서 Runtime Environment를 설치한 디렉토리를 제거하십시오.

### 압축된 TAR 패키지 설치 제거

압축된 TAR 패키지를 설치한 경우 Runtime Environment for Linux를 설치 제거하려면 다음을 수행하십시오.

1. Runtime Environment를 설치한 디렉토리에서 Runtime Environment 파일들을 제거하십시오.

2. PATH 명령문에서 Runtime Environment를 설치한 디렉토리를 제거하십시오.

## Java Runtime 해석기 호출

Runtime Environment for Linux는 Java 툴을 사용하여 쉘 프롬프트에서 호출할 수 있습니다.

- 클래스를 실행하려면 다음을 수행하십시오.

          java [-options] classname <args>

  `classname` 인수는 실행될 클래스 파일의 이름입니다. 클래스에 전달되는 임의의 인수는 명령행에서 `classname` 다음에 위치해야 합니다.

- jar 파일을 실행하려면 다음을 수행하십시오.

          java -jar [-options] jarfile <args>

  `jarfile` 인수는 실행되는 jar 파일의 이름입니다. jar 파일에 전달되는 임의의 인수는 명령행에서 `jarfile` 다음에 위치해야 합니다.

Java 툴의 옵션은 다음과 같습니다.

-D<name>=<value>
  시스템 특성을 설정합니다.
-cp 또는 -classpath <;로 구분되는 디렉토리 및 zip 또는 jar 파일>
  응용프로그램 클래스와 자원들에 대한 탐색 경로를 설정합니다.
-help 또는 -?
  사용법 메시지를 인쇄합니다.
-showversion
  제품 버전을 인쇄하고 계속 진행합니다.
-verbose[:class | gc | jni]
  상세 출력을 사용 가능하게 합니다.
-version
  제품 버전을 인쇄합니다.
-X
  비표준 옵션에서 도움말을 인쇄합니다.
-Xbootclasspath:<디렉토리 및 ;로 구분되는 zip 또는 jar 파일>
  부트스트랩 클래스 및 자원용 탐색 경로를 설정합니다.
-Xbootclasspath/a:<디렉토리 및 ;로 구분되는 zip 또는 jar 파일>
  부트스트랩 클래스 경로의 끝에 추가합니다.
-Xbootclasspath/p:<디렉토리 및 ;로 구분되는 zip 또는 jar 파일>
  부트스트랩 클래스 경로의 처음에 추가합니다.
-Xcheck:jni
  JNI 기능의 추가 점검을 수행합니다.
-Xcheck:nabounds
  JNI 배열 조작의 추가 점검을 수행합니다.
-Xdebug
  원격 디버그를 사용 가능하게 합니다.
-Xfuture
  장래 기본값을 추정하기 위한 가장 정밀한 점검을 가능하게 합니다.
-Xgcpolicy:{optthruput | optavgpause}
  가비지 콜렉션 설정을 지정합니다. 자세한 정보는 가비지 콜렉션 정책 지정을 참조하십시오.
-Xgcthreads:<n>
  가비지 콜렉션에 사용할 스레드의 수를 지정합니다.
-Xms<size>
  초기 Java 힙 크기를 설정합니다.
-Xmx<size>
  최대 Java 힙 크기를 설정합니다.
-Xnoagent
  oldjdb 디버거에 대한 지원을 사용 불가능하게 합니다.
-Xnoclassgc
  클래스 가비지 콜렉션을 사용 불가능하게 합니다.
-Xoss<size>
  임의의 스레드에 대한 최대 Java 스택 크기를 설정합니다.
-Xquickstart
  일부 Java 응용프로그램의 시동 시간을 줄이는 데 사용됩니다. -Xquickstart를 사용하면 JIT가 최적화 서브세트로 실행되어 신속하게 컴파일됩니다. 이러한 신속한 컴파일로 인해 시동 시간이 줄어듭니다. -Xquickstart는 비교적 실행 시간이 짧은 응용프로그램에 적절하며 특히 적은 수의 메소드에 실행 시간이 집중되지 않는 응용프로그램에 적절합니다. hot 메소드를 포함하며 실행 시간이 비교적 긴 응용프로그램에서 -Xquickstart를 사용하면 성능이 저하될 수 있습니다. -Xquickstart 구현은 차후 릴리스에서 변경될 수 있습니다.
-Xrs
  운영 체제 신호의 사용을 줄입니다.
-Xrunhprof[:help] | [:<option>=<value>, ...]
  힙, CPU 또는 모니터 프로파일을 수행합니다.
-Xrunjdwp[:help] | [:<option>=<value>, ...]
  원격 디버그 응용프로그램을 지원하기 위해 디버깅 라이브러리를 로드합니다.
-Xss<size>
  임의의 스레드에 대한 최대 고유 스택 크기를 설정합니다. 자세한 정보는 floating 스택으로 작업을 참조하십시오.

-X 옵션은 비표준이며 통지 없이 변경 가능합니다.

## 시스템 특성

시스템 특성 ibm.jvm.bootclasspath는 Java Runtime 해석기 호출에 설명된 -D 옵션을 사용하여 설정할 수 있습니다. 이 특성의 값은 추가 검색 경로로 사용되며, -Xbootclasspath/p:에 의해 정의된 값과 bootclass 경로 사이에 삽입됩니다. bootclass 경로는 기본값이거나, -Xbootclasspath: 옵션을 사용하여 정의된 경로입니다.

## IBM 빌드 및 버전 번호 찾기

IBM 빌드 및 버전 번호를 알려면 쉘 프롬프트에서 다음을 입력하십시오.

`java -version`

## floating 스택으로 작업

비 floating 스택 Linux 시스템에서는 -Xss의 설정에 관계없이 각 스레드에 대해 최소한의 고유 스택 크기인 256KB가 제공됩니다. floating 스택 Linux 시스템에서는 -Xss 값을 설정할 수 있습니다. 따라서 비 floating 스택 Linux 시스템으로부터 이주하는 경우에는 반드시 -Xss 값이 충분히 큰 지, 최소한 256KB에 의존하고 있지 않은지 확인해야 합니다.

## DBCS 언어에서 입력 방법 전환

2 바이트 문자 세트(DBCS) 시스템에서 입력 방법을 전환하려는 경우, 전환용으로 사용하는 키코드를 나타내는 환경 변수를 설정해야 합니다. 키코드의 수정자를 나타내는 다른 환경 변수를 선택적으로 설정할 수 있습니다.

전환을 위해 사용할 키코드를 지정하려면, 예를 들어 VK_F4와 같은 java.awt.event.KeyEvent 클래스의 키코드 정의에 IBMJAVA_INPUTMETHOD_SWITCHKEY 환경 변수를 설정하십시오.

키코드의 수정자를 선택적으로 지정하십시오. 키코드의 수정자를 지정하려면, java.awt.event.InputEvent 클래스에서 다음 세 개의 마스크 정의 중 일부 조합에 IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 환경 변수를 설정하십시오.

- ALT_MASK
- CTRL_MASK
- SHIFT_MASK

쉼표로 마스크를 구분하십시오.

예를 들어, IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 환경 변수를 ALT_MASK, CTRL_MASK에 설정할 수 있습니다.

Java 초기화 중에 그 두 개의 환경 변수가 저장됩니다.

환경 변수가 제대로 설정되었는지 확인하려면 키를 누르고 지정한 키 조합으로 점검하십시오. 일치하는 경우, 선택가능한 입력 메소드가 있는 Java 팝업 메뉴가 표시됩니다.

## Devanagari 글꼴

이 Developer Kit의 경우, jre/lib/fonts 디렉토리에 Devanagari 글꼴(Devamt.ttf 및 Devamtb.ttf)이 포함되어 있지 않습니다. 대신 Java는 Devanagari(힌디어) 글꼴을 지원하기 위해 IBM 플랫폼 또는 IBM 소프트웨어 제품에 포함된 모노타입 유니코드 글꼴(Times New Roman WorldType 및 Sans Monospace WorldType)을 적절히 사용합니다.

## 런타임 예제

다운로드할 수 있는 "Hello World" 예제가 다음의 Sun 웹 페이지에 있을 것입니다. 이 예제에서는 Runtime Environment for Linux에서 실행되고 함께 번들로 묶어진 간단한 Java 응용프로그램을 작성하는 방법에 대해 보여줍니다. 다음의 Sun 웹 사이트에서 예제를 찾을 수 있습니다.

  http://java.sun.com

1. Products & APIs를 누르십시오.
2. Product Groups 아래의 Java 2 Platform, Standard Edition(J2SE)을 선택하십시오.
3. Current Releases 아래의 Java(TM) Runtime Environment, Standard Edition, v 1.3.1을 선택하십시오.
4. 왼쪽에 있는 Documentation 아래의 Browse를 누르십시오.
5. Java Runtime Environment and Java Plug-in 아래의 Notes for Developers를 선택하십시오.

이 예제는 Developer Kit for Linux를 사용하여 응용프로그램을 개발하는 것에서 더 쉬운 Runtime Environment for Linux를 사용하여 이를 전개하는 작업으로 간단하고 연속적으로 변환하는 방법을 보여줍니다.

## 사용자의 시스템에 응용프로그램 설치

제품을 개발하고 운송할 준비가 되면, 제품을 사용자 시스템에 설치하고 사용자 소프트웨어를 지원하도록 사용자 시스템과 Runtime Environment를 구성할 필요가 있습니다.

Runtime Environment for Linux를 사용하는 경우, 사용자 설치 프로시저가 기존의 설치를 대체하지 않도록 확인해야 합니다(기존 Runtime Environment for Linux가 이전 버전인 경우 제외).

Runtime Environment for Linux를 재분배하려면 Runtime Environment for Linux를 사용자 시스템에 설치한 후, 필요한 파일을 사용자의 설치 세트로 복사하십시오. 이 방법을 선택하면, Runtime Environment for Linux와 함께 제공된 모든 파일을 반드시 포함해야 합니다. Runtime Environment for Linux 소프트웨어는 모든 파일이 포함된 경우에만 재분배될 수 있습니다. 사실상 응용프로그램을 운송할 때 응용프로그램은 자체의 고유 Runtime Environment for Linux 사본을 가지고 있습니다.

반드시 재분배되어야 하는 파일에 대한 상세한 정보는 이 제품과 함께 들어있는 사용권 계약을 참조하십시오.

## 가비지 콜렉션 정책 지정

IBM Runtime Environment for Linux, Java 2 Technology Edition, V1.3.1에서는 가비지 콜렉션 정책을 지정하는 데 필요한 -Xgcpolicy JVM 런타임 옵션을 도입합니다.

-Xgcpolicy는 두 개의 값, 즉 optthruput(기본값) 및 optavgpause를 사용합니다. 옵션은 응용프로그램과 전체 시스템의 처리량 및 가비지 콜렉션에 의한 일시정지 시간 간의 균형을 맞추어 가비지 콜렉터 작동을 제어합니다.

옵션 및 그 값의 형식은 다음과 같습니다.

> -Xgcpolicy:optthruput

및

> -Xgcpolicy:optavgpause

### 일시정지 시간

응용프로그램의 오브젝트 작성 시도가 힙 내의 사용 가능한 공간에서 즉시 충족되지 않는 경우, 가비지 콜렉터는 참조되지 않은 오브젝트(가비지)를 식별하고 삭제하여 즉각적이며 계속적인 할당 요청을 신속하게 충족시킬 수 있는 상태로 힙을 되돌릴 책임이 있습니다. 이러한 가비지 콜렉션 주기로 인해 때때로 응용프로그램 코드의 실행에 있어서 예상치 않았던 일시정지가 발생하기도 합니다. 응용프로그램의 크기와 복잡도가 증가함에 따라 힙도 더 커지게 되며 이러한 가비지 콜렉션 일시정지 시간도 그 크기와 심각도가 증가하는 경향이 있습니다. 가비지 콜렉션 기본값인 optthruput은 응용프로그램에 매우 많은 처리량을 부과하나 그로 인해 때때로 일시정지가 발생할 수 있으며 일시정지 시간은 힙의 크기와 가비지의 양에 따라 밀리 초에서 수 초에 이르기까지 다양합니다.

### 일시정지 시간 감소

optavgpause 값은 가비지 콜렉션 일시정지의 길이에 대한 힙 크기 증가의 영향을 제한함과 동시에 이러한 가비지 콜렉션 일시정지에 소모되는 시간을 획기적으로 줄입니다. 특히 대규모 힙으로 이루어진 구성과 관련이 있습니다(힙이 최소 1 GB이면 대규모 힙으로 간주). 가비지 콜렉션 활동을 정상적인 프로그램 실행과 겹침으로써 일시정지 시간이 줄어듭니다. 이러한 겹침으로 인해 발생하는 응용프로그램 처리량의 감소는 미미한 수준입니다.

### 힙이 가득 찬 상태의 환경

Java 힙이 거의 한도에 다다르고 재생할 수 있는 가비지가 거의 없는 경우에는 즉시 사용 가능한 공간이 없으므로 새 오브젝트에 대한 요청이 신속하게 충족되지 않을 수 있습니다. 힙이 거의 한도에 다다른 용량에서 작동되는 경우에는 위에서 설명한 옵션의 사용 여부에 관계없이 응용프로그램 성능이 저하될 수 있으며 지속적으로 보다 큰 힙 공간 요청이 발생하면 응용프로그램에 메모리 부족 예외가 발생할 수 있으며 그 결과 예외를 적절히 처리하지 못하면 JVM이 종료될 수 있습니다. 이러한 경우에는 -Xmx 옵션을 사용하여 힙 크기를 늘리거나 사용 중인 응용프로그램 오브젝트의 수를 줄이십시오.

### 가비지 콜렉션에 관한 추가 정보

응용프로그램 성능과 관련된 힙 크기 조정 및 가비지 콜렉션에 관한 보다 자세한 정보를 보려면 다음을 참조하십시오.

http://www.ibm.com/developerworks/library/j-jtc/index.html

http://www.ibm.com/developerworks/library/tip-heap-size.html

http://www.ibm.com/developerworks/library/j-leaks/index.html

## Runtime Environment for Linux 문서

IBM은 다음과 같은 런타임 문서를 제공합니다.

- 각 특성 파일에는 파일의 유용성과 이 파일을 수정하는 방법을 설명하는 주석이 들어 있습니다.

- 키 이벤트는 키 이벤트의 특성을 인쇄하기 위해, 대개 디버깅 목적으로 awt.properties 파일을 사용합니다.

## 알려진 제한사항

### 일반 정보

- 그리기 방법을 이용하여 글꼴의 너비를 계산하는 데 Java FontMetrics 클래스를 사용하는 경우, 잘못된 응답을 리턴하며 텍스트가 제대로 표시되지 않습니다. 이 문제점은 Java2D에서 제공되는 계산에 사용되는 숫자 때문에 발생하며, 계산은 AWT(Abstract Widows Toolkit)에서 수행됩니다. 이 문제점에 대한 임시 조치는 해당 숫자를 얻어 AWT에서 계산을 수행하는 것입니다. Developer Kit for Linux를 시작하기 전에 JAVA2D_USEAWTFONTS 시스템 변수를 0으로 설정하여 이를 수행할 수 있습니다.

- 사운드 카드 없이 시스템에서 오디오를 사용하려는 경우, Java에서 소리를 재생하려고 시도할 때 메모리 부족을 알리는 오류 메시지가 발행될 수 있습니다. 오류 메시지가 콘솔에 표시되지만, Java 응용프로그램에는 영향을 미치지 않습니다.

- KDE(K Desktop Environment)를 창 관리자로 실행할 경우 시스템 클립보드를 사용하여 Linux 응용프로그램과 Java 응용프로그램 사이에 정보를 복사할 수 없을 수도 있습니다.

  1. 왼쪽 목록에서 Site Map을 선택하십시오.
  2. Server Support 아래의 Linux를 선택하십시오.

- 사용자가 Ctrl-C로 Java 응용프로그램을 종료한 경우, 프로세스들이 Orphan으로 남아 있을 수도 있습니다.

- 인터페이스에서 실행할 때 javap 프로그램은 결과에 문자열 "interface"를 중복합니다. 예를 들어, "java.lang.Runnable"에서 javap를 실행하면 다음과 같습니다.

           public interface interface java.lang.Runnable extends java.lang.Object...

- Swing으로 작성된 대화 상자를 표시하면 화면에 표시되기 전에 얼마간 지연 결과를 가져올 수 있습니다.

- Alt 키를 포함하는 KeyEvent 결과는 Linux에서 다른 창 관리자를 사용할 때 다릅니다. 다른 운영 체제에서의 결과와도 다릅니다. Enlightenment 창 관리자에서, Alt+A 및 Shift+Alt+A는 다른 수정자를 생성하며 Ctrl+Alt+A는 아무런 키 이벤트를 생성하지 않습니다. 그러나 WindowMaker 창 관리자를 사용하면 Ctrl+Alt+A는 키 이벤트를 생성합니다.

  Linux X Window 시스템에서, 키맵은 64 0xffe9 (Alt_L) 0xffe7 (Meta_L) 및 113 0xffea (Alt_R) 0xffe8 (Meta_R)로 설정됩니다. 쉘 프롬프트에서 다음을 입력하여 이를 점검할 수 있습니다.

               xmodmap -pk

### Linux 메모리 할당에 대한 정보

많은 스레드를 사용하는 Java 응용프로그램은 시스템 메모리 용량을 초과할 수 있습니다. Java 응용프로그램이 사용할 수 있는 최대 스레드 수를 계산하려면 다음 식을 사용하십시오.

        heap_size(MB) + 2*thread_count <      910   (approximately)

메모리를 모두 사용하고 나면, JVM이나 JIT는 다음 중 하나와 유사한 오류 조건을 보고합니다.

       Exception in thread "main"
          java.lang.OutOfMemoryError
          at java.lang.Thread.start(Native Method)
          at serling.main(serling.java:29)

       COMPILER ERROR: java/io/ObjectStreamClass.compareClassNames - JIT:
          Out of memory, emitcode

이것은 중대한 "메모리 부족"을 나타내는 것이며, 이름 붙여진 특정 파일이나 메소드가 아닙니다. 추가적인 오류를 나타내지는 않지만, 대신 메모리 부족 조건의 2차적인 효과를 나타내는 다른 오류 메시지가 다음에 올 수도 있습니다.

### 일본어판 사용자를 위한 정보

이 릴리스는 영어와 일본어만을 지원합니다. 일본어 지원은 TurboLinux Server 6.1 for zSeries and S/390에서만 테스트되었으며, SuSE Linux 7.0에서는 테스트되지 않았습니다. 왜냐하면 현재 TurboLinux Server 6.1 for zSeries and S/390만이 일본어를 지원하기 때문입니다.

#### 일본어 글꼴

Swing 구성요소는 일본어 WorldType 글꼴을 설치하여 일본어 글꼴을 표시할 수 있습니다(추가 글꼴 설치 섹션 참조). 일본어 WorldType 글꼴은 AWT 구성요소나 IM 전환 패널 중 어느 것에도 영향을 미치지 않습니다. 이러한 문제점을 피하려면 일본어 트루타입 글꼴을 추가로 설치해야 합니다.

일본어 트루타입 글꼴은 다음의 TurboLinux Japan 웹 사이트 - http://www.turbolinux.co.jp (검색 단어: truetype)에서 구할 수 있습니다.

#### 테스트된 환경

S/390에는 원래 접속되어 있는 그래픽 표시장치가 없습니다. 그러므로 그래픽 표시장치가 있는 원격 시스템이 필요합니다. 원격 시스템에서 X 응용프로그램을 표시하는 두 가지 방법이 있습니다.

1. XDMCP(X Display Manager Control Protocol): 그래픽 클라이언트는 Linux S/390 시스템의 전체 X 화면을 표시합니다.
2. 표시 내용: 그래픽 클라이언트는 Linux S/390 시스템의 응용프로그램 창을 표시합니다.

TurboLinux Server 6.1 for zSeries and S/390은 kinput2와 같은 IM(Input Method) 인터페이스가 없습니다. 그 결과 위의 두 번째 옵션만이 이 릴리스에 대해 테스트되었습니다.

다음 환경이 테스트되었습니다.

시스템 | OS | 언어 | 창 관리자 | 호스트 접속 입력 메소드 엔진
Java 시스템 | TurboLinux for S/390 | 일본어(EUC) | FVWM2 lesstif-mwm, twm (kinput2 없음) | Canna 3.5(kinput2 없음)
그래픽 클라이언트 | TurboLinux Server J6.5 | 일본어(EUC) | GNOME가 있는 Sawfish1 | kinput2가 있는 Canna kinput2가 있는 FreeWnn

#### 일본어 가나-간지(Kana-Kanji) 변환 사용자

일본어판 Linux에서 Canna, ATOK12(TM) SE, Wnn4(TM) 또는 Wnn6와 같은 일본어 입력 메소드를 사용할 수 있습니다. 일본어 입력 메소드를 사용할 때 발생 가능한 문제점을 피하기 위해 다음 섹션의 정보를 사용하십시오.

모든 입력 메소드 사용자

- TextArea 또는 TextField 구성요소에서 IME를 사용할 경우, 작성된 텍스트를 확약할 때 확약된 텍스트가 사라지는 경우가 종종 있습니다. 이 문제를 방지하려면, 작성된 텍스트를 확약할 때 작성된 텍스트나 상태 정보 줄 가까이에 마우스 포인터를 두지 마십시오. 문제 발생시 Enter 키를 다시 누르면 확약된 텍스트가 표시됩니다.

- TextArea 또는 TextField 구성요소에서 IME를 사용할 경우, 작성된 텍스트가 때로 잘못된 위치에 표시됩니다. 이 문제를 방지하려면, 문자열을 확약한 후 구성요소 위치를 수평으로 바꾸지 마십시오. 문제 발생시 IME를 재활성화하면, 작성된 텍스트가 올바른 위치에 표시됩니다. 확약된 텍스트는 항상 올바른 위치에서 표시됩니다.

- Sawfish(이전에 Sawmill이라고 함) 창 관리자와 함께 IME를 사용할 경우, Java 클라이언트 창에 접속된 작은 창인 IMF(Input Method Framework) 상태 창이 데스크탑의 모든 창 맨 위에 항상 머물러 있습니다. 다른 창으로 전환을 해도 그렇습니다.

  다른 창을 맨 위로 위치시키려면 다음 중 하나를 수행하십시오.

  - Java 클라이언트 창을 최소화하십시오.
  - Java 클라이언트 창을 데스크탑으로부터 끌어 이동시키십시오.

Canna 사용자
  Canna 입력 메소드를 kinput2 입력 메소드 서버와 함께 사용할 경우, KIGOU 입력 모드에 있는 동안 입력 메소드로부터의 일부 시각적 피드백이 보이지 않습니다. 이 문제를 피하려면 보조 제어 창이 열린 후 클라이언트 창으로 초점을 이동하십시오.

ATOK12 SE 사용자

- Linux용 ATOK12 SE를 사용하면 사용자가 검색 창에서 후보를 선택한 후에 작성된 텍스트가 바로 확약되지 않을 수 있습니다. 계속해서 문자를 입력하면, 확약된 후보자가 표시됩니다.
- Linux용 ATOK12 SE를 사용하면 구성요소 간의 입력 초점을 변경해도 작성된 텍스트를 확약하지 않고 비우지도 않습니다. 따라서 사용자는 초점 변경 시 다른 입력 메소드가 작성된 텍스트를 확약하거나 비우는 동안 작성된 텍스트를 계속해서 편집할 수 있습니다.

Wnn4 사용자
  Wnn4를 사용하면 IME가 활성화되었을 때 Enter 키가 새로운 줄과 캐리지 리턴을 생성하지 못합니다. 새로운 줄과 캐리지 리턴을 생성하려면 IME를 비활성화하십시오.

Wnn6 사용자
  xwnmo 입력 메소드 서버가 지원되지 못합니다. kinput2를 입력 서버로 사용하십시오.

IIIMP IME 사용자
  IIIMP(Internet-Intranet Input Method Protocol)를 사용하는 IME(Input Method Editor)는 TurboLinux Workstation 6.0J에서 지원되지 않습니다.

## 주의사항

이 정보는 미국에서 제공되는 제품 및 서비스용으로 작성된 것입니다.

IBM은 다른 국가에서 이 문서에 기술된 제품, 서비스 또는 기능을 제공하지 않을 수도 있습니다. 현재 사용할 수 있는 제품 및 서비스에 대한 정보는 한국 IBM 담당자에게 문의하십시오. 이 정보에서 IBM 제품, 프로그램 또는 서비스를 언급했다고 해서 해당 IBM 제품, 프로그램 또는 서비스만을 사용할 수 있다는 것을 의미하지는 않습니다. IBM의 지적 재산권을 침해하지 않는 한, 기능상으로 동등한 제품, 프로그램 또는 서비스를 대신 사용할 수도 있습니다. 그러나 비 IBM 제품, 프로그램 또는 서비스의 운영에 대한 평가 및 검증은 사용자의 책임입니다.

IBM은 이 문서에서 다루고 있는 특정 내용에 대해 특허를 보유하고 있거나 현재 출원 중일 수 있습니다. 이 문서를 제공한다고 해서 특허에 대한 사용권까지 부여하는 것은 아닙니다. 사용권에 대한 의문사항은 다음으로 문의하십시오.

- 135-270
  서울특별시 강남구 도곡동 467-12
  군인공제회관빌딩
  한국 아이.비.엠 주식회사
  고객만족센터
  전화번호:080-023-8080

2바이트(DBCS) 정보에 관한 사용권 문의는 한국 IBM 고객만족센터에 문의하거나 다음 주소로 서면 문의하시기 바랍니다.

- IBM World Trade Asia Corporation Licensing
  2-31 Roppongi 3-chome, Minato-ku
  Tokyo 106, Japan

다음 단락은 현지법과 상충하는 영국이나 기타 국가에서는 적용되지 않습니다.

IBM은 타인의 권리 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하여(단, 이에 한하지 않음) 묵시적이든 명시적이든 어떠한 종류의 보증없이 이 문서를 "현상태 대로" 제공합니다. 일부 국가에서는 특정 거래에서 명시적 또는 묵시적 보증의 면책사항을 허용하지 않으므로, 이 사항이 적용되지 않을 수도 있습니다.

이 정보에는 기술적으로 부정확한 내용이나 인쇄상의 오류가 있을 수 있습니다. 이 정보는 주기적으로 변경되며, 이 변경사항은 최신판에 통합됩니다. IBM은 이 정보에서 설명한 제품 및/또는 프로그램을 사전 통고없이 언제든지 개선 및/또는 변경할 수 있습니다.

이 정보에서 비 IBM의 웹 사이트는 단지 편의상 제공된 것으로, 어떤 방식으로든 이들 웹 사이트를 옹호하고자 하는 것은 아닙니다. 해당 웹 사이트의 자료는 본 IBM 제품 자료의 일부가 아니므로 해당 웹 사이트 사용으로 인한 위험은 사용자 본인이 감수해야 합니다.

IBM은 귀하의 권리를 침해하지 않는 범위 내에서 적절하다고 생각하는 방식으로 귀하가 제공한 정보를 사용하거나 배포할 수 있습니다.

(i) 독립적으로 작성된 프로그램 및 기타 프로그램(이 프로그램 포함) 간의 정보 교환 (ii) 교환된 정보의 상호 이용을 목적으로 정보를 원하는 프로그램 사용권자는 다음 주소로 문의하십시오.

- 135-270
  서울특별시 강남구 도곡동 467-12
  군인공제회관빌딩
  한국 아이.비.엠 주식회사
  고객만족센터

이러한 정보는 해당 조항 및 조건에 따라(예를 들면, 사용료 지불 포함) 사용할 수 있습니다.

이 정보에 기술된 사용권 프로그램 및 사용 가능한 모든 사용권 자료는 IBM이 IBM 기본 계약, IBM 프로그램 사용권 계약(IPLA) 또는 동등한 계약에 따라 제공한 것입니다.

이 문서에 포함된 성능 데이터는 제어되는 환경에서 판별된 것입니다. 그러므로, 다른 운영 환경에서의 결과와 상당히 다를 수도 있습니다. 일부 측정은 개발 레벨의 시스템에서 이루어진 것이므로, 그 측정이 일반적으로 사용 가능한 시스템에서 동일하다고 보장할 수 없습니다. 또한 일부 측정은 보외법을 통해 이루어졌을 수 있습니다. 실제 결과가 다를 수 있습니다. 이 문서의 사용자는 고유 환경에 적절한 데이터를 확인해야 합니다.

비 IBM 제품에 관한 정보는 해당 제품의 공급업체, 공개 자료 또는 기타 범용 소스로부터 얻은 것입니다. IBM에서는 이러한 제품들을 테스트하지 않았으므로, 비 IBM 제품과 관련된 성능의 정확성, 호환성 또는 배상 청구에 대해서는 확신할 수 없습니다. 비 IBM 제품의 성능에 대한 의문사항은 해당 제품의 공급업체에 문의해야 합니다.

### 상표

IBM은 미국 또는 기타 국가에서 사용되는 International Business Machines Corporation의 상표입니다.

Java 및 모든 Java 기반 상표와 로고는 미국 또는 기타 국가에서 사용되는 Sun Microsystems, Inc.의 상표 또는 등록상표입니다. Java 기술은 Sun Microsystems, Inc.의 소유이며 독점적으로 사용권을 부여합니다.

기타 회사, 제품 및 서비스 이름은 해당 회사의 상표 또는 서비스표입니다.