IT/JAVA

[JAVA / spring] JAVA 개발을 위한 기본 지식

토끼개발자 조르디 2023. 12. 21. 20:44

* 원래는 운영체제(OS) 마다 다른 '컴파일러'가 필요하지만, 자바는 JVM이 0과 1을 운영체제에 맞게 번역해준다. 

 

JDK > JRE > JVM

 

JVM ( Java Virtual Machine ) : 자바 가상 머신

똑같은 자바 바이트 코드를 운영체제 마다 다르게 해석

 

- OS마다 존재

- 바이너리 코드 읽고 검증하고 실행

 

JRE ( Java Runtime Environment ) : 자바 실행 환경

= JVM + 자바 프로그램 

실행에 필요한 라이브러리 파일 등

 

- JVM의 실행 환경을 구현 

- 실행을 위한 도구

 

JDK ( Java Development  Kit ) : 자바 개발 도구

= JRE + 개발을 위한 도구

 

- 컴파일러, 디버그 도구 등이 포함

- 개발을 위한 도구

 

 

https://youtu.be/f0cAmTYo4tQ?si=fPdO5lj67He1p6Ll

 

 


 

 

빌드 ( build )

 

- 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW 가공물로 변환시키는 과정

** 독립 SW 가공물 : artifact

 

1) 소스 코드 컴파일

2) 테스트 코드 컴파일

3) 테스트 코드 실행

4) 테스트 코드 리포트 작성

5) 기타 추가 설정 작업을 진행

6) 패키징을 수행

** 패키징

: JRE에 포함된다.

외부에서 사용하는 오픈소스들을 우리가 사용하는 코드와 하나로 묶음

-> 이걸 패키징 이라고 한다.

7) 최종 SW 결과물을 만들어 낸다

 

 

빌드툴 ( build tool )

 

1. 소스 코드의 빌드 과정을 자동으로 처리해주는 프로그램

2. 외부 소스 코드 (외부 라이브러리) 자동 추가, 관리

 

APACHE ANT

- 설정을 위해 xml 을 사용한다

- 간단하고 사용하기 쉬움

- 복잡한 처리를 하려고 하면 빌드 스크립트가 장황해져 관리가 어렵다

- 외부 라이브러리를 관리하는 구조가 없다

-> 2000년대 초중반....에 사용....

 

Maven 

- 설정을 위해 xml 을 사용한다

- 외부 라이브러리를 관리할 수 있다

- 장황한 빌드 스크립트 문제 해결

- 특정 경우에 xml이 복잡해진다

- xml 자체의 한계가 있다

-> 쓰는 경우가 있지만 신규 프젝에서는 지양....

 

Gradle

- 설정을 위해 groovy 언어를 사용한다 ( ** groovy : jvm 언어 )

- 외부 라이브러리를 관리할 수 있다

- 유연하게 빌드 스크립트를 작성할 수 있다

- 성능이 뛰어나다

-> 가장 최신에 나온 java 빌드툴

-> 신규 프젝에 많이 이용된다

 

 

https://youtu.be/L19wXSpv5cs

 

'IT > JAVA' 카테고리의 다른 글

[JAVA / spring] POST API 만들어보기  (0) 2023.12.28
[JAVA / spring] GET API 만들어보기  (0) 2023.12.28