ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터프리터 언어와 컴파일러 언어의 차이
    Spring\Java 2021. 7. 28. 20:59
    • 인터프리터 언어
      • 내가 작성한 코드(=원시코드)를 기계어로 변환하는 과정 없이 라인 바이 라인 바로 해석하여 바로 명령어를 실행하는 언어
        • ex : Python, R, Ruby
        • 인터프리터가 직접 한 줄씩 읽어 따로 기계어로 변환하지 않기 때문에 빌드 타임 X
          • 한 줄씩 읽어서 실행하기 때문에 컴파일 언어에 비해 속도가 느림
    • 컴파일러 언어
      • 원시코드 -> 기계어 -> 기계(ex: jvm)에 넣고 실행
        • ex : C, C++ 
        • 이미 모든 코드가 기계어로 변환 되어 있기 때문에 빠르게 실행 가능
    • 빌드 과정이란 ?
      • 소스코드로 실행파일로 생성하는 과정
      • 고급 언어 -> 저급 언어
    • JVM : 자바 가상 머신
      • Java Byte Code 를 OS에 맞게 해석해주는 역할
      • Java compiler는 .java 파일을 .class 라는 java byte code 로 변시켜줌
        • Byte code는 기계어가 아니기 때문에 OS에서 바로 실행 X
      • JVM은 OS가 Byte code 이해할 수 있도록 해석해줌
        • 그럼 OS에 영향을 안받는건감 ??
      • C언어와 같은 네이티브언어에 비해 속도가 느렸음 -> JIT(Just In Time) 컴파일러 구현으로 인해 극복

    'Spring\Java' 카테고리의 다른 글

    [Java] Deque 덱 / 데크 사용법  (0) 2021.08.30
    [Java] StringBuilder 사용법  (0) 2021.08.24
    [Java] Queue 큐  (0) 2021.08.23
    [Java] LinkedList 사용법  (0) 2021.08.23
Designed by Tistory.