자바 언어의 특징
- 객체 지향 언어(캡슐화, 상속, 추상화, 다형성)
- 플랫폼 독립적
JVM (Java Virtual Machine)
- 함수형 코딩 지원
람다식 지원
- 멀티 스레딩 지원
- 동적 로딩 지원
자바 프로그램 실행 과정

자바 소스 파일을 컴파일 하면 바이트 코드 파일 생성
JVM은 운영체제에서 할당 받은 메모리를 프로그램에 할당 및 회수한다. 바이트 코드를 호출하여 인터프리터 형식으로 운영체제에 맞게 번역하여 실행한다. 그렇기에 하드웨어와 운영체제에 독립적이다.
JDK 란?
JDK(Java Development Kit)
자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되고 있는 소프트웨어 개발 키트(SDK)
JDK 구성
- apt: 어노테이션 툴
- appletviewer: 웹 브라우저 없이 자바 애플릿을 실행하고 디버깅 하기 위한 툴
- javac: 자바 컴파일러로 자바 소스파일을 바이트 코드로 변환
- java: javac가 만든 클래스 파일을 해석 및 실행
- jar: 서로 관련있는 클래스 라이브러리들과 리소스를 하나의 파일로 묶어주는 틀
- jdb: 자바 디버깅 툴
- JRE(Java Runtime Environment): Java가 동작하는데 필요한 JVM, 라이브러리 등 다양한 파일들을 포함하고 있다. Java를 실행하려면 JRE를 설치해야 한다.
- JVM(Java Virtual Machine): Java가 실제로 동작하는 가상환경으로 자바 프로젝트를 여러 환경에서 원활하게 실행할 수 있게 해줌.

CMD에서 컴파일 및 실행 명령어
cmd창에서 자바 소스 파일을 다룰 땐 다음과 같다.
컴파일: javac 파일이름.java
-> 바이트 코드 파일 생성됨
바이트 코드 실행: java 파일이름 (확장자 안 붙임)

참고블로그
velog.io/@shelly/JAVA-JDK%EB%9E%80
'프로그래밍 > Java' 카테고리의 다른 글
| [Spring] 스프링 삽질일지 4일차 - 게시판 작성 기능 구현(2) (0) | 2021.05.03 |
|---|---|
| [Spring] 스프링 삽질일지 3일차 - 게시판 작성 기능 구현(1) (0) | 2021.05.02 |
| [Spring] 스프링 삽질일지 2일차 - 한글 깨짐 문제 해결, mariaDB 설치, 스프링과 데이터베이스 연동 (0) | 2021.04.30 |
| [Spring] 스프링 삽질일지 1일차 - STS3 설치 및 pivotal 4 서버 설정 (0) | 2021.04.29 |
| [Java] 2. 변수와 자료형 (0) | 2021.04.19 |