2017년 5월 21일 일요일

JDK에서 제공하는 실행파일(bin 디렉토리의 실행파일)


1) javac : 자바 컴파일러이다.
    사용 예 : javac HelloApp.java
    -classpath '경로' : javac가 클래스를 검색할 경로를 지정한다.
        이 값을 지정하면 이미 지정된 CLASSPATH 환경 변수 값은 오버라이드된다. 디렉토리 구분은 세미 콜론(;)으로 한다.
        사용 예 :
        javac -classpath .;C:\java\lib\classes.zip HelloApp.java
        javac -classpath ../.. Test.java <-- 이렇게하면 부모의 부모경로를 기준으로하여 기존 클래스를 찾는다.
    -d '디렉토리' : 클래스 계층 구조의 루트 디렉토리를 지정한다.
        사용 예 : javac -d C:\java\demo\hello HelloApp.java
    -g : 디버깅 테이블을 생성하게 해준다.
          디버깅 테이블은 줄 번호와 지역 변수 정보-자바 디버깅 도구에 의해 사용되는 정보-를 포함하고 있다.
          최적화(-O) 선택사항이 함께 주어지지 않으면 단지 줄 번호만 생성된다.
    -nowarn : 경고 메시지를 출력하지 않는다.
    -O : static, final and private 도구들에 인라인 기법을 사용하여 최적화한다.
          이렇게 되면 클래스 파일은 크기가 커진다.
    -verbose : 컴파일러와 링커에게 현재 컴파일되고 있는 소스 파일과 적재되는 클래스 파일의 이름을 출력하게 한다.

2) java
    자바 인터프리터이다. 클래스 파일을 실행한다.
    사용 예 : java HelloApp
    javaw : 같은 자바 인터프리터이지만 콘솔(윈도우 95에서 도스 창)에서 독립된 윈도우를 만들어낸다.
              콘솔로의 출력은 행하지 않는다. 예를 들어 애플릿뷰어를 다음과 같은 방법으로 실행해서 두 결과를 비교해 보라.
    java(w) sun.applet.AppletViewer example1.html
    javaw로 실행한 경우에는 콘솔로 출력을 하지 않을 것이다.

3) javadoc
    class 파일의 패키지, 계층 구조, 도구 등을 HTML 문서로 만들어준다. 클래스 이름을 인자로 받는다.
    사용 예 : javadoc HelloApp
                javadoc -d doc jhg\db\*.java jhg\web\*.java (대상을 디렉토리로 지정)
                javadoc -d \doc jhg.web jhg.db (대상을 패키지로 지정)
                javadoc -d \doc jhg\db\*.java jhg\exception\*.java jhg\ext\*.java jhg\mail\*.java jhg\web\*.java

4) javah
    해당 애플러케이션의 C 스텁 헤더 파일을 생성해준다. 인자로 클래스 이름을 받는다.
    사용 예 : javah HelloApp

5) javap
    자바 역어셈블러이다.
    클래스 파일을 원시 코드로 역어셈블해준다.
    완전한 소스 파일을 구할 수는 없다.
    인자로 클래스 이름을 받으며 역어셈블한 결과를 표준 출력(콘솔)으로 내보낸다.
    사용 예 : javap -c HelloApp > HelloApp.txt

6) jdb
    자바 디버거이다.
    유닉스의 디버거인 dbx와 유사한 기능을 갖고 있으며 인자로 클래스 이름을 받는다.
    디버거 프롬프트에서 help를 입력하면 사용가능한 명령어들을 알 수 있다.
    디버거를 제대로 사용하려면 클래스 파일을 컴파일할 때 dbx의 경우와 같이 -g 옵션으로 컴파일해야 한다.
    (예 : javac -g HelloApp.java)
    사용 예 : jdb HelloApp

7) appletviewer
    HTML 문서에 포함되어 있는 애플릿을 실행시켜준다.
    일종의 웹 브라우저로서 <applet> 태그만 찾아서 애플릿을 보여준다.
    인자로 URL이나 HTML 문서 파일 이름을 받는다.