1991년 썬 마이크로시스템즈(Sun Microsystems)에서 제임스 고슬링(James Gosling)의 팀이 개발한 프로그래밍 언어이다.
Java는'일단 작성하면 어디서나 실행할 수 있다(Write Once, Run Anywhere)'는 슬로건에 따라 설계 되었으며, 현재는 오라클(Orcle)이 관리하고 있다.
사람의 사고방식과 가까운 객체의 관점에서 프로그래밍 한다.
즉, 프로그램을 객체들의 집합으로 보고, 이들이 서로 상호작용하도록 설계하여 코드의 재사용성과 유지 보수성을 향상시킨다.
C나 C++에서 메모리 사용 해제를 프로그래머가 직접하지만, 자바에서는 동적 메모리 수거를 가비지 컬렉터(Garbage Collector :GC)가 메모리를 효율적으로 관리한다.
자바 개발 키트(Java Development Kit:JDK)외에도 수많은 오픈 소스 라이브러리 제공하여 다양한 기능을 쉽게 구현할 수 있다.
하나의 프로그램 단위에 여러 쓰레드가 동시에 작업을 수행할 수 있다.
JVM에서 실행에 필요한 모든 클래스 파일을 메모리에 올리지 않고, 필요한 시점에 동적으로 메모리에 올려 사용한다.
만약 오류 발생시 해당 클래스만 수정하면 되므로 유지보수를 쉽고 빠르게 진행할 수 있다.