자바의 특징
- 일단 프로그램을 작성하면 하드웨어나 운영체제의 종류에 관계없이 동일한 모습으로 실행할 수 있다.
- 컴파일러를 통해 '바이트코드(byte code)'를 생성한다.
- 위의 바이트 코드는 다시 JVM(자바 가상 기계, Java virtual machine) 이라고 하는 소프트웨어에 의해 해석되어서 실행된다.
==> 응용 프로그램들을 다시 컴파일하지 않아도 모든 컴퓨터에서 실행 가능하다.
==> JVM만 가지고 있다면, 어떤 바이트 코드도 다시 컴파일 할 필요없이 실행할 수 있다.
자바의 장점
1. 단순하지만 강력함
- 자동 메모리 관리 기능, 멀티 스레드, 객체 지향적인 방법으로 제작된 풍부한 라이브러리 제공
2. 객체 지향적
3. 분산 환경 지원
- 자바는 네트워크 상에서 동작되는 것을 기본으로 설계된 언어로, 프로토콜을 처리할 수 있는 라이브러리를 가지고 있다. 다른 언어보다 쉽게 네트워크 관련 프로그램 개발 가능
4. 컴퓨터 구조에 중립적
- 자바 컴파일러는 컴퓨터 구조에 중립적인 바이트 코드로 번역된다. 이들은 각 컴퓨터에서 미리 설치되어있는 JVM에 의하여 실행된다.
5. 견고성 & 이식성
- 컴파일시에 강력하게 데이터 타입을 검사하고 그 크기와 행동을 명확하게 정의한다.
- 따라서 모든 플랫폼에서 동일한 실행 결과를 생성한다.
6. 고성능
- 매번 실행할 때마다 바이트코드를 해석해야하기 때문에 실행 속도는 느린 편이다.
- 이러한 단점 보완을 위해 'JIT(just in time)' 컴파일러의 개념이 도입되었다.
- JIT 컴파일러: 자바 코드를 실제 컴퓨터의 기계어로 직접 변환하는 컴파일러
7. 멀티스레딩 지원
- 멀티스레딩: 많은 작업을 동시에 할 수 있다.
8. 동적임
- 라이브러리들은 실행 파일에 영향을 끼치지 않고 자유롭게 새로운 기능들을 추가할 수 있다.
'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 |
댓글