Java6 [Java] List.of를 사용한 초기화 UnsupportedOperationExceptionJava에서 `List.of()`는 불변 리스트(Immutable List)를 생성합니다. 일반적으로 불변 리스트에 요소를 추가하려고 하면 `UnsupportedOperationException`이 발생합니다 예를 들어, 아래 코드는 예외를 발생시킵니다.List list = List.of(0);list.add(1); // UnsupportedOperationException 발생! List.of()를 사용한 초기화그러나 다음 코드에서는 List.of()로 생성한 불변 리스트를 초기값으로 설정함에도 불구하고 정상적으로 작동합니다.PriorityQueue pq = new PriorityQueue(List.of(0));pq.add(1); // 정상 작동.. 2025. 2. 9. [Java] Java에서의 Thread와 Thread Pool 1️⃣ 스레드(Thread)스레드는 프로그램 내에서 실행되는 하나의 작업 단위✅ 스레드의 특징CPU의 기본 실행 단위 (프로세스 안에서 개별적으로 실행됨)각 스레드는 독립 실행 (하나의 스레드가 멈춰도 다른 스레드는 계속 실행됨)멀티 스레드를 사용하면 프로그램이 여러 작업을 동시에 실행 가능단일 스레드 작업(Single Thread)package pl.java.thread;public class SingleThreadSample { public static void main(String[] args) { System.out.println("작업 1 시작"); try { Thread.sleep(3000); } catch (InterruptedException _) {} .. 2025. 2. 8. [Java] Java switch의 문자열 비교, 내부 원리와 성능 분석 목차switch에서 문자열을 비교하는 방법switch의 내부 동작 원리switch vs if-elseswitch 사용 시 주의사항Java 7부터는 switch문에서 문자열(String)을 비교할 수 있습니다. 기존의 if-else에서 equals()를 사용하는 방식보다 더욱 깔끔하게 문자열을 비교할 수 있습니다.이번 글에서는 switch에서 문자열 비교 시, 내부적으로 어떻게 동작하는지 자세히 알아보겠습니다.switch에서 문자열을 비교하는 방법Java 7 이후에는 정수나 열거형 뿐 아니라 문자열도 switch문의 조건으로 사용할 수 있습니다. 이는 switch의 값과 case의 문자열을 String.equals 를 사용한 것처럼 비교하기 때문입니다.The switch statement compares .. 2025. 2. 5. [Java] Java의 Collection Framework에 대해 Collection FrameworkJava Collection Framework는 데이터를 효율적으로 관리하고 조작하기 위한 표준화된 자료구조와 알고리즘의 집합입니다. 이를 통해 개발자는 복잡한 자료구조를 직접 구현할 필요 없이 최적화된 구현체를 사용하여 애플리케이션의 생산성과 유지 보수성을 높일 수 있습니다. Collections Framework OverviewCollections Framework Overview Introduction The Java platform includes a collections framework. A collection is an object that represents a group of objects (such as the classic Vector class)... 2024. 11. 21. [Java] Double.MIN_VALUE는 음수가 아니다. Java의 Double.MIN_VALUE는 종종 오해를 불러일으키는 상수입니다. 이름만 보면 "가장 작은 값"이라는 의미로 해석되어, 음수를 떠올리기 쉽습니다. 하지만 Double.MIN_VALUE는 음수가 아니며, 오히려 0에 가까운 양수입니다. 이를 이해하기 위해 해당 상수의 의미와 사용하는 맥락을 살펴보겠습니다. 1. Double.MIN_VALUE 란?Double.MIN_VALUE는 Java에서 double 타입이 표현할 수 있는 가장 작은 양의 값을 의미합니다. 이는 IEEE 754 표준에 따라 정의된 부동소수점 방식에서 정규화된 가장 작은 값입니다.public class DoubleExample { public static void main(String[] args) { Sys.. 2024. 11. 20. [Java] 문자열 + 연산과 StringBuilder 비교 Java에서 문자열 결합 시 많이 사용하는 + 연산은 직관적이고 간단하지만, 성능 측면에서 적절하지 않은 경우가 있습니다. 이번 글에서는 문자열 결합의 효율적인 방법과 이유에 대해 설명하겠습니다.Java에서의 + 연산Java의 String은 immutable(불변)한 객체입니다. 따라서 String 간의 + 연산은 기존 객체를 수정하지 않고, 새로운 String 객체를 생성하게 됩니다. 이는 다음과 같은 코드에서 성능 문제가 발생할 수 있습니다.// 비효율적인 코드 예시String res = "";for (int i = 0; i 위 코드는 for 문이 실행될 때마다 새로운 String 객체를 생성하여 성능 저하를 유발합니다. + 연산이 효율적인 경우단일 라인의 +연산에서는 Java 컴파일러가 내부적으.. 2024. 11. 9. 이전 1 다음