Garbage Collector Java를 다뤄봤다면 한 번쯤 들어봤을 법한 언어 GC 이것은 대체 무엇일까? Heap 메모리에 위치한 unreachable한 객체를 삭제시켜주는 것 더 이상 사용하지 않는 객체를 의미한다. 객체가 null인 경우 객체가 블럭 안에서 생성되고 블럭이 종료 되었을 경우 부모 객체가 null이 되었을 경우, 자식 또는 포함된 객체들 C, C++ 등의 코드 레벨에서는 메모리를 직접 할당받고, 헤제해야 지만 //C++ char *s = malloc(sizeof(char)*10); s = "Hello GC!"; printf("%s", s); free(s) // 그래서 Java8과 Java11의 큰 차이점 중 GC 개선(Paralle -> G1)으로 인한 성능 향상이라고 합니다 왜 ..
jvm
[JAVA 1강] 컴파일 및 Call By ____ 사전 지식 자바는 OS에 독립적인 특징을 가지고 있다. JVM이라는 가상머신 때문! 어떤 이유에서 독립적인지 컴파일 과정을 통해 알아보자 JVM 목적 자바 프로그램이 어느 기기나 운영체제 상에서도 실행 될 수 있도록 하는 것 프로그램 메모리를 관리하고 최적화 하는 것 컴파일 순서 자바의 구동 : OS위에 JVM이 실행된다. 개발자(사용자)가 .JAVA코드 작성 컴파일러가 .JAVA 소스파일을 컴파일 => .class 파일(byte code)로 변환된다. 모든 application의 시작지점은 main() .class파일을 클래스 로더가 JVM에게 전달 클래스 로더는 동적로딩(Dynamic Loading)을 통해 필요한 클래스들 로딩 및 링크 하여 런타임..