Java의 특징
1. 객체 지향 언어이다.
- 객체지향 프로그래밍 (OOP, Object Oriented Programming) 이란 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결하여 전체 프로그램을 완성하는 것을 말함
- 객체를 만들기 위해서는 설계도인 클래스를 작성하고,
2. 이식성이 높다 : 공통 실행환경이 있어서 여러 기기에서 실행 가능함
- 자바는 자바 실행환경 (JRE)이 설치 되어 있는 모든 운영체제에서 실행이 가능하다.
- C 언어의 경우, 운영체제 별 컴파일러가 있기 때문에 컴파일 플랫폼과 타겟 플랫폼이 다를 경우에는 프로그램이 동작하지 않음
더보기

JAVA 개발환경 구성
- JRE (Java Runtime Environment) : 자바 실행 환경으로 .class 파일을 실행
- JDK (Java Development Kit) : 자바 컴파일러 (.java 파일을 .class 파일들로 변환), 코드를 디버깅하는 jdb 기능 이 있음
- JVM (Java Virtual Machine) : 자바 프로그램 실행환경을 만들어 주는 소프트웨어
여러가지의 기기위에 Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어줌
.class 바이트 코드가 실행됨
- JVM 안에는 바이트 코드, 인터프리터, JIT 컴파일러, 메모리 영역 관리, 클래스 로더, 가비지 컬렉터 등 다양한 기능들이 존재
(1) 소스 코드 작성 (.java)→ (2) 바이트 코드로 변환 (.class) → (3) 인터프리터를 통해 .class 코드를 기계어로 번역 → (4) 프로그램 실행


- JDK = JRE + 컴파일 + 디버깅 기능 (JDK의 jdb 기능을 통해서 실행중인 프로그램의 코드 실행을 따라다니며 디버그 가능)
- JRE = JVM (자바 인터프리터, JIT 컴파일러, 런타임 시스템) + Java Class Library
3. 메모리를 자동으로 관리한다.
4. 멀티 스레드 구현이 쉽다.
5. 동적 로딩을 지원한다.
6. 분산환경을 지원한다.
7. 오픈소스 라이브러리가 풍부하다.
- 참고
[Java] 자바 가상머신 JVM(Java Virtual Machine) 총정리
JVM(Java Virtual Machine)이란? 자바 가상 머신 JVM(Java Virtual Machine)은 자바 프로그램 실행환경을 만들어 주는 소프트웨어입니다. 자바 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가
coding-factory.tistory.com
'Java' 카테고리의 다른 글
삼항 연산자 (0) | 2023.04.03 |
---|---|
기본형 변수와 참조형 변수 그리고 래퍼 클래스 변수 (0) | 2023.04.03 |
빌드, 자바 빌드 관리 Tool (0) | 2023.03.04 |
가비지 컬렉션 (Garbage Collection) (0) | 2023.03.04 |
자바 메모리 구조 (0) | 2023.03.04 |