저번 시간에 봤듯이 JavaSE 개발환경을 구축하기 위해서는 자바 개발 키트(Java Development Kit, JDK) 를 설치해야 한다.
JDK의 역할
- java 언어로 코딩을 한 프로그램이 문법적으로 오류가 있는지 없는지를 검증
- java로 만든 프로그램을 컴퓨터가 이해할 수 있는 언어 체계로 변환(컴파일)
무료 버전의 OpenJDK
OpenJDK는 성능이나 안정성에 다소 문제가 있었지만 Java11부터는 OracleJDK와 거의 동일해짐
아래 사이트에서 다운받아 설치
빨간 박스 클릭
우리는 Java SE 11 Window버전 다운
다운받은 zip파일을 압축해제 후 C폴더에 fcjava라는 폴더를 만든 뒤 그 안에 넣어줌
설치가 끝났으면 JDK 디렉토리를 자신의 시스템에 Path(경로)로 잡아주어야 함
JDK의 HOME 디렉토리 등록하기 및 path 설정
우리가 어떤 프로그램을 설치한 후 그 프로그램을 사용하려면 그 프로그램이 설치된 디렉토리로 들어와서 거기서 명령을 쳐야함
path로 그 명령을 걸어 놓으면 어떤 디렉토리에서도 그 명령어를 쓸 수 있는 장점이 있다
내 PC -> 마우스 오른쪽 버튼(R) -> 속성 -> 시스템 -> 고급 시스템 설정 -> 환경 변수
환경 변수에서 HOME 디렉토리 등록과 path 설정을 해줄 것임
JAVA_HOME을 환경변수로 추가
시스템 변수란에서 새로 만들기 누르고
변수 이름 : JAVA_HOME
변수 값 : jdk 설치 경로
Path에 JDK 설치 폴더에 있는 bin까지의 경로 등록
시스템 변수 중에서 Path 더블클릭 후 환경 변수 편집 창이 열리면 JDK 설치 폴더에 있는 bin까지의 경로 등록
새로 만들기한 경로는 맨위에 올려놓기
왜? 다른 자바가 있으면 다른 자바 경로가 우선적으로 적용되기 때문
이렇게 하면 JDK 설치가 마무리됨 -> JavaSE 환경이 구축되었다!
JDK가 잘 설치되어 있는지 확인
java -version
JDK(자바 개발 환경), JRE(Java Runtime Environment) 이해하기
JDK 설치 -> JavaSE 개발환경이 구축됨
JavaSE 개발환경이 구축되었다는 의미
- JVM, API, TOOL(명령어)이 PC에 설치가 되었다는 뜻이며 이제는 자바언어로 데스크톱 응용소프트웨어 개발 가능
JVM(Java Virtual Machine)
- 자바 가상 머신(JVM)은 자바 프로그램을 실행해주는 프로세서(엔진)
API(Application Programming Interface)
- 자바 언어로 무언가를 개발할 때 필요한 외부 라이브러리 모듈
- 자바 API(Java API)는 자바에서 제공해주는 클래스들의 집합
API의 예시
- 자바에서 네트워킹 프로그램을 하려면 네트워킹 프로그램을 하기 위한 API(소켓 등)를 제공해 주어야 함
- 자바에서 파일에 데이터를 입력하고 출력하려면 입력과 출력을 할 수 있는 API(스트림)를 제공해 주어야 함
- 자바에서 데이터베이스에 접속을 해서 데이터를 INSERT, UPDATE, DELETE, SELECT 하려면 데이터베이스를 연동할 수 있는 API를 제공해야 함
TOOL(명령어)
- 자바 언어로 개발하면 문법적으로 오류가 있는지 없는지를 체크해야 함(컴파일)
- 컴파일할 수 있는 명령어, 컴파일이 끝나면 실행할 수 있는 명령어 등을 통틀어 TOOL이라 부름
jdk설치 경로로 들어가면
bin폴더 : 컴파일러 같은 TOOL들이 들어있음
lib(library) 폴더 : API들이 들어있음
TOOL과 API는 JDK를 설치하면 그 안에 탑재되어 있음
JVM은 우리 눈에 보이지 않음
왜? 프로세서라서 메모리에서 동작하기 때문
JDK 내부에는 JRE라는 자바실행환경이 포함되어 있고 JRE 안에는 JVM이 포함되어 있음
JRE(자바실행환경)이 필요한 이유
- 우리는 개발 + 실행을 모두 해야함 -> 그러기에 JDK 필요
- 개발하지 않고 실행만 하는 경우 -> JRE만 필요
'Java, Spring 🌱 > [Java] 패스트캠퍼스 박매일 자바' 카테고리의 다른 글
[Java] 자바 개발환경(플랫폼)의 이해 (0) | 2024.03.02 |
---|---|
[객체지향 프로그래밍 With Java #3] IntelliJ 개발환경 구축 (0) | 2023.10.16 |
[객체지향 프로그래밍 With Java #1] 자바 개발환경(플랫폼)의 이해 (0) | 2023.10.10 |