1. 환경변수 설정
javac.exe, java.exe를 다른 디렉토리에서도 실행할 수 있도록 하기 위해 환경 변수(Path)에 bin 경로를 등록한다.
javac.exe : 컴파일러 java.exe : JVM 구동 명령
내pc에 우클릭하고 속성-> 설정 변경-> 고급-> 환경 변수
시스템변수: 이 pc를 사용하는 모든 사용자가 사용할 수 있는 변수
그 위에 있는 변수: 그 사용자만 사용할 수 있는 변수
시스템 변수 새로 만들기-> JAVA_HOME 환경 변수 추가
이때 추가를 해주지 않으면 javac.exe와 java.exe가 있는 디렉토리에서만 이것들이 실행이 된다.
Path 환경 변수에 JDK의 bin 디렉토리를 추가시킨다.
Path 환경 변수 확인을 해보자. cmd 창을 열고 java -version을 입력했을 때 정상적으로 실행이 된다면 잘 된거다.
2. Java 컴파일러와 JVM
java 소스 작성부터 프로그램 실행까지의 순서
java 소스(xxx.java)를 만들면 java컴파일러(javac.exe)가 이 소스를 바이트 코드 파일(xxx.class)로 만든다. (확장자가 java->class로 바뀜) 바이트 코드파일을 JVM 구동(java.exe)에 던져주면 이를 기계어로 바꿔주고 이 기계어로 실행이 되게된다. 기계어로 되서 실행을 하는 것을 LINK라고 한다. 이때 LINK에서 pc가 어떤 일을 하냐면 메모리 로딩/실행 준비/실해 결정/초기화를 한다. 그러고 나서 실행이 되는 것이다.
3. Java프로그램 실행
이클립스가 아닌 메모장, 컴파일러(javac.exe) 그리고 JVM을 구동시키는 java.exe를 이용해서 java프로그램을 실행한다.
메모장에 자바코딩을 하고 xxx.java로 저장한다. cmd를 켠 뒤에 메모장의 위치로 이동한다. cmd창에 javac.exe xxx.java를 입력해주면 컴파일이 되어 class파일이 만들어진다. JVM을 구동시킬 때는 java xxx라고 입력을 하면 실행이 된다.
4. 이클립스 사용의 장점
이클립스를 사용하면 컴파일, 디버깅 그리고 실행까지 쉽게 할 수 있다.
굳이 위에서 한 java프로그램 실행 방법을 하지 않더라도 이클립스가 위의 과정들을 자동으로 해주기 때문에 우리는 이클립스에서 짠 코드를 저장만 하면 된다.
5. 가비지 컬렉터(Garbage Colletor)
프로그램 실행에 필요한 메모리를 Garbage Collector가 자동으로 관리한다.
C계열 프로그램
- 개발자가 직접 메모리를 관리해야 함
- 만약 메모리 관리를 잘못할 경우 메모리 누수가 발생하고 타 프로그램 동작이 멈출 수 있음
Java 프로그램
- 개발자가 메모리에 접근할 수 없음
- 개발자는 메모리 관리를 할 수 없고, 가비지 컬렉터가 불필요한 메모리를 회수해서 메모리를 최적화 함.