Dev Repo Log
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (60)
      • DataBase (4)
        • MySQL (1)
      • Algorithm (14)
      • Project (3)
        • teamProject1 (3)
      • Programming Language (20)
        • Java (18)
        • JavaScript (1)
        • Kotlin (1)
      • Learning (16)
        • LLM (1)
        • Git (0)
        • TIL (8)
        • Design Pattern (2)
        • Servlet & JPA (5)
      • Software Development Tools (3)
        • IDE (3)
        • tools (0)
      • Others (0)
  • 홈
  • 태그
  • 방명록
Programming Language/Java

Exception handling

자바의 예외 처리 메커니즘은 견고하고 안정적인 프로그램을 개발하는 데 필수적인 요소입니다. 예외 처리는 프로그램 실행 중 발생할 수 있는 예상치 못한 문제(예외)를 효과적으로 대응하고, 프로그램이 비정상적으로 종료되는 것을 방지하며, 오류 상황을 깔끔하게 처리할 수 있도록 설계되었습니다. 본 문서에서는 자바 예외 처리의 기본 개념부터 심층 분석, 그리고 고급 활용 기법까지 상세히 살펴보겠습니다.    1. 예외 처리 기본 개념 1.1. 예외(Exception)란 무엇인가? 프로그램 실행 중 정상적인 흐름을 벗어나는 상황을 예외(Exception)라고 합니다. 예외는 다음과 같은 경우에 발생할 수 있습니다: 프로그래밍 오류: 잘못된 변수 사용, 배열 범위 초과, null 참조 등예상 가능한 문제: 파일 입..

2025. 3. 5. 13:27
Programming Language/Java

Optional (예제 주의)

자바 8부터 도입된 Optional  는 프로그래밍의 고질적인 문제점인 NullPointerException (NPE) 을 효과적으로 다루기 위해 설계된 강력한 도구입니다. 단순히 null  체크를 대체하는 것을 넘어, 코드의 안전성, 가독성, 그리고 유지보수성을 크게 향상시키는 데 기여합니다. 본 문서에서는 자바 Optional  의 모든 것을 심층적으로 분석하고, 실제 개발에서 더욱 효과적으로 활용할 수 있도록 심화 내용까지 상세하게 다룹니다. 1. Optional 이란 무엇인가? (개념 및 탄생 배경) Optional 은 "값이 있을 수도 있고 없을 수도 있는 컨테이너" 입니다. 쉽게 말해, 특정 객체를 담을 수도 있고, 비어있을 수도 있는 상자라고 생각하면 됩니다. 이 상자를 사용하는 이유는 바로..

2025. 3. 5. 13:26
Programming Language/Java

Stream 심화

1. 스트림의 내부 동작 원리 (1) 지연 평가(Lazy Evaluation)의 핵심 메커니즘 중간 연산의 실제 실행 시점: 최종 연산이 호출될 때까지 연산이 지연됨최적화 기회: 불필요한 계산 회피 (예: limit()과 filter() 조합)예시:List numbers = Arrays.asList(1, 2, 3, 4, 5);numbers.stream() .filter(n -> { System.out.println("Filtering " + n); return n % 2 == 0; }) .map(n -> { System.out.println("Mapping " + n); return n * 2; ..

2025. 3. 5. 12:54
Programming Language/Java

Stream

1. 스트림이란? 정의: 자바 8부터 도입된 컬렉션 데이터 처리 API로, 선언적 프로그래밍과 병렬 처리를 지원합니다.목적:복잡한 컬렉션 연산을 간결하고 가독성 있게 표현.병렬 실행을 통해 성능 최적화.기존 반복문(for, while)의 코드 중복 문제 해결.  2. 스트림의 특징 선언적 접근: "무엇을 할지" 정의 (How가 아닌 What).파이프라인 구조: 중간 연산(Intermediate)과 최종 연산(Terminal) 조합.지연 평가(Lazy Evaluation): 최종 연산이 호출될 때까지 중간 연산이 실행되지 않음.병렬성 지원: parallelStream()으로 멀티 스레드 처리 간편화.원본 데이터 보존: 원본 컬렉션을 변경하지 않고 새 데이터 시퀀스 생성. 3. 스트림 파이프라인 구조 컬렉션..

2025. 3. 5. 12:02
Programming Language/Java

람다 표현식 (Lambda Expressions)

1. 람다 표현식이란? 정의: 자바 8부터 도입된 익명 함수(Anonymous Function)를 간결하게 표현하는 문법입니다.목적:함수형 프로그래밍 지원을 통해 코드의 간결성과 가독성 향상.컬렉션 처리, 스트림 API, 이벤트 핸들링 등에서 효율적인 구현.기존 익명 클래스의 번거로움 해결. 2. 기본 문법(매개변수) -> { 실행문 } 매개변수:타입 생략 가능 (컴파일러가 추론).매개변수 1개면 괄호 () 생략 가능 (예: x -> x + 1).본문:단일 실행문일 경우 {}와 return 생략 가능 (예: (a, b) -> a + b).복잡한 로직은 {}로 감싸서 작성. 3. 함수형 인터페이스(Functional Interface) 조건: 단 하나의 추상 메서드를 가진 인터페이스.예시:Runnable:..

2025. 3. 5. 11:39
Programming Language/Java

[Collection] PriorityQueue Guide

PriorityQueue는 자바의 컬렉션 프레임워크에서 제공하는 우선순위 큐(힙) 구현체로, 요소들이 정렬된 순서대로 처리됩니다. 이 글에서는 기본 사용법부터 심화된 활용법까지 다양한 예제를 통해 PriorityQueue의 기능을 알아보겠습니다. 1. PriorityQueue 기본 개념 PriorityQueue는 기본적으로 최소 힙(Min-Heap) 구조를 따릅니다. 즉, 기본 정렬 기준에서는 가장 작은 값이 우선적으로 처리됩니다. PriorityQueue 선언 방법import java.util.PriorityQueue;public class Main { public static void main(String[] args) { PriorityQueue pq = new PriorityQu..

2025. 3. 4. 09:13
  • «
  • 1
  • 2
  • 3
  • »
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

공지사항

전체 카테고리

  • 분류 전체보기 (60)
    • DataBase (4)
      • MySQL (1)
    • Algorithm (14)
    • Project (3)
      • teamProject1 (3)
    • Programming Language (20)
      • Java (18)
      • JavaScript (1)
      • Kotlin (1)
    • Learning (16)
      • LLM (1)
      • Git (0)
      • TIL (8)
      • Design Pattern (2)
      • Servlet & JPA (5)
    • Software Development Tools (3)
      • IDE (3)
      • tools (0)
    • Others (0)

태그

  • #그래프 이론
  • #객체지향
  • #Stream
  • #docker
  • #Kotlin
  • #robopojo
  • #AI활용
  • #브루트포스
  • #백트래킹
  • #rancher desktop
  • #Java
  • #시뮬레이션
  • #BFS
  • #intellij
  • #제네릭
  • #srid
  • #record
  • #Servlet
  • #Effective Java
  • #구현
  • #JPA
  • #JavaScript
  • #불공변성
  • #MySQL
  • #그래프 탐색
  • #leetcode
  • #예외처리
  • #dto
  • #디자인패턴
  • #행위패턴
MORE

블로그 인기글

Powered by Privatenote Copyright © Dev Repo Log All rights reserved. TistoryWhaleSkin3.4

티스토리툴바