- 객체 지향 프로그래밍 언어 기반
- 운영체제에 독립적
- Garbage Colletion
- 다중 쓰레드를 제공
- java 8 버전부터 함수형 프로그래밍 지원
- 대형 프로젝트의 완성도 부분에 적합
- 함수형 프로그래밍 도입으로 개발 생산성 증진(동작 추론 쉬워짐, 객체 안전하게 공유 등)
- 분산 처리에 용이(분산 환경에서 TCP/IP 등의 프로토콜을 통해 효율적으로 실행 가능)
- 플랫폼에 독립적임(인터프리터에 의해 실행됨)
- 애플릿(웹 클라이언트 분야), 서블릿과 JSP(웹 서버 분야), EJB(기업형 분산 컴포넌트 분야)
- 객체 지향 언어, 함수형 언어 및 높은 이식성으로 다양한 분야에 사용
- 최근 한국 프로그래밍 언어 순위 중 1위 JavaScript 2위 Python을 이은 3위의 순위를 유지하는 중
- 향후에도 순위가 급락하지 않고 상위권을 유지할 것으로 보임
- OS에 상관없이 사용가능 (이식성)
- JVM - 1번 바이트 코드, OS - 2번 바이너리 코드로 총 두 번에 걸쳐 컴파일이 이루어짐