객체지향 프로그래밍 언어
OS에 독립적이다(JVM 사용)
다양한 기종의 컴퓨터와 운영체제가 있는 인터넷 환경에 적합한 언어다.
( OS맞는 JVM은 꼭 필요하다 )
자동 메모리 관리
자바로 작성된 프로그램이 실행시 가비지 컬렉터가 자동으로 메모리를 관리해준다.
풍부한 클래스 라이브러리 Java API
네트워크 관련 프로그램을 쉽게 개발 가능하다
멀티쓰레드를 지원한다
시스템과 관계없이 구현이 가능하면 관련 API가 제공된다
쓰레드에 대한 스케줄링을 자바 인터프리터가 담당한다
동적 로딩을 지원한다
필요한 시점에 클래스가 로딩되어 사용된다는 장점이 있다
일부 클래스가 변경되어도 전체 어플리케이션을 다시 컴파일 하지 않아도 되기에 변경사항이 발생해도 쉽게 처리 가능하다