1장 자바에 대해 요약

서현우·2022년 6월 27일
0

자바의정석

목록 보기
21/22

Java란?

Java는 프로그래밍 언어로써
특징으로는 JVM으로 OS에 독립적, 객체지향언어, 가비지컬렉터로 자동 메모리관리,
멀티쓰레드지원 등이 있습니다.

Java API란?

자바로 프로그램을 만드는데 필요한 기능을 미리 만들어서 제공하는 하는 것입니다.
JavaAPI가 제공하는 기능을 공식문서로 확인 할 수 있습니다.

CMD에서 자바 프로그램 실행

  1. javac명령어(자바컴파일러)로 소스파일을 클래스파일로 컴파일하고
  2. java명령어(자바인터프리터)로 클래스파일의 메인메서드를 실행합니다.

자바로 개발을 위한 자바 플랫폼 3대 구성 요소

JDK, JRE, JVM

JDK란?

Java Development Kit - 자바 개발에 필요한 도구 + JRE
JDK에는 JRE가 포함되고 JRE에는 JVM이 포함된다.

JRE란?

(Java Runtime Environment)
자바 런타임 환경, 자바 프로그램 실행의 최소 환경을 말한다.
JRE에는 자바 클래스의 라이브러리, 자바 클래스 로더, JVM이 포함된다.

JVM란?

자바 버추얼머신을 말하고,
자바 프로그램이 실행되는 가상 컴퓨터입니다.
JVM은 각 OS별로 다르기 때문에 OS에 종속적이지만,
자바로 작성된 프로그램은 모두 JVM에서 실행되기때문에 OS에 독립적입니다.
JVM는 자바 뿐만 아니라 코틀린, 스칼라, 자이썬, 그루비 등에서 사용합니다.

JVM 메모리 구조

JVM의 메모리 구조는 가비지컬렉터, 클래스로더, Execution Engine, Runtime Data Area가 있습니다.
가비지컬렉터는 참조되지않은 객체를 제거합니다.
컴파일된 클래스파일을 클래스로더에서 로드 및 배치하고, Execution Engine에서 명령어 단위로 실행합니다.
Runtime Data Area에는 메서드영역, 힙, 스택 등이 있습니다.
[추가 작성 요망]
클래스로더는 클래스를 로딩하고, 클래스로딩에는 로딩, 링크, 초기화 과정이 있다. 클래스로딩에서 예외가 발생 할 수 있다. ClassNotFoundException 등.

profile
안녕하세요!!

0개의 댓글