Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
제이온

제이온

제이온

rss icon RSS

제이온

제이온

제이온

제이온

rss icon RSS

제이온

[이펙티브 자바] 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
싱글턴은 인스턴스를 하나만 생성할 수 있는 클래스로, 무상태 객체나 시스템 컴포넌트를 구현하는 데 사용됩니다. 싱글턴을 만드는 방법은 public static 멤버, 정적 팩터리 메서드, 열거 타입을 사용하는 방식 등이 있으며, 각 방식은 장단점이 있습니다. 특히 열거 타입을 사용하는 방식은 리플렉션 공격에도 안전하고 코드가 깔끔하여 가장 바람직한 방법으로 여겨집니다. 싱글턴 클래스를 직렬화할 때는 transient 키워드와 readResolve() 메

2024년 4월 27일

IT
[이펙티브 자바] 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라
매개변수가 많은 클래스를 생성할 때 빌더 패턴을 사용하면 코드 가독성을 높이고, 안정적인 객체 생성을 보장할 수 있습니다. 빌더 패턴은 필수 매개변수를 이용하여 빌더 객체를 생성하고, setter 메서드를 통해 선택 매개변수를 설정하며, build() 메서드를 호출하여 최종 객체를 얻는 방식입니다. 빌더 패턴은 클라이언트 입장에서 코드 작성 및 읽기가 용이하며, 계층적으로 설계된 클래스와 잘 어울립니다.

2024년 4월 27일

IT
[Spring] @Async 사용 방법
Spring @Async를 사용하여 Java에서 비동기 처리를 구현하는 방법을 설명합니다. @EnableAsync 어노테이션을 사용하여 비동기 메소드를 선언하고, ThreadPoolTaskExecutor를 사용하여 스레드 풀을 구성하여 효율적인 비동기 작업 처리를 수행할 수 있습니다. Future, ListenableFuture, CompletableFuture 등 다양한 리턴 타입을 사용하여 비동기 메소드의 결과를 처리하는 방법도 다룹니다.

2024년 4월 25일

IT
[Java] Synchronized Collection vs Concurrent Collection
자바에서 동기화된 컬렉션(Vector, Hashtable, Collections.synchronizedXXX)은 멀티 스레드 환경에서 동시성을 보장하지만, 성능 저하와 여러 연산을 묶어 사용할 때 문제 발생 가능성이 있습니다. 대안으로 java.util.concurrent 패키지의 병렬 컬렉션(CopyOnWriteArrayList, ConcurrentHashMap 등)을 사용하면 읽기 성능 향상과 효율적인 동시성 처리가 가능합니다.

2024년 4월 25일

IT
[Java] Reflection 개념 및 사용 방법
리플렉션은 자바 프로그램 실행 중에 클래스 정보에 접근하여 클래스를 조작할 수 있도록 지원하는 API입니다. 런타임 시점에서 클래스를 생성하고 필드와 메소드에 접근할 수 있지만, 캡슐화를 저해하고 성능 저하를 유발할 수 있으므로 신중하게 사용해야 합니다. Spring 프레임워크와 같이 런타임 시 객체를 동적으로 생성하고 관리해야 하는 상황에서 유용하게 활용됩니다.

2024년 4월 25일

IT

더 보기