개발 낙서장

[TIL] 내일배움캠프 6일차 - 자바 - 본문

카테고리 없음

[TIL] 내일배움캠프 6일차 - 자바 -

권승준 2023. 12. 29. 19:57

 

 

오늘의 학습 키워드📚

JVM

  • JVM이란? Java Virtual Machine의 약자로 자바 가상 머신이라는 뜻을 갖고 있다.
    Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는 것이다.

보통 프로그래밍 언어로 코딩을 하고 컴파일해서 각 기기에서 실행을 하는데 리눅스, 윈도우, 맥 등 환경이 전부 다르기 때문에 각각 환경에 맞게 세팅이 필요하다.
하지만 JVM은 어느 환경에서도 코드가 실행될 수 있게 해준다.

  • 바이트 코드 : 작성한 코드가 Java 컴파일러에 의해 변환된 운영체제가 읽을 수 있는 코드이다.
  • 인터프리터 : Java .class 코드 해석기로 운영체제가 읽은 바이트코드를 기계가 실행할 수 있는 기계어로 번역해준다.
  • JIT 컴파일러 : 인터프리터의 효율을 높여주는 서포터 해석기이다.
  • 메모리 영역 : 운영체제로부터 JVM이 할당 받은 메모리 영역으로 데이터를 저장하는 영역이다.
  • 클래스 로더 : 바이트 코드를 메모리에 저장해준다.
  • 가비지 컬렉터(GC) : 메모리 영역에서 안 쓰는 데이터를 주기적으로 정리해준다.

JVM에서 프로그램이 동작하는 과정

JRE

  • JRE란? Java Runtime Environment의 약자로 자바 실행 환경이다.
  • JRE만 있으면 프로그램을 실행만 할 수 있다.(.class 파일만 실행 가능)
  • JDK가 javac 명령을 통해 .java 파일을 실행 가능한 .class 파일로 변환해준다.

JDK

  • JDK란? Java Development Kit의 약자로 자바 개발 키트이다.
  • JDK는 JRE의 기능을 포함할 뿐만 아니라 자바 컴파일러(.java → .class) 기능도 있다. 또한 코드를 디버깅하는 jdb 등의 기능이 있다.

오늘의 회고💬

기초를 되새기는 시간이었어서 좋았다.
변수나 박싱, 언박싱, 참조형 등 기초적인 부분은 알고 있었지만 자바의 구조에 대해서는 잘 몰랐기에 나중에 한 번 더 참고해야겠다.

오늘은 유독 집중이 잘 안 되는 날이었지만 그래도 이제 본격적으로 자바를 시작했으니 다음엔 더 열심히 해야겠다.

 

내일의 계획📜

이제 1년이 마무리돼간다.... 나름 다사다난했고 잘 안 풀리는 날이 더 많았던 것 같지만 거기서 배운 것도 많았고 나를 많이 되돌아보게 되는 해였던 것 같다.
새해까지는 올 한 해를 잘 마무리하는 시간을 갖고 내년 부터는 마음가짐을 다잡고 더 열심히 공부해야겠다💢
2~3일 안으로 자바 완강을 목표로!!

Comments