Window Unix Mac Os는 서로 다른 시스템 체제를 보유하고 있었고 그에 따른 코드를 사용해야 했습니다. 개발자가 만든 소스코드를 Java Compiler 와 JVM으로 다른 체제에서 호환할수 있는 “자바”라는 기술이 만들어졌고, 많이 사람들이 자바를 사용하기 시작했습니다.
https://www.altexsoft.com/blog/engineering/pros-and-cons-of-java-programming
개발자가 소스코드를 작성하면 자바 컴파일러 (Java Complier) 가 바이트 코드.클라스로 변경해줍니다.
바이트 코드는 기계들이 사용하는 언어라고 생각하시면 됩니다.
변경된 코드 (클라스)는 JVM ( Java Virtual Machine ) 의 클라스 로더에 할당됩니다.
https://www.geeksforgeeks.org/how-many-types-of-memory-areas-are-allocated-by-jvm
클라스 로더에서는 DataArea로 메모리 할당을 합니다
Individual Thread
Shared Thread
Execution Engine, Native Method Interface, Native Method Libraries ⇒ 실행하는 부분. (공부 예정)
Thread 부분은 따로 올릴 예정.