maven vs gradle

mtak·2021년 5월 7일
0

Spring Study

목록 보기
12/13

1.메이븐(Maven)이란?

자바용 프로젝트 관리 도구. 즉, 자바 프로젝트를 진행하면서 사용할 수많은 라이브러리를 관리해주는 도구이다.
특히 메이븐은 네트워크를 통해서 라이브러리와 연관된 라이브러리들 까지 줄줄이 관리해주기 때문에 편하다.

2.그레이들(gradle)이란?

groovy를 이용한 (여러가지 언어를 지원하는)빌드 자동화 시스템.

다르게 적어놨지만 메이븐도 그레이들도 전부 빌드 도구이다.
[참고자료]

3. c 빌드 vs java 빌드

1. 자바 파일 한개 빌드하기
2. jar파일(자바 프로그램 실행에 필요한 자료 압축해 놓은 것) 실행하는 법
3. java 컴파일 과정

javac 는 소스파일(.java)이 목적파일(.class)로 변환될때 컴퓨터가 바로 인식할 수 있는 바이너리코드가 아닌 가상머신이 이해할 수 있는 바이트 코드로 변환된다.

4. 바이너리 코드 vs 바이트 코드

컴퓨터( 정확히는 cpu)가 인식하는 것과 가상머신이 이해하는 것은 다르다. (바이너리 코드 , 바이트 코드)
놀랍게도 이진수로 구성된 바이너리 코드는 컴퓨터가 이해할 수 있지만 실행될 수는 없다. 링커를 통해 실행파일로 변환할때 실제 메모리 주소를 코드에 반영하는 과정이 필요하다.

5. jvm interpreter
6. java 실행 과정

JVM 은 Bytecode 들을 C 언어에서와 같이 따로 Link 같은 결과를 거쳐 .exe 확장자를 가진 '실행 프로그램'과 같은 '결과 프로그램'을 만들지 않고, Bytecode 프로그램에 있는 코드 그대로 한 줄, 한 줄 씩 읽어서 Interpret 방법으로 프로그램을 직접 바로 실행한다.

profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글