백기선님이 진행했던 기초 자바 스터디를 주도적으로 공부하고 싶어 혼자 정리하며 스터디를 시작하게 되었다. https://youtu.be/peEXNN-oob4?si=tskSvEAXYDHaM2pG
학습한 것
- JVM이란
자바로 작성된 코드를 (.class 확장자를 가진 바이트코드) 실행할 수 있도록 하는 소프트웨어이다. - JVM 구성 요소
- 위 이미지 참고
- 컴파일 하는 방법
javac 라는 컴파일러 도구를 사용한다. (예: java HelloWord.java) - 제공되는 옵션 중 몇가지를 꼽아보았다.
- bootclasspath (bootstrap 클래스 파일의 위치를 재정의)
- processorpath (annotation processors 위치 설정)
- target (하위호완성을 위해 vm 버전을 설정)
- 실행하는 방법
java 라는 실행 도구를 사용한다. (예: java HelloWord)
제공되는 옵션 중 몇가지를 꼽아보았다.
- classpath (디렉토리 및 클래스 파일 경로)
- agentpath (에이전트 라이브러리 경로로써, 다른 언어로 작성된 환경(?)을 구성하는 것이 아닐까 추측해본다.)
- javaagent (자바언어 에이전트 경로)
- 바이트코드란 무엇인가
JVM이 이해할 수 있는 JAVAC 컴파일러로 변환된 1 byte 단위로 이루어진 코드이다. - JIT 컴파일러란 무엇이며 어떻게 동작하는지
많이 호출되는 바이트 코드 영역을 JVM 의 인터프리터를 거치지 않고 바로 실행하는 최적화된 컴파일러이다. - JDK란
JAVA 언어를 개발할 수 있는 도구를 제공하는 소프트웨어이다. javac 컴파일러 등이 포함되어 있다. - JRE란
JAVA 언어로 개발된 프로그램을 실행할 수 있는 소프트웨이다. - JDK와 JRE의 차이
javac와 같은 개발도구의 포함 유무이다.
참고 문서
https://www.ibm.com/blog/jvm-vs-jre-vs-jdk/
https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html
'Development > Java' 카테고리의 다른 글
[white ship - 라이브 스터디] [2주차] 자바 데이터 타입, 변수 그리고 배열 (0) | 2024.01.06 |
---|---|
HTTP 웹 서버 구현을 통해 HTTP 이해하기 3 - util 테스트 케이스 추가하기 (0) | 2024.01.06 |
HTTP 웹 서버 구현을 통해 HTTP 이해하기 2 - 구현 내용 수정하기 (0) | 2024.01.05 |
The try-with-resources Statement (1) | 2024.01.05 |
HTTP 웹 서버 구현을 통해 HTTP 이해하기 1 - 요구사항 구현 (2) | 2024.01.04 |