Development Knowledge
-
JIT(Just-in-Time Compilation)Development Knowledge/JAVA 2020. 5. 12. 10:50
✅ 인터프리터 ◾ 프로그램을 실행할때 소스 코드를 한 줄씩 기계어로 번역해서 실행하는 프로그램 또는 환경을 말한다. ✅ 정적 컴파일 ◾ 프로그램을 실행하기 전에 모든 소스 코드를 기계어로 번역한다. ◾ 번역 과정이 번거롭고 오래 걸리지만, 한 번 컴파일하면 그 후에는 다시 번역하지 않아도 되므로 실행 속도가 빠르다. ✅ JIT 컴파일 ◾ 프로그램을 실행하는 시점에 기계어로 번역하는 컴파일 기법이다. ◾ 인터프리터 방식과 정적 컴파일 방식을 혼합한 방식이다. ◾ 프로그램을 실행을 하면서 인터프리터 방식으로 기계어 코드를 생성한다. 그 과정에서 기계어를 캐싱한다. ◾ 이후 캐싱된(이전에 이미 번역한적이 있던) 기계어를 사용한다. 이는 인터프리터의 느린 실행속도를 개선할 수 있다. ◾ JIT '컴파일러'보다는..
-
Java 기본 지식 (JVM, JRE, JDK, GC)Development Knowledge/JAVA 2020. 5. 8. 10:05
✅ Java ◾ 썬 마이크로시스템즈의 제임스 고슬링이 개발한 객체 지향 프로그래밍 언어이다. 웹과 모바일 앱 개발에 많이 사용된다. 문법적인 특성이 C 언어와 비슷하다. ◾ Java로 개발된 프로그램은 CPU나 운영체제의 종류에 상관없이, JVM을 설치할 수 있는 시스템 어디서나 실행될 수 있다. 즉, Java로 작성된 프로그램은 플랫폼 독립적이다. ◾ 프로그램은 본래 운영체제에 따라 구현 방법이 달라진다. 자바 프로그램은 JVM 위에서 실행되기 때문에 같은 코드의 프로그램으로 다양한 운영체제에서 실행될 수 있다. (하지만 운영체제에 따른 알맞은 JVM이 필요하다.) ✅ Java Compiler, Java Bytecode ? 📋 몇 가지 Java관련 용어를 살펴보자 ◾ 자바 소스파일 (*.java) - ..