JVM은 무엇을 하는가 Notes Java를 공부하다 보면 JDK, JRE, JVM이라는 용어를 자주 보게 된다. 이 중 JVM은 가장 많이 언급되지만, 정작 역할을 한 문장으로 설명하려 하면 막막해지기 쉽다. JVM은 단순히 “Java 프로그램을 실행하는 가상 머신”이 아니다. 더 정확히 말하면, 바이트코드를 실행하고 메모리 관리, 클래스 로딩, 가비지 컬렉션, JIT 컴파일 같은... 2024/09/07 Notes, Java
Statement와 PreparedStatement는 무엇이 다른가 Notes JDBC를 처음 다룰 때 Statement와 PreparedStatement는 둘 다 SQL을 실행하는 도구처럼 보인다. 하지만 실제로는 사용 목적과 안전성, 성능 특성이 꽤 다르다. 실무에서는 특별한 이유가 없다면 대부분 PreparedStatement를 기본값으로 보는 편이 맞다. 가장 큰 차이: SQL을 어떻게 전달하느냐 Statement는 ... 2024/09/07 Notes, Java
Closure Notes Closure 클로저는 어떤 함수가 주변 상태(렉시컬 환경)에 대한 참조와 함께 번들로 묶인(포함된) 함수의 조합이다. 즉, 클로저를 사용하면 내부함수에서 외부함수의 범위에 접근할 수 있다. 자바 스크립트에서는 함수가 생성될 때 마다 클로저가 생성된다. 클로저(closure)는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을... 2024/09/07
Exception Handling Notes Exception Handling Exception Handling in Java Exception Hierarchy Checked Exception 이는 메서드의 throws 절에서 선언해야 하는 예외입니다. 그것들은 예외를 확장하고 “직접 보는” 유형의 예외가 되도록 의도되었습니다. Java는 어떻게든 프로그램 외부의 외부 요인에 의존하기 때... 2024/09/07
G1gc Zgc Notes Choosing the Best Garbage Collector: G1GC vs ZGC Garbage Collector Garbage Collector는 애플리케이션의 메모리 관리를 자동으로 관리한다. 여기서 일어나는 일은 애플리케이션의 힙 사용량을 분석하여 모든 활성 개체와 모든 죽은 개체를 찾는 것이다. 삭제 후보가 발견되면 실제 삭제가 수행되... 2024/09/07
Garbage Collection Notes Gabage Collection(GC) 가비지 콜렉션은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 그렇다면 필요없게 된이라는 기준은 어떻게 결정할까? 그리고 어떻게 탐지할까? 가비지 콜렉션은 자바 환경(JVM)의 가장 큰 특징 중에 하나인데, 비판하는 입장에서는 언어 주순... 2024/09/07
Garbage Collectors Notes Garbage Collectors 자바 애플리케이션은 메모리를 할당하고 해제하는데 있어서 가비지 콜렉션(GC)의 알고리즘에 상당히 의존하고 있다. 올바른 GC 알고리즘의 선택은 명백하게 애플리케이션의 성능에 영향을 준다. 따라서 GC의 종류인 G1GC와 ZGC도 상황이나 환경에 따라서 서로 다른 성능향상을 보일 수 있으며 트레이드 오프가 있다. T... 2024/09/07
Higher Order Function Notes Higher-order Function 고차함수(higer-order function)는 함수를 아규먼트로 전달받거나 함수를 결과로 반환하는 함수를 말한다. 고차함수는 아규먼트로 받은 함수를 필요한 시점에 호출하거나 클로저를 생성하여 반환한다. 자바스크립트의 함수는 일급 객체이므로 값처럼 아규먼트로 전달할 수 있으면 반환할 수도 있다. Refere... 2024/09/07