자바에 대하여

Single Ko·2023년 4월 5일
0

java

목록 보기
17/28

자바의 특징

장점

  • 객체지향 프로그래밍 언어
  • 플랫폼 독립적이다. (Java Virtual Machine)위에서 동작.
  • primitive 타입을 제외한 요소들이 객체로 표현, 객체지향 개념의 특징이 잘 적용된 언어.
  • GC를 이용한 자동적인 메모리 관리.(개발자가 직접 메모리를 할당하고 해제 할 필요가 없다.)
  • 다중 상속이 불가능하다.
  • 타입을 엄격하게 체크한다.
  • 멀티 쓰레딩을 지원 한다.
  • 매우 크고 강력한 자바의 생태계

단점

  • JVM 위에 동작하기 때문에 상대적으로 C, C++ 같은 언어에 비해 느리다.
  • 현대적인 언어에 비해 구문이 장황하다. 이로인해 특정 작업을 수행하는데 더 많은 코드라인이 필요하다.
  • JVM을 로드하고 초기화해야 하기 때문에 시작 시간이 길다.

자바의 컴파일 과정

  1. Java 소스 코드 작성 - IDE,텍스트 편집기 등을 이용해 소스 코드파일 작성. 소스 코드 파일은 확장자 ".java".

  2. Java 소스 코드 컴파일 - javac라는 컴파일러가 소스 코드를 바이트코드(jvm이 읽는 코드)로 변환. 파일 확장자가 ".class".

  3. 바이트코드 로드와 실행 - Java 클래스 로더는 프로그램이 실행될 때 컴파일 된 바이트 코드를 JVM의 메모리로 로드 합니다. 이후 바이트코드 확인기는 로드된 바이트코드가 Java 언어 사양을 따르는지 확인합니다. 마지막으로 JVM의 JIT 컴파일러가 바이트 코드를 컴파일 하여 기계어 코드로 변환합니다.

이러한 프로세스를 통해 JVM은 다양한 운영 체제 및 하드웨어 아키텍처에서 사용할 수 있으므로 Java 프로그램이 플랫폼 독립적이 될 수 있습니다.

profile
공부 정리 블로그

0개의 댓글