java 명령어의 옵션 정리

자바프로그램(Java Application)을 실행시켜 주는 명령어이다.



사용법:java <options> <classfiles> <argument> 또는
         java <options> -jar file.jar <argument>

options: 옵션
classfiles: 호출될 클래스 파일 이름
file.jar: 호출될 jar파일 이름
argument:main함수에 파라미터로 보내질 문자열



예를들어, main함수를 포함하는 Hello.class 파일이 존재할경우,
java Hello 로 프로그램을 실행시킬수 있는데, 확장자인 class는 생략할수 있지만,
대소문자는 구별하므로, 정확하게 기입해야 한다.
java Hello Greeting 처럼 Greeting을 덧붙일경우, main함수에 문자열인자로 Greeting을 보낼수 있다.



a) -client:
자바 HotSpot Client VM을 선택한다. (디폴트 값이다)



b) -server:
자바 HotSpot Server VM을 선택한다.



c) -classpath (-cp):
참조할 클래스 파일 패스를 지정하는데, jar파일, zip파일, 클래스파일의 디렉터리 위치를 기술한다.
각 클래스파일 패스는 콜론(:)을 통해서, 분리시켜 기술한다
자바VM은  자바프로그램을 로딩시, -classpath로 지정된 클래스 패스나, java플래폼이 설치된, 운영체제에서의
환경변수로 지정된, 클래스패스를 통해서, 클래스 파일들을 참조하게 된다.



d) -D <property name>=<property value>:
시스템의 property 값을 설정한다.


ex) java -Djava.library.path=. HelloWorld


자바의 시스템 property(속성)중 “java.library.path”값을 “.” (현재디렉터리)로 지정해서, HelloWorld 실행시켜라는 의미 이다.


위와같이 자바VM에 지정된 속성을 실행시 -D옵션을 사용해서, 변경, 지정할수 있다.



e) -jar 파일이름:


jar파일로 압축되어져 있는 자바 프로그램을 실행시킨다.


클래스 파일이름 대신 jar파일을 사용해서, 압축되어져 있는 자바 프로그램을 실행시킬수 있는데, 위프로그램이 제대로 실행되어지기 위해서, Jar파일안의 manifest라는 텍스트 파일에 Main-Class:classname 같은 형태의 텍스트 라인이 포함되어 있어야 한다.


그리고, 여기에 기술된 classname은 main함수를 포함하고 있는 클래스 이름이 되어야 한다.



f) -verbose:


자바프로그램 실행되어지는 정보를 화면에 출력해준다.


-verbose:class


로딩되어지는 각클래스들의 정보를 화면에 출력한다.


-verbose:gc


garbage collection 이벤트를 화면에 출력한다.


-verbose:jni


native 함수들과 다른 자바 native 인터페이스 사용에 대한 정보를 출력한다



g) -version:


현재 JVM의 버젼 정보만 출력한다



h) -showversion:


현재 JVM의 버젼정보를 출력한다.


java -showversion HelloWolrd


와 같이 자바 프로그램을 실행시키면서, 자바 버젼정보를 출력할수 있다.



i) -X


비표준 자바옵션 리스트를 화면에 출력해준다.



i-1) -Xms, -Xmx


자바를 구동시, JVM이 사용가능한 최대 메모리 사이즈를 변경합니다.


JVM이 자바프로그램을 구동하기 위해, 초기설정된 메모리사이즈는 64M입니다.


사용방법은 다음과 같습니다


java -Xms <초기힙사이즈> -Xmx <최대힙사이즈>


예를들어, Hello.class 자바 프로그램을 시작시, 256M(메가)의 힙사이즈를 할당하며, 최대 512M의 힙사이즈를 할당받고 싶다면,  다음과같이 합니다.


java -Xms256m -Xmx512m Hello

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.