IT/Java

[Java] 자바란 무엇인가?

gaing 2023. 10. 16. 01:41

Java 언어의 탄생

Java는 제임스 고슬링과 연구원들이 개발한 객체 지향적 프로그래밍 언어

 

"Write Once, Run Anywhere"

'한 번 작성하면 어디에서나 실행된다'는 의미로,

자바로 개발된 프로그램은 자바 실행 환경 JRE가 설치된 모든 환경에서 실행이 가능하다는 것을 의미함

 

Java의 특징

1) 객체 지향 언어

- 유지보수가 쉬움

- 재사용성이 높음 (ex. 상속, 오버라이딩, 다형성)

 

2) 운영 체제 플랫폼에 영향을 받지 않음

- ex. MAC, Windows, Linux 등 다양한 환경에서 사용할 수 있음

 

JVM(Java Virtual Machine)

운영체제는 자바 프로그램을 바로 실행할 수 없는데 그 이유는 자바 프로그램은 완전한 기계어가 아닌,

중간 단계의 바이트 코드이기 때문에 이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요함

  

JVM의 주요 역할

바이트코드 실행

- 자바 컴파일러는 자바 소스 코드를 컴파일하여 바이트코드로 변환함

- JVM은 이 바이트코드를 해석하고 실행함

 

자바 메모리 관리

- JVM은 자동 메모리 관리를 제공하며, 가비지 컬렉션을 사용하여 더 이상 필요하지 않은 객체를 제거함

- 이렇게 함으로써 개발자는 명시적으로 메모리를 해제할 필요가 없어짐

 

예외 처리

- JVM은 예외 처리를 관리하며, 예외가 발생할 때 해당 예외를 적절하게 처리하거나 전파함

 

스레드 관리

- JVM은 멀티스레딩을 지원하고, 다중 스레드 환경에서 자바 애플리케이션을 실행함

 

클래스 로딩 및 동적 클래스 생성

- JVM은 클래스 로딩을 관리하고, 필요한 클래스를 동적으로 로드하며 인스턴스화할 수 있음

 

성능 최적화

- JVM은 바이트코드를 실제 기계 코드로 컴파일하고, 실행 시 성능 최적화를 수행하여 높은 실행 속도를 제공함

 

네이티브 인터페이스 제공

- JVM은 자바 언어로 작성된 코드와 네이티브 코드(예: C 또는 C++) 간의 상호 작용을 지원함