목록자바 (2)
개발일기

가비지 컬렉션(Garbage Collection, 이하 GC)은 자바의 메모리 관리 방법중 하나다. JVM의 Heap영역에서 동적으로 할당했던 메모리 중 필요 없게 된 메모리 객체를 (garbage) 모아 주기적으로 제거하는 프로세스를 말한다. 기존 C언어에서는 프로그래머가 직접 메모리를 할당하고 해제 해주어야 했다. Java는 가비지 컬렉터가 메모리를 관리 및 대행해준다. 덕분에 개발자는 메모리 누수 (Memory Leak)문제에 대해 관리하지 않고 오롯이 개발에만 집중을 할 수 있다는 장점이 있다. 자바에서도 System.gc(), Runtime.getRuntime().gc()를 이용해 호출 할 수 있다. 다만 해당 메소드 호출은 시스템에 엄청난 영향을 미치기에 호출해서는 안된다. 또한 해당 메서드..
자바 14이전에는 불변필드 , 메서드를 클래스내에서 생성할 때, 혼란스러운 의도 그리고 사소한 실수에 취약한 클래스를 생성했다. 레코드는 자바 14에서 등장하였고 자바 16에서 정식기능으로 배포되었다. 사실 상 dto나 데이터 도메인을 사용할 때, 클래스 자체가 처음 값을 할당한다면 불변객체이어야 하는 경우가 많다. 예를 들어서, 회원가입 시에, 프론트엔드에서 데이터를 요청을 통해서 받았을 때, 값이 바뀌는 경우는 없을 것이다. 이러한 경우를 위해서 Record를 만들었다. public class Person { private final String name; private final String address; public Person(String name, String addres..