자바의 정석 ch1 - 자바를 시작하기 전에

Yuri JI·2023년 1월 8일
0

자바 언어의 특징

  1. 운영체제에 독립적이다.

자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하다.

자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM과 통신하고, JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.

  1. 객체지향 언어이다.

객체지향개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어라는 평가를 받고있다.

  1. 자동 메모리 관리(Garbage Collection)

자바로 작성된 프로그램이 실행되면, Garbage Collection이 자동적으로 메모리를 관리해주기 때문에 프로그래머가 메모리를 따로 관리하지 않아도 된다. 자동으로 메모리를 관리한다는 것이 다소 비효율적인 면도 있지만, 프로그래머가 보다 프로그래밍에 집중할 수 있도록 도와준다.

  1. 네트워크와 분산처리를 지원한다.

Java API를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발 할 수 있도록 지원한다.

  1. 멀티쓰레드를 지원한다.

Java API를 통해 구현 가능하고, 여러 쓰레드에 대한 스케줄링을 자바 인터프리터가 담당한다.

  1. 동적 로딩(Dynamic Loading)을 지원한다.

실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

또한 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일할 필요가 없다.

JVM(Java Virtual Machine)

자바를 실행하기 위한 가상 기계(=컴퓨터)

JDK(Java Development Kit)

JDK를 설치하면 JVM, 자바클래스 라이브러리 Java API, 자바 개발에 필요한 프로그램들이 설치된다.

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

JRE(Java Runtime Environment)

자바실행환경, 자바로 작성된 응용프로그램이 실행되기 위한 최소환경

💡 JDK = JRE + 개발에 필요한 실행파일(javac.exe 등) JRE = JVM + 클래스라이브러리(Java API)
profile
안녕하세요 😄

0개의 댓글