Qna. equals와 hashcode 메서드를 사용하는 이유객체의 동등성 비교와 해시 기반 자료구조에서 일관된 동작을 보장하기 위해 equals와 hashcode 메서드를 사용한다. 객체의 동등성 (Equaility)1. 물리적 동일성== 연산자를 사용하여 두 객체의 메모리 주소(참조값)가 같은지 비교합니다.String a = "hello";String b = "hello";System.out.println(a == b); // true (String Pool 덕분)String c = new String("hello");System.out.println(a == c); // false (다른 객체) 2. 논리적 동일성equals 메서드를 오버라이딩하여 객체의 내부 상태(멤버 변수)를 비교할 수 있습니다..
목표Java Stream API의 map()와 flatMap() 메서드의 차이 이해하기 StreamStream이란데이터의 연속적인 흐름을 다루는 API로 Java 8부터 도입된 API이다.주로, 컬렉션이나 배열과 같은 데이터 소스를 처리하는 데 사용한다.Stream으로 처리하는 경우 정렬, 필터링 연산도 함께 처리할 수 있다. Map & FlatMapboth have intermediate stream operation and return another stream as method output.Both of the functions map() and flatMap are used for transformation and mapping operations.map() function produces one..
JDK 21부터 기존 플랫폼 스레드의 단점을 보완하고, 동시 처리량을 높이기 위해 가상 스레드가 도입됐다.Thread 종류커널 수준 스레드 (Kernel-Level Threads)스레드의 생성, 스케줄링 및 관리를 직접 OS 커널이 담당합니다.커널 수준 스레드는 자원 관리 및 멀티 프로세싱 환경에서의 스케줄링 측면에서 장점이 있으나, 스레드 생성 및 컨텍스트 스위칭에 높은 오버헤드가 있을 수 있습니다. 사용자 수준 스레드 (User-Level Threads)사용자 영역의 라이브러리나 애플리케이션에 의해 관리되는 스레드입니다.운영체제(OS) 커널이 아닌 사용자 공간(User Space)에서 관리되는 스레드로, OS의 개입 없이 라이브러리나 런타임이 직접 스레드를 생성하고 관리합니다.운영 체제의 커널로부터 ..