1. 컴퓨터는 코드를 바이트코드(바이너리코드)로 컴파일하여 알아듣는다.
2. JVM은 자바에서 0과 1을 각각 다른 운영체제가 알아들 수 있게 다시 번역한다.
3. C언어는 컴파일러가 여러 개 있고, 다 다르다.
4. 자바는 컴파일러가 하나 있고 이 컴파일 된 결과물이 동일하고, 이것들이 각각 다른 JVM 위로 올라가면서 JVM이 운영체제에게 재변억 해준다.
5. JVM (Java Virtual Machine)
- 자바 가상 머신의 약자
- OS(운영체제)별로 존재
- 바이너리코드를 읽고 검증하고 실행
6. JRE (Java Runtime Environment)
- 자바 실행 환경의 약자
- JRE = JVM + 자바 프로그램
실행에 필요한 라이브러리 파일 등
- JVM의 실행환경을 구현
7. JDK (Java Development Kit)
- 자바 개발 도구의 약자
- JDK = JRE + 개발을 위한 도구
- 컴파일러, 디버그 도구 등이 포함
JAVA의 버전 = JDK의 버전
8. Oracle JDK : 개인에게 무료
기업용은 유료
Open JDK : Oracle JDK와 비슷한 성능
언제나 무료
9. 빌드(build) : 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW 가공물 (Artifact)로 변환시키는 과정
10. 테스트 코드 : 내가 작성한 코드를 자동 테스트 해주는 코드를 추가로 작성한 것
11. 실행 (run) : 내가 작성한 코드(혹은 테스트코드)를 컴파일을 거쳐, 작동시켜 보는 것
독립 SW 가공물이 나올 수도, 안 나올 수도 있다.
*주의* 인터프리터 언어는 컴파일이 필요없다.
12. 빌드 툴 (build tool)
- 소스 코드의 빌드 과정을 자동으로 처리 해주는 프로그램
- 외부 소스 코드 (외부 라이브러리) 자동 추가, 관리
13. Gradle
- 가장 최신에 나온 빌드 툴, 신규 프로젝트에 많이 사용
- 설정을 위해 groovy 언어를 사용
- 외부 라이브러리 관리
- 유연하게 빌드 스크립트 작성
- 성능 뛰어남
#유튜브 공부하는 개발자님의 자바를 공부하기 전에 알아두면 좋은 것들 1, 2 를 들으며 기록했습니다.
'Programming Language > JAVA' 카테고리의 다른 글
[Do it 자바 프로그래밍 입문] 11.기본 클래스 (0) | 2023.06.13 |
---|---|
추상클래스(abstract)와 인터페이스(interface) 차이점 (0) | 2023.06.01 |
인터페이스(interface) (0) | 2023.05.25 |
[Do it 자바 프로그래밍 입문] 10.인터페이스 (0) | 2023.05.25 |
[Do it 자바 프로그래밍 입문] 09.추상 클래스 (0) | 2023.05.24 |