JVM을 공부하기위해 관련된 영상(https://www.youtube.com/watch?v=AWXPnMDZ9I0)을 보던 도중 들어가자마자 소스코드를 바이트코드로 변환하는 부분부터 막혔다.
소스코드가 뭐지? 바이트 코드가 뭐지?
관련해서 검색해봤다.
바이너리 코드로 검색을 해보면서 감을 잡을 수 있었는데 소스코드는 기존에 우리가 JAVA등으로 작성한 고급 언어임을 알 수 있었고 바이트 코드는 작성한 언어를 JVM에서 실행하기 위해 가상머신이 이해하고 실행할 수 있는 0과 1로 구성된 코드를 말했다(관련 출처: https://woojoong2.tistory.com/81)
바이트 코드를 검색하다가 추가적으로 비슷한 바이너리 코드 라는 녀석이 존재했는데 얘도 똑같이 컴퓨터가 이해하고 실행할 수 있는 0과 1로 구성된 코드였다. 이게 그럼 무슨차이지? 왜 나눠났지? 이름은 왜 다르지?
위 블로그 글을 조금더 살펴본 결과 알 수 있었는데 우선 바이너리 코드는 C언어에서 프로그램을 실행하기 위해 사용되었던 코드였다. C언어는 실행이 빠른대신 환경에 종속적이라는 단점이 존재하는 언어였다.
환경에 종속적이라는 문제를 해결하기 위해 자바는 JVM을 도입했다.
참고한 블로그 글(https://woojoong2.tistory.com/81)을 토대로 한번 더 정리를 해보자면
바이트코드는 가상머신에서 이해하고 실행할 수 있는 0과 1로 구성된 코드이며, 환경에 종속되지않고 실행 할 수 있는 가상머신용 기계어 코드다.
바이너리 코드는 컴퓨터가 인식할 수 있고 이해할 수 있는 이진숫자 체계의 0과 1로 구성된 코드를 의미한다.
'공부 > TIL' 카테고리의 다른 글
정처기 - 2 (0) | 2023.07.06 |
---|---|
정처기 정리 (0) | 2023.07.05 |
오늘 한것들 (1) | 2023.05.12 |
EC2 인스턴스 연결을 위해 Private Key에 chmod 400을 했음에도 불구하고 UNPROTECTED PRIVATE KEY FILE가 발생하는 경우 (0) | 2023.04.23 |
Origin과 site (0) | 2023.03.14 |