Skip to the content.

- 바이트코드 프로그래밍

- 학습 목표 달성 확인 목록

- [] bytecode(portable code, p-code) 가 무엇인지 이해하는가?

바이트 코드란 인간이 읽을수 있는 프로그래밍 언어로 작성된 코드를 컴파일러로 번역된 결과물이다.

즉 반기계어라는 뜻이다.

- [] 바이트코드를 직접 작성하는 것보다 소스 파일을 작성해서 컴파일하는 것이 낫다는 것을 이해하는가?

그렇다 필자가 직접 느껴본 바로는 기계어는 가독성이 전혀 없으며 번거로움이 있다.

- [] 빌드 도구가 무슨 일을 하는지 알고 있는가?

빌드 도구란 프로젝트 생성,테스프 빌드,배포 등의 작업을 위한 전용 프로그램이다.

초기에는 java 빌드도구로 Ant를 많이 사용하였으나 최근 많은 빌드도구들이 생겨나 Maven이 많이 쓰였고

현재는 Gradle이 많이 쓰인다.

- [] 대표적인 자바 빌드 도구의 종류를 말할 수 있는가?

세대별로 구분하자면 Ant,Maven,Gradle이 있다.

- [] 각 빌드 도구의 설정 파일을 구분할 수 있는가?

각자 생성되는 파일로는 build.xml,pom.xml,build.gradle이 있다.

- [] 중간 언어를 이용하는 vm 방식과 LLVM 방식의 특징을 이해하는가?

VM방식은 인터프리터 방식으로

java,kotlin,scala,groovy와 같이 각자 다른 언어(자바 기반언어)로 바이트코드를 만들면

각 운영체제에 맞는 JVM에 실행이 된다.

LLVM방식은 컴파일 방식으로

프로그램의 작성 언어에 상관없이 최적화를 쉽게 구현할 수 있도록 구성되어있다.

java,c,c#,js,python등의 언어로 코드를 작성하면 IR(intermediate representation)이라는 중간언어로 번역을 한다.

그리고 이것을 각 CPU에 맞는 컴파일러가 동작하여 실행하게 된다.

출처:엄진영강사님