Java란?
참고서적 : Java의정석 3rd Edition
java언어의 특징
장점
운영체제에 독립적이다
- JVM을 사용하기 때문이다. 자바 응용프로그램은 JVM하고만 통신하고 JVM이 전달받은 명령을 운영체제가 이해하도록 변환하여 전달.
- 자바로 작성한 응용프로그램은 운영체제에 독립적이다.!! JVM은 운영체제에 종속적이여서 알맞게 설치해야한다.
객체지향언어이다 - 데이터를 객체로 취급하여 프로그램에 반영 객체의 상호작용을 통해 프로그램이 작동한다.
자동 메모리 관리(Garbage Collection)
네트워크와 분산처리 지원
멀티 쓰레드 지원 - 멀티 쓰레드의 대한 Scheduling을 자바 interpreter가 담당한다.
동적 로딩지원
단점
속도가 다른 언어에 비해서 느리다.
- JVM을 Byte Code를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 Hotspot와 같은 신기술로 개선되었다.
Java Virtual Machine
Java Application <=> JVM <=> OS <=> Computer
Java Application은 JVM을 한 번 더 거치고, 하드웨어에 맞게 완전히 컴파일된 상태가 아닌 실행 시에 해석(interpret)되기 때문에 속도가 느리다.
Java Application은 운영체제에 독립적이다.