Java

자바의 특징 및 JVM 동작 과정

KJihun 2023. 5. 22. 21:03
728x90

자바는 1990년대에  발표되었고, 어디서나 동작 가능하며, 많이 쓰이는 개발언어이다

 

✅ 자바의 주요 특징

  • 공통 실행환경(JVM)이 있어서 다양한 OS에서도 실행이 가능하다.
  • C/C++의 구조를 따르면서도 포인터 같은 복잡한 개념을 제거해서, 접근하기 쉬운 언어다.
  • 객체지향적인 구조 덕분에 코드 유지보수와 재사용이 용이하다.
  • 안정성이 높아 오류를 방지하고 보안상 안전하다.
  • 네트워크 및 DB 연결 등 작업을 처리하는 API를 제공하여 대규모 앱 개발에 유용하다.
  • 다양한 개발도구와 라이브러리를 사용 가능하다.

 

🔍 JVM이란? (Java Virtual Machine)

JVM은 자바 프로그램을 실행해주는 가상 컴퓨터(실제 하드웨어가 아닌, 소프트웨어로 구현된 가상의 환경)다. 

  • 자바로 작성된 모든 프로그램은 JVM이 있어야 실행할 수 있다.
  • 운영체제에 맞게 설계되어 있기 때문에, 자바는 다양한 OS에서 동일하게 동작할 수 있다.

자바는 JVM 위에서 동작하기 때문에 운영체제에 종속되지 않는 플랫폼 독립성을 가질 수 있다.

 

⚙️ 자바 프로그램의 실행 과정 (JVM 동작 원리)

 

  1. 개발자가 java로 코드 작성(자바 클래스 파일(.java) 생성)
  2. 자바 컴파일러가 개발자가 작성한 소스코드(.java)를 바이트코드(.class)로 변환
    • 자바 바이트 코드 : JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드
  3. 클래스 로더가 바이트 코드(.class)를 불러와서 JVM의 메모리 영역에 저장
  4. 실행 엔진(Execution Engine)
    • 인터프리터 : OS가 읽은 바이트코드를 기계가 실행할 수 있는 기계어로 번역해주는 변환기
    • JIT(Just In Time)컴파일러 : 인터프리터와 함께 쓰이며, 자주 사용되는 코드를 한 번에 번역하여 성능을 크게 향상
  5. Runtime : 코드가 실행 중인 상태. 이 시점에서 메모리 관리(GC), 예외 처리 등 다양한 기능이 함께 작동한다.

 

🧰 자바 개발에 필요한 도구들

🔹 JDK (Java Development Kit)

자바 개발에 필수인 툴들을 가지고 있는 개발 키트

  • javac: 자바 컴파일러
  • java: JVM 실행기
  • jdb: 디버거
  • JRE: 자바 실행 환경 (JVM + 라이브러리)

🔹 IDE (통합 개발 환경)

자바 코드를 더 쉽고 효율적으로 작성하기 위한 도구이다.

코드 자동 완성, 문법 검사, 디버깅, 빌드 관리, 테스트 등 다양한 기능을 지원해 생산성을 크게 높여준다.

  • Eclipse
  • IntelliJ IDEA

 

'Java' 카테고리의 다른 글

인터페이스와 추상 클래스의 차이  (0) 2023.05.25
인터페이스  (0) 2023.05.25
추상 클래스  (0) 2023.05.25
생성자란? this와 this()의 차이  (0) 2023.05.24
인스턴스 멤버와 클래스 멤버  (0) 2023.05.24