코딩노잼
[JAVA] 인텔리제이 ▷ (Run)을 누르면 생기는 일 본문
인텔리제이에서 ▷ (Run) 을 누르면 얘는 자바파일을 빌드하고, 실행한다.
빌드는 컴파일과 컴파일 외의 잡다한 과정으로 나뉜다
컴파일은 컴파일러가 해준다
어떤 컴파일러를 쓸지는 인텔리제이에서 설정할 수 있다 (나는 javac으로 되어있군 이클립스에서는 자체 컴파일러를 쓴다 참고로 javac은 자박 이 아니라 자바씨 라고 읽는다고 한다)
컴파일을 하면 자바파일은 기계어로 번역된다
사실 기계어가 아니라 바이트코드이다...
기계어는 이진코드 (0, 1)로 되어있지만 모든 이진코드가 기계어는 아니기 때문에(?)
정확하게는 알지 못하지만, 특정회사 특정버전 cpu가 이해하고 실행할수 있는 것이 기계어이고, (.exe 파일등)
컴터가 이해할수있는 것이 이진코드이다(?) .o 파일도 이진코드이다
잘 모르겠다 대충 그러려니한다
바이트코드란것은, 가상머신이 이해할수 있는 언어이다. 자바파일은 .class 바이트코드로 바뀌고 얘를 JVM 이 이해할수 있다는 것 같다.
JVM은.. 가상머신인데 음 나는 대충 자바런타임 (실행환경) 이라고 이해하고있다
뭔가 os에서 할당받아서.. 코드 스택 힙 데이터 영역이 있지 않을까(?)
Gradle이 또 잡다한것을 해주는데.. (얘는 자바 빌드 툴이다) 아 진짜 모르겠다
암튼 ▷ (Run) 얘는좋은놈이다
'CS' 카테고리의 다른 글
[JAVA] 자바의 final에 대하여 (0) | 2021.06.18 |
---|---|
1년째 헷갈리는 포인터배열 vs 배열포인터 (0) | 2021.01.20 |
메모리 영역 (0) | 2021.01.15 |