
DB에서 조회한 값을 String으로 변환하는 과정에서 오류가 발생했다. 검색 결과 null 값을 toString()을 통해 변환할 경우 Null PointerException(NPE)이 발생한다. toString() 대상 값이 null이면 NPE를 발생시키고, Obj

서블릿(Servlet) 이란? 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종 클라이언트의 요청에 맞춰 동적인 결과를 만들어 주는 자바 웹 프로그래밍 기술 서블릿은 WAS(Web Application Server)의 서블릿 컨테이너 안에서 동작하며 , 요

session id가 동일한 경우 webClientList에서 값을 제거하는 코드인데 ,webClientList를 순회하면서 동시에 해당 요소를 제거하려고 하기 때문에 예외가 발생했다.해당 예외를 피하기 위해서는 순회 중인 컬렉션에서 직접 요소를 제거하는 대신, &l

필수 매개변수와 함께 선택 매개변수를 0개, 1개, 2개 .. 받는 형태다양한 매개변수를 입력받아 인스턴스를 생성하고 싶을때 사용하던 생성자를 오버로딩 하는 방식단점사용자가 설정하길 원치 않는 매개변수까지 값을 지정해야 한다.매개변수 조합에 따라 생성자 수가 많아질 수

Map 인터페이스를 구현한 대표적인 Map 컬렉션Map은 키(key)와 값(value)으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조값은 중복 저장될 수 있지만 키는 중복 저장될 수 없다기존에 저장된 키와 동일한 키로 값을 저장하면, 기존 값은 없어지

