JVM과 통신한다.JVM이 자바 응용 프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.JVM은 운영체제 종속적이어서 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM이 제공된다.자바는 객체지향 프로그래밍언어 중 하나.
객체 지향 개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향언어이다.
GC가 자동적으로 메모리를 관리해준다.GC가 없다면 프로그래머가 사용하지 않는 메모리를 체크하고 반환하는 일을 수동으로 처리해야한다.다양한 Java API를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.
자바를 실행하기 위한 가상 컴퓨터.
자바로 작성된 애플리케이션은 모두 이 JVM에서만 실행되기 때문에 자바 애플리케이션이 실행되기 위해선 반드시 JVM이 필요하다.
일반 어플리케이션 <-> OS <-> 컴퓨터(하드웨어)자바 어플리케이션 <-> JVM <-> OS <-> 컴퓨터(하드웨어)자바 어플리케이션은 JVM을 한번 더 거치고, 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석되기 때문에 속도가 느리다는 단점이 있지만, 바이트코드를 기계어로 바로 변환해주는 JIT 컴파일러 기술이 적용되어 JVM의 기능이 향상됨으로써 속도 문제가 개선되었다.
main()메서드는 자바 어플리케이션의 시작점이다. main()메서드의 첫 줄부터 코드가 실행되기 시작하여 마지막까지 모두 실행되면 프로그램이 종료되고 프로그램에서 사용했던 자원들은 모두 반환된다.자바의 정석