티스토리 뷰
자바는 원시 소스를 컴파일해서 bytecode 로 만든다음, JVM 을 통해 bytecode 를 machine code 로 변경해서 실행하게 된다. bytecode, 기계어도 인간의 언어도 아닌 중간 언어, 를 interpretation 하기 위해 java.exe 명령어를 사용하게 된다.
참고 사이트 : http://pllab.kw.ac.kr/j2seAPIs/tooldocs/windows/java.html
Linux/Unix : docs/technotes/tools/solaris/java.html
Windows : docs\technotes\tools\windows\java.html
java [-options] class [arguments...]
이것은 일반적으로 Java 클래스를 인터프리테이션하기 위해 실행하는 명령어이다. 또 있다.
java [-options] -jar jarfile [arguments...]
이것은 JAR 파일을 실행하기 위한 사용법이다.
java HelloWorld
이건, 자바를 첫 시간 수업들은 사람은 다 안다. 뭐! 나를 무시하자는 건가? 하지만, 이게 가장 많이 사용하는, bytecode 화 돼있는 클래스를 머쉰 코드로 변경하라는 것 아닌가?
이 명령을 통해 JRE 를 시작하고, HelloWorld 클래스를 로딩하며, 그리고 그 클래스의 main() 을 실행하게 된다.
java -cp .:./dir/Classes HelloWorld
컴파일 명령과 같이 -cp 는 곧 -classpath 이다. 실행시 CLASSPATH 를 검색하는데, 별도로 환경설정이 돼있던, 돼있지 않던 상관없이 -cp 뒤의 경로의 클래스를 호출하게 된다. 여기서 중요한 점은, 반드시 경로의 시작이다. Linux/Unix 의 path 구분자는 ':' 이기 때문에, 현재(.) 그리고 구분자(:)를 이어서 '.:' 이렇게 써야 한다. 반면, Windows 는 path 구분자가 ';' 이기 때문에, 현재(.) 그리고 구분자(;)를 이어서 '.;' 이렇게 써야 한다.
HelloWorld 클래스는 /dir/Classes 의 Test 클래스를 필요로 한다. 그래서 현재 경로의 HelloWorld.class와 /dir/Classes 의 Test.class 모두 필요한 거다. 두개의 경로를 다 이어줘야 성공적으로 실행된다.
java -ea HelloWorld
이 명령어는 Java 의 Assertion 가 가능하게 하는 옵션이다. -enableassertions 라고 해도 된다. 기본적으로 Java 는 assertion 옵션이 disable 이기 때문에 별도로 -ea 즉, 가능해야 assert 처리를 할 수 있다.
java -version
이 옵션은 Java Interpreter, JRE 그리고 Virtual Machine 의 버전을 출력하게 한다.
- Total
- Today
- Yesterday
- command tools
- 리눅스
- dev-c++
- ftp서버
- Fedora14
- Javadoc
- Linux
- Windows 8.1
- classpath
- Fedora
- Eclipse
- ubuntu
- SQL
- LECTURE
- CSS3
- windows 7
- javascript
- JDBC
- 원격로그인
- Installation
- JAR
- 우분투
- J2SE
- AJAX
- PHP
- Apache
- Flex
- EditPlus
- Android
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |