lectureNote/JAVA
자바 기본
shiherlis
2023. 2. 10. 16:52
자바의 특징
- 객체 지향 언어
- 자동 메모리 관리(GC)
- 멀티 스레드 지원 (동시에 여러 작업 가능)
- 라이브러리 多
- 운영체제에 독립적 (JVM)
JVM (자바 가상 머신 , Java Virtual Machine)
- 자바 프로그램이 실행되는 가상 컴퓨터
- OS 위에서 바로 실행되지 않고, 자바가상머신 위에서 실행되기 때문에 OS에 독립적임
JDK (Java Development Kit)
- 자바에서 제공되는 개발용 라이브러리 (개발 도구)
- 자바 개발시 필요
JRE (Java Runtime Environment)
- 자바 프로그램이 실행되는 환경
- 자바 프로그램 실행시 필요
자바의 메모리 사용 영역
- 메소드 영역
- JVM을 시작할 때 생성
- 로딩된 클래스 바이트 코드 내용을 분석 후 저장
- 모든 스레드가 공유
- 힙 영역
- JVM을 시작할 때 생성
- Object type의 데이터들이 들어감(String, List)
- 객체 / 배열 저장
- 사용되지 않는 객체는 GC가 자동 제거
- JVM 스택
- 스레드별로 생성
- 메서드를 호출할 때 마다 Frame을 스택에 추가 (push)
- 메서드가 종료하면 Frame을 제거 (pop)