Thread와 Runnable을 이용한 Thread 생성 자바로 스레드를 생성할 경우, 아주 기본적으로는 Thread 클래스와 Runnable 함수형 인터페이스를 구현해 Thread를 생성한다. Thread와 Runnable의 한계점 지나치게 저수준의 API(쓰레

타임존? 타임존은 동일한 로컬 시간을 따르는 지역을 의미한다. 보통 국가별로 고유 타임존을 사용하며, 면적이 넓은 나라는 지역별로 다른 타임존을 사용한다. 시스템 또는 플랫폼 간의 의사소통 방식으로서의 API가 대중화되고 서비스 지역이 전세계로 확장되면서 API 요청

날짜와 시간을 초단위(정확히는 나노초)로 표현한다.타임스탬프(time-stamp)날짜와 시간을 초단위로 표현한 값날짜와 시간을 하나의 정수로 표현할 수 있으므로 날짜와 시간의 차이를 계산하거나 순서를 비교하는데 유리해서 데이터베이스에 많이 사용된다.Instant는 항상

날짜와 시간을 초단위(정확히는 나노초)로 표현한다.타임스탬프(time-stamp)날짜와 시간을 초단위로 표현한 값날짜와 시간을 하나의 정수로 표현할 수 있으므로 날짜와 시간의 차이를 계산하거나 순서를 비교하는데 유리해서 데이터베이스에 많이 사용된다.Instant는 항상

기본형 타입 (Primitive Type) 논리형 (boolean), 문자형 (char), 정수형 (byte, short, int, long) 실수형 (float, double) 으로 나뉜다. 기본형 타입의 특징 비객체 타입이므로 null 값을 가질 수 없

Static 영역 (Method 영역)Class는 Static 영역에 생성된다.Heap 영역new 연산을 통해 생성한 객체는 Heap영역에 생성된다.Garbage Collector가 Heap 영역 메모리를 관리한다.Static 영역에 존재하므로 객체가 생성되기 이전에

이미지 출처 : \[Java Study] - 멀티 쓰레드(쓰레드 생성과 실행)싱글 코어에서 멀티 스레드를 동작시키기 위한 방식으로, 멀티 태스킹을 위해 여러 개의 스레드가 번갈아가면서 실행되는 성질멀티 태스킹을 위해, 멀티 코어에서 개별 스레드를 동시에 실행하는 성질

java.lang 패키지에 속한 클래스로, 수학에서 자주 사용되는 상수와 함수들이 구현되어있는 클래스static Method 이므로, 객체를 생성하지 않고도 바로 구현할 수 있다.random(랜덤 뽑기), abs(절대값), min(최소), max(최대), ceil(올림

데이터를 집어넣을 수 있는 선형 (linear) 자료형선입선출(First In First Out ,FIFO) 방식: 가장 먼저 들어온 데이터가 가장 먼저 리턴, 출력됨양방향 입구로 한쪽에서는 데이터의 입력만이 이루어지고 다른 쪽에서는 데이터의 출력만이 이루어짐삽입 연산

Iterator 인터페이스 자바의 컬렉션(Collection)에 저장되어 있는 요소들을 순회하는 인터페이스 Collection 객체는 대표적으로 List, Set, map, Queue 등이 있다. Iterator 사용 이유 컬렉션에서 요소를 제어하기 위해서 S

래퍼 클래스 (Wrapper Class) 기본 타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들 기본타입을 객체 형태로 '포장'하는 것을 의미한다. (포장 객체) 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공된다. 별다른 패
Java 정렬 방법 Collections.sort() Arrays.sort()

추상화 (Abstraciton) 프로그래밍에서의 추상화는 클래스를 정의할 때 중요하고 공통된 부분만 추출하여 부모(Super) 클래스를 선정하는 개념 제어 추상화 어떤 클래스의 메소드를 사용하는 사용자에게 해당 메소드의 작동방식과 같은 내부 로직을 숨기는 것 ex

불변 객체(Immutable Object) 생성 후 그 상태를 바꿀 수 없는 객체 참조하고 있는 데이터를 변경할 수 없다. read-only 메서드만을 제공한다. 객체의 내부 상태를 제공하는 getter 등의 메서드를 제공하지 않는다. String 객체

클래스라는 (객체를 만들기 위한) 틀을 통해 만들어진 구체적인 객체 (실체)주로 객체가 메모리에 할당되어 실제로 생성되었음을 강조할 때 사용된다.ex) 🥐 붕어빵을 예시로 들면, 붕어빵 틀은 붕어빵을 만들기 위한 도구일 뿐 실제 붕어빵이 아니다. 붕

추상 클래스 & 추상 메서드 Java에서는 abstract 클래스명과 메서드명 옆에 붙임으로서 컴파일러에게 추상 클래스와 추상 메서드임을 알려준다. 추상 메서드 메서드의 선언부만 작성하고 구현부는 미완성인 채로 남겨둔 메소드 부모(추상) 클래스에서 메서드를 선

추상클래스와 인터페이스 공통점 하나 이상의 추상 메서드를 갖는다. 인스턴스화 할 수 없다. new 생성자를 사용할 수 없다. 추상 클래스 혹은 인터페이스를 상속받아 구현한 구현체의 인스턴스를 사용해야 한다. 인터페이스와 추상클래스를 구현, 상속한 클래스는 추상

java.util 패키지에서 제공하는 Enum 클래스와 함께 동작하는 구현체높은 성능Enumset의 모든 메서드는 산술 비트 연산자를 이용하여 구현된다.추가, 제거, 조회 등의 작업이 매우 빠르다.요소 타입 제한enum 값만 포함할 수 있고, 모든 값은 동일한 enum

HashSet과 마찬가지로 Set 컬렉션 중 하나이진 검색 트리(binary search tree)라는 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이진탐색트리 중에서도 성능을 향상시킨 레드-블랙 트리(Red-Black Tree)로 구현되어 있다.일반적인 Set보다

HashMap과 마찬가지로 Map 컬렉션 중 하나이진탐색트리의 문제점을 보완한 균형이진탐색 트리 중 하나인 레드-블랙 트리(Red-Black-Tree)로 구현되어 있다.일반 Map 보다 데이터 추가, 삭제에는 시간이 오래 걸리지만 정렬되어 저장된다는 점 때문에 조회가

객체의 생성을 담당하는 클래스 메서드객체를 생성할 때, 생성자를 사용하지 않고 정적 메서드(static method)를 사용한다.📢디자인 패턴의 팩토리 메서드와는 다른 것이며, 디자인 패턴 중에는 정적 팩토리 메서드와 일치하는 것은 존재하지 않는다.Flower 클래스

Stream 이란? Java 8부터 추가된 기능으로, 컬렉션과 배열과 같은 데이터 소스에서 요소를 처리하고 다양한 연산을 수행할 수 있는 API 함수형 프로그래밍의 개념을 기반으로 만들어졌기 때문에 람다식과 함께 사용할 수 있다. 생성, 중간 연산, 최종 연산으로

정수형 vs 실수형 Java 에서 숫자를 표현하기 위해 사용하는 데이터 타입은 크게 '정수형 데이터 타입'과 '실수형 데이터 타입'으로 나뉜다. 정수형 데이터 타입(Integer Types) byte short int long 실수형 데이터 타입 혹은

중복 제거 실패..! 💣 Stream..distinct() 메서드를 이용하면 중복된 값을 제거해준다고 하는데 , mallSeq, mallName, mallAccountId가 중복된 데이터들이 리스트에 보여져서 해결 방안 찾기 시작... 🖥️ Stream.dis

출처 [Java] ArrayList 조건 삭제 'removeIf'

dddd Java에서 enum 값을 순회(iterate)하려면 values() 메서드를 사용하면 됩니다. RequestReasonType.values()는 해당 enum의 모든 인스턴스를 배열로 반환합니다. 예제 코드는 다음과 같습니다: 이 코드는 각 Reques

커스텀 어노테테이션 생성 방법 @interface 키워드를 사용 메소드에 적용 및 런타임에 사용하기 위해 Retention과 Target을 선언한다. > ✏️ 어노테이션은 주로 프로그래밍 언어에서 특정 기능이나 동작을 정의하거나 설명하는데 사용되는 메타데이터를 의미

List에서 List를 추출하는 방법들을 보여드리겠습니다. 1. Stream을 사용한 방법 (권장) 2. 전통적인 for문 방법 3. 특정 조건으로 필터링하면서 추출 4. 첫 번째 DTO의 리스트만 가져오기 실제 사용 예시 가장 일반적으로는 1번 Stre

package com.devlab.www.common.dao.dataSourceDefault.model.result; import java.math.BigDecimal; import java.util.List; import lombok.Data; @Data pub