[JAVA] ch1. 자바의 특징

황인권·2024년 5월 30일

JAVA

목록 보기
1/15

1. 자바의 특징

  • 운영체제에 독립적이다.
    • 자바 가상머신(JVM) 덕분에 가능하다.
  • 객체지향 언어이다.
    • 상속, 캡슐화, 다형성 같은 객체지향개념의 특징이 잘 적용되어 있다.
  • 자동 메모리 관리
    • 가비지컬렉터(Garbage Collector)가 자동적으로 메모리를 관리해주기 때문에 프로그래밍에 집중할 수 있다.
  • 네트워크와 분산처리를 지원한다.
    • 풍부하고 다양한 네트워크 프로그래밍 라이브러리를 지원한다.
  • 멀티 쓰레드를 지원한다.
    • 일반적으로 운영체제에 따라 구현방법이 상이하며 처리방식도 다르다.
    • 그러나 자바는 시스템과 관계없이 구현이 가능하며 관련된 라이브러리가 제공된다. 그리고 자바 인터프리터가 쓰레드에 대한 스케줄링을 담당한다.
  • 동적 로딩을 지원한다.
    • 실행 시 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩한다.
    • 그 외에도 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 된다.

2. JVM

Java Virual Machin
자바를 실행하기 위한 가상 컴퓨터

  • 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점이 있다.
  • JVM은 OS 종속적이다.

3. JRE

Java Runtime Environment
-> JVM + 자바클래스 라이브러리 (Java API)


4. JDK

Java Development KIT
-> JRE + 자바를 개발하는데 필요한 프로그램들

개발에 필요한 실행파일

  • javac.exe
    • 자바 컴파일러.
    • 자바 소스코드를 바이트코드로 컴파일한다.
  • java.exe
    • 자바 인터프리터.
    • 컴파일러가 해석한 바이트코드를 해석하고 실행한다.
  • javap.exe
    • 역어셈블리어.
    • 컴파일된 클래스파일을 원래의 소스로 변환한다.
  • javadoc.exe
    • 자동문서생성기.
    • 소스파일에 있는 주석을 이용하여 Java API 문서와 같은 형식의 문서를 자동으로 생성한다.
  • jar.exe
    • 압축 프로그램.
    • 클래스파일과 프로그램의 실행에 관련된 파일을 하나의 jar 파일로 압축하거나 압축해제한다.

5. 자바 프로그래밍의 실행과정

  1. 프로그램의 실행에 필요한 클래스(*.class)를 로드한다.
  2. 클래스 파일을 검사한다. (파일형식, 악성코드 체크)
  3. 지정된 클래스에서 main(String[] args)를 호출한다.


profile
inkwon Hwang

0개의 댓글