Java 실행 옵션이란?
- 자바 프로그램을 실행시켜 주는 명령어.
명령어의 사용법은 아래와 같다.
$ java -help
Usage: java [options] <mainclass> [args...]
(to execute a class)
or java [options] -jar <jarfile> [args...]
(to execute a jar file)
or java [options] -m <module>[/<mainclass>] [args...]
java [options] --module <module>[/<mainclass>] [args...]
(to execute the main class in a module)
or java [options] <sourcefile> [args]
(to execute a single source-file program)
Arguments following the main class, source file, -jar <jarfile>,
-m or --module <module>/<mainclass> are passed as the arguments to
main class.
* options: 옵션
* mainclass: 호출될 클래스 파일 이름
options 중 몇가지를 알아보자! (자주 사용하거나, 사용하게 될 옵션들을 계속 해서 정리하자!)
1. --version
현재 JVM의 버전 정보를 출력한다.
2. -verbose:[class|module|gc|jni]
자바프로그램이 실행되는 정보를 화면에 출력한다.
-verbose:class
로딩되어지는 각클래스들의 정보를 화면에 출력한다.
-verbose:gc
garbage collection 이벤트를 화면에 출력한다.
-verbose:jni
native 함수들과 다른 자바 native 인터페이스 사용에 대한 정보를 출력한다.
3. -Xms, -Xmx
자바 프로그램 실행시 JVM이 사용가능한 최대 메모리 사이즈를 지정한다.
java -Xms <초기힙사이즈> -Xmx <최대힙사이즈>
실행 옵션으로 뭘 할 수 있을까?
heap memory 사이즈를 작게 지정하고, GC의 이벤트를 콘솔에서 확인해보자!
아래의 명령어는 초기 힙 사이즈, 최대 힙 사이즈를 각각 20mb, 30mb 설정한 후 GC 이벤트를 화면에 출력하도록 하였다.
$ java -Xms20m -Xmx30m -verbose:gc GcTest.java
콘솔에 출력된 정보를 확인해보면
사용된 GC의 종류, GC 이벤트, GC 동작 전 힙 메모리, GC 동작 후 힙 메모리 등을 알 수 있다.
{Heap size before GC}M -> {Heap size after GC}M({Total Heap Size}M) {GC time}ms
'Java' 카테고리의 다른 글
[Java] hashcode() (feat. equals()) (1) | 2023.11.22 |
---|---|
[Java] == vs. equals() (1) | 2023.11.22 |
[Java] System.out.println() 왜 사용하면 안돼? (0) | 2023.11.20 |
[Java] try-with-resources 를 사용해보자! (0) | 2023.11.20 |
[Java] 객체(object) vs. 클래스(class) vs. 인스턴스(instance) (0) | 2023.10.08 |