Java 는 VM(Virtual Machine) 이 존재하는데 .Net 도 비슷한 원리로 돌아가지 않나 싶어서 궁금해서 알아낸 사실은, .Net 에는 VM 이 없다. Java : 소스코드 컴파일 -> 바이트코드 실행 -> VM위에서 인터프리터로 동작 .Net : 소스코드 컴파일 -> IL (Intermediate Language, 바이트코드와 비슷한 중간코드) 실행 -> CLR(Common Language Runtime) 이 JIT(Just-in-time) 컴파일하여 네이티브한 기계코드가 메모리에 상주하여 동작 (사실상 전통적인 방식의 코드가 실행되는 것과 차이가 없다) 그렇다면 .Net 은 최종적으로 네이티브 코드가 실행되는 것과 차이가 없긴 하지만, 실행될 때마다 실시간으로 JIT 컴파일해서 메모리에..