전체 글

· JAVA/일반
개요 Java개발을 처음 시작하는 분들이 항상 헷갈리는 부분이 있습니다. JVM, JIT, JNI, JRE, JDK... J로 시작하는 3글자 단어들이 왜 이렇게 많은지. 오늘은 J로 시작하는 3글자 단어들 중 JVM, JIT, JRE, JDK에 대해 간단하게 알아보겠습니다. JVM(Java Virtual Machine) JVM은 Java를 실행하기 위한 가상 환경입니다. JAVA이전의 세상을 잠깐 보겠습니다. 어셈블리, C와 같은 로우 레벨 언어들이 세상을 지배하던 시절에는 개발환경이 정말 큰 변수였습니다. 세상에 나오는 수많은 HW들이 사용하는 명령어 집합이 모두 다르고, OS마다 라이브러리가 다르고... HW를 하나 바꿀 때마다 코드 수정을 하고, OS를 바꿀 떄마다 수정을 하고, 다시 만들고.....
· JAVA/GC
개요 C언어와 달리, JAVA에서는 메모리를 직접 건드릴 이유가 없습니다. JAVA의 Garbage Collector가 메모리 관리를 하기 때문입니다. 다만, 메모리 주소를 사용하지 않는 것은 아닙니다. public class ReferencePrint { public static void main(String[] args) { String test = "HELLO"; System.out.println(test.hashCode()); } } 위의 코드를 실행해보면 String객체의 해싱된 주소값을 가져올 수 있습니다. 이 값은 실제 메모리 주소가 아닙니다. JAVA에서 객체의 주소는 GC가 직접 관리하고, 해당 값을 바로 출력하지 못하도록 유도하고 있습니다. 이렇게 GC는 객체가 메모리에 실리는 순간부터..
· 잡담
반갑습니다. 개발하면서 생긴 궁금증들을 정리하는 블로그입니다.
낭만주의 개발자
낭만주의자