본문 바로가기
JAVA

[JAVA] 자바의 특징 및 장점

by watergrace2u 2021. 4. 10.
반응형
SMALL

자바의 특징

- 일단 프로그램을 작성하면 하드웨어나 운영체제의 종류에 관계없이 동일한 모습으로 실행할 수 있다.

- 컴파일러를 통해 '바이트코드(byte code)'를 생성한다.

- 위의 바이트 코드는 다시 JVM(자바 가상 기계, Java virtual machine) 이라고 하는 소프트웨어에 의해 해석되어서 실행된다.

==> 응용 프로그램들을 다시 컴파일하지 않아도 모든 컴퓨터에서 실행 가능하다.

==> JVM만 가지고 있다면, 어떤 바이트 코드도 다시 컴파일 할 필요없이 실행할 수 있다.

 


자바의 장점

1. 단순하지만 강력함

- 자동 메모리 관리 기능, 멀티 스레드, 객체 지향적인 방법으로 제작된 풍부한 라이브러리 제공

 

2. 객체 지향적

 

3. 분산 환경 지원

- 자바는 네트워크 상에서 동작되는 것을 기본으로 설계된 언어로, 프로토콜을 처리할 수 있는 라이브러리를 가지고 있다. 다른 언어보다 쉽게 네트워크 관련 프로그램 개발 가능

 

4. 컴퓨터 구조에 중립적

- 자바 컴파일러는 컴퓨터 구조에 중립적인 바이트 코드로 번역된다. 이들은 각 컴퓨터에서 미리 설치되어있는 JVM에 의하여 실행된다.

 

5. 견고성 & 이식성

- 컴파일시에 강력하게 데이터 타입을 검사하고 그 크기와 행동을 명확하게 정의한다.

- 따라서 모든 플랫폼에서 동일한 실행 결과를 생성한다.

 

6. 고성능

- 매번 실행할 때마다 바이트코드를 해석해야하기 때문에 실행 속도는 느린 편이다.

- 이러한 단점 보완을 위해 'JIT(just in time)' 컴파일러의 개념이 도입되었다.

- JIT 컴파일러: 자바 코드를 실제 컴퓨터의 기계어로 직접 변환하는 컴파일러

 

7. 멀티스레딩 지원

- 멀티스레딩: 많은 작업을 동시에 할 수 있다.

 

8. 동적임

- 라이브러리들은 실행 파일에 영향을 끼치지 않고 자유롭게 새로운 기능들을 추가할 수 있다.

 

반응형
LIST

'JAVA' 카테고리의 다른 글

[JAVA] 객체 배열의 깊은 복사  (0) 2022.03.23
[JAVA] 객체 배열의 얕은 복사  (0) 2022.03.23
[Java] Collection(컬렉션)  (0) 2020.09.14
[Java] StringBuffer, StringBuilder  (0) 2020.09.12
[Java] 추상클래스  (0) 2020.09.12

댓글