본문 바로가기
Java

Java의 특성과 동작원리(with JVM)

by 가영리 2022. 5. 12.
728x90

 

내가 자바 공부를 처음부터 다시 시작하는 이유

 

 나는 자바를 학교에서 객체지향 프로그래밍 수업을 들으면서 배운 게 전부였다. 하지만 수업을 제대로 듣지 않아서 되게 중간중간 연결 고리가 끊어진 느낌이 많이 들었다. 백엔드 개발자가 되겠다고 스프링 공부에 뛰어들게 됐는데 스프링을 공부하면서도 자바의 기초적인 문법조차 몰라서 헤매는 내 모습을 보면서 스프링 공부 이전에 자바 공부를 다시 해야겠다는 생각을 하게 됐다. 그래서 나는 부스트 코스의 쉽게 배우는 자바로 공부하기로 했다.

 

https://www.boostcourse.org/cs126/joinLectures/51565

 

쉽게 배우는 자바1

부스트코스 무료 강의

www.boostcourse.org

 

 

 

 

수업 소개 마지막에 생각해보기 질문으로 
'한번 작성하면 어디서든 실행된다'는 특성은 어떤 의미일까요? 그리고 그것이 주는 이점은 무엇일까요?
라는 질문이 주어졌다.

 

질문을 읽고 나는 한 번도 자바의 특성과 장점에 대해 고민해 본 적이 없어서 선뜻 대답이 나오지 않았다. 그래서 내가 의견을 남기기 보다는 다른 사람들의 댓글을 읽어보기로 했다. 사람들이 적은 댓글들을 보면서 아~라는 감탄사가 절로 나왔다. 그동안 내가 학교를 다니면서 정말 열심히 하지 않았구나라고 반성하는 시간이 됐다.

 

 

댓글들을 읽다 보니 JVM이라는 단어가 자주 나왔다.

 

 

JVM이란 무엇인가?

 

Java Virtual Machine의 줄임말로 쉽게 말하자면 Java 파일을 실행하기 위한 가상 컴퓨터라고 생각하면 된다. 그렇다면 '한 번 작성하면 어디서든 실행된다'와 JVM은 무슨 관련이 있는 것일까?

Java는 OS(운영체제)에 종속적이지 않다는 특징을 갖고 있다. 이 말은 곧 Java 파일은 windows, Mac OS, linux 등 운영체제의 종류에 영향을 받지 않고 실행된다는 뜻이다. Java가 이러한 특징을 가질 수 있었던 것은 바로 JVM이 있었기 때문이다.

 

 

Java Compiler가 JVM이 인식할 수 있도록 .java 파일을 .class 파일로 변환하고, JVM이 OS가 이해할 수 있도록 해석해 주는 역할을 하게 된다. 이렇게 JVM만 있으면 Java 파일은 어느 OS에서도 실행이 가능하다.

 

JVM에 대해 더 자세히 알고 싶다면 아래 블로그 글과 강의를 보는 것을 추천한다.

 

https://doozi0316.tistory.com/entry/1%EC%A3%BC%EC%B0%A8-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

 

[JAVA] JVM이란? 개념 및 구조 (JDK, JRE, JIT, 가비지 콜렉터...)

JVM이란 무엇인가 Java Virtual Machine의 줄임말. 직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다. Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되

doozi0316.tistory.com

https://www.boostcourse.org/cs126/lecture/141706/?isDesc=false

 

쉽게 배우는 자바1

부스트코스 무료 강의

www.boostcourse.org