INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (392) N
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (1) N
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17) N
      • Architecture (1) N
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그
Java Enum 완벽 이해하기: 상수 관리를 위한 도구

Java Enum 완벽 이해하기: 상수 관리를 위한 도구

Enum이란?제목에 Enum은 상수 관리를 위한 도구라고 지었습니다. 사실 Enum은 단순한 상수를 관리하는 도구를 넘어서, 타입 안정성과 가독성을 보장하는 방식으로 객체 지향적으로 상수를 관리하는 해결책입니다. 이에 관한 설명을 하기 위해서 Enum이 도입되기 전 상수가 어떻게 정의되었었는지 알아보겠습니다. 과거에는 어떻게 상수를 정의했을까?1. final 키워드를 이용한 상수자바에서 상수를 정의하는 가장 전통적인 방법은 final 키워드를 사용하는 것입니다. 이는 변수를 상수로 만들어 한 번 초기화되면 변경되지 않도록 보장하는 방식입니다. 여기에 static을 함께 사용하여 클래스 로드 시 한 번만 메모리에 할당되게 만들어 효율성을 높일 수 있습니다.public class Constants { ..

  • format_list_bulleted Java
  • · 2024. 10. 7.
  • textsms
Java 제네릭(Generic) & 와일드카드 완벽 이해하기

Java 제네릭(Generic) & 와일드카드 완벽 이해하기

제네릭이란?제네릭이란 클래스나 메서드 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법입니다. 제네릭을 통해 다양한 타입을 처리할 수 있습니다. 제네릭을 사용하면 컴파일 타임에 타입을 지정할 수 있어, 타입 안정성이 보장되고, 형변환에 대한 부담이 줄어듭니다. 예시: 제네릭을 사용하지 않은 경우와 제네릭을 사용하는 경우 비교// 제네릭스를 사용하지 않은 경우List list = new ArrayList();list.add("Hello");list.add(123); // 문자열과 정수를 동시에 저장 가능, 타입 안정성 없음String str = (String) list.get(0); // 형변환 필요// 제네릭스를 사용하는 경우List list = new ArrayList();list.add("..

  • format_list_bulleted Java
  • · 2024. 10. 5.
  • textsms
Java 멀티스레드 환경에서 Collection 사용: 동기화된 컬렉션과 Concurrent 컬렉션

Java 멀티스레드 환경에서 Collection 사용: 동기화된 컬렉션과 Concurrent 컬렉션

동기화된 컬렉션자바의 기본적인 컬렉션 클래스들은(ArrayList, HashSet, HashMap 등) 싱글 스레드 환경에서 사용할 수 있도록 설계되었습니다. 때문에 이런 컬렉션 클래스들은 멀티 스레드 환경에서 안전하지 않기 때문에, 여러 스레드가 동시에 접근할 때 데이터 불일치나 비정상적인 동작이 발생할 수 있습니다. 이를 방지하기 위해 동기화된 컬렉션을 사용합니다. Java에서는 Collections 유틸리티 클래스에서 동기화된 컬렉션을 쉽게 생성할 수 있도록 여러 메서드를 제공합니다.Collections.synchronizedList() Collections.synchronizedSet() Collections.synchronizedMap()// 동기화된 ListList syncList = Coll..

  • format_list_bulleted Java
  • · 2024. 9. 26.
  • textsms
Java 컬렉션 프레임워크 완벽 이해하기

Java 컬렉션 프레임워크 완벽 이해하기

Java 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 관리하기 위한 구조와 인터페이스의 집합입니다. 여러 데이터 구조를 제공하여 데이터를 다루기 쉽게 만들어주기 때문에 Java 개발 시 알아두어야 합니다. 컬렉션 프레임워크 계층도Iterable 인터페이스Iterable은 Java에서 반복 가능한 객체를 나타내는 최상위 인터페이스로, 컬렉션이 요소들을 순차적으로 탐색할 수 있도록 정의한 인터페이스입니다. 컬렉션을 foreach로 사용할 수 있게 하는 것이 바로 이 인터페이스 덕분입니다.List fruits = Arrays.asList("Apple", "Banana", "Cherry");for (String fruit : fruits) { System.out.println(fruit); // App..

  • format_list_bulleted Java
  • · 2024. 9. 26.
  • textsms
Java 날짜 및 시간 포맷 다루기. SimpleDateFormat, DateTimeFormatter, FastDateFormat

Java 날짜 및 시간 포맷 다루기. SimpleDateFormat, DateTimeFormatter, FastDateFormat

날짜와 시간을 문자열로 변환하거나, 문자열을 날짜와 시간 객체로 변환할 때 포맷을 지정해 줍니다. 이를 위해 Java에서는 여러 가지 포맷 클래스가 제공됩니다. 각 클래스는 기능, 성능, 스레드 안전성 등에 차이가 있기 때문에 적절하게 선택해주어야 합니다. 클래스스레드 안전성포맷팅파싱Java 버전SimpleDateFormatXOOJava 7 이하DateTimeFormatterOOOJava 8 이상FastDateFormatOOX모든 버전 SimpleDateFormat (Java 7 이하)simpleDateFormat은 Java 7 이하에서 많이 사용되던 날짜/시간 포맷 클래스입니다. 이는 스레드 안전하지 않다는 단점이 있어서, 멀티스레드 환경에서 사용할 때 주의가 필요합니다. Java 8에서 더 좋은 대안..

  • format_list_bulleted Java
  • · 2024. 9. 24.
  • textsms
Java 날짜 시간 다루기: LocalDateTime, Instant, OffsetDateTime, ZonedDateTime의 차이. Duration, Period

Java 날짜 시간 다루기: LocalDateTime, Instant, OffsetDateTime, ZonedDateTime의 차이. Duration, Period

Date와 Calendar를 사용하지 않는 이유?Java에서 날짜와 시간을 다룰 때, Calendar와 Date 대신 LocalDateTime을 사용합니다. LocalDateTime은 Java 8에서 도입된 java.time 패키지에 포함된 클래스로, Java 8 이전의 Date와 Calendar 클래스는 몇 가지 단점이 있었습니다.불변성 부족: Date와 Calendar는 setter가 존재하여 mutable(변경 가능) 하기 때문에, 날짜 객체를 공유할 때 상태가 변할 수 있어 멀티스레드 환경에서 오류가 발생할 가능성이 큽니다.복잡한 API, 가독성 문제:Date와 Calendar 클래스에서 1월을 0부터 표기하고, 요일을 지정할 때도 일관성이 없습니다. 또한 Date와 Calendar의 API는 복..

  • format_list_bulleted Java
  • · 2024. 9. 23.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 66
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (392) N
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (1) N
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17) N
      • Architecture (1) N
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #mybatis
  • #이펙티브 자바
  • #servlet
  • #회원 관리
  • #게시판
  • #jsp
  • #Java
  • #querydsl
  • #환경 세팅
  • #JDBC
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바