본문 바로가기

Java Tutorials30

#29 The Reflection API:Classes [튜토리얼] Uses of Reflection리플렉션은 JVM(Java Virtual Machine)에서 실행되는 애플리케이션의 런타임 동작을 검사하거나 수정하는 기능이 필요한 프로그램에서 일반적으로 사용됩니다. 이는 비교적 고급 기능이므로 언어의 기본 사항을 잘 이해하고 있는 개발자만 사용해야 합니다. 이러한 주의 사항을 염두에 두고 리플렉션은 강력한 기술이며 응용 프로그램이 그렇지 않으면 불가능한 작업을 수행할 수 있도록 할 수 있습니다. Extensibility Features[확장성 기능]애플리케이션은 외부에서 정의된 사용자 클래스의 인스턴스를 완전한 이름을 사용하여 생성함으로써 확장성 객체를 활용할 수 있습니다. Class Browsers and Visual Development Environm.. 2024. 8. 13.
#28 Lesson: Introduction to Collections 4 [이진 탐색 트리] [Hash, Map, Set 참조]The Map InterfaceMap은 키를 값에 매핑하는 객체입니다. Map은 중복된 키를 가질 수 없습니다. 각 키는 최대 하나의 값에만 매핑될 수 있습니다. 이는 수학적 함수 추상화를 모델링합니다. Map 인터페이스에는 기본 작업(예: put, get, remove, containsKey, containsValue, size, isEmpty), 대량 작업(예: putAll, clear), 컬렉션 뷰(예: keySet, entrySet, values)를 위한 메서드가 포함되어 있습니다.※ 수학적 함수 추상화란 일대일 대응(one-to-one mapping) 함수를 의미.Java 플랫폼에는 세 가지 범용 Map 구현이 있습니다: HashMap, Tr.. 2024. 8. 13.
#27 Lesson: Introduction to Collections 3 The Queue InterfaceQueue는 엘리먼트를 처리하기 전에 보관하는 컬렉션입니다. 기본적인 Collection 연산 외에도 큐는 추가적인 삽입, 제거 및 검사 연산을 제공합니다. Queue 인터페이스는 다음과 같습니다.public interface Queue extends Collection { E element(); boolean offer(E e); E peek(); E poll(); E remove();} 각 Queue 메서드는 두 가지 형태로 존재합니다: (1) 연산이 실패하면 예외를 던지는 형태.(2) 연산이 실패하면 특별한 값을 반환하는 형태(null 또는 false, 연산에 따라 다름).  인터페이스의 일반적인 구조는 다음 표에 나와 있습니다. Queu.. 2024. 8. 12.
#26 Lesson: Introduction to Collections 2 The Set InterfaceSet은 중복 요소를 포함할 수 없는 Collection입니다. 이는 수학적 집합 추상화를 모델링합니다. Set 인터페이스는 Collection에서 상속된 메서드만 포함하며, 중복 엘리먼트가 금지된다는 제한을 추가합니다. 또한 Set은 equals와 hashCode 연산의 동작에 대해 더 강력한 계약을 추가하여, 구현 타입이 다르더라도 Set 인스턴스를 의미 있게 비교할 수 있게 합니다. 두 Set 인스턴스가 동일한 엘리먼트를 포함하면 두 인스턴스는 동일합니다.Java 플랫폼에는 세 가지 범용 Set 구현이 포함되어 있습니다: HashSet, TreeSet, 그리고 LinkedHashSet. HashSet은 엘리먼트를 해시 테이블에 저장하며, 가장 성능이 좋은 Set 인터페.. 2024. 8. 11.
#25 Lesson: Introduction to Collections 1 [공식 튜토리얼] collection(때때로 컨테이너라고도 함)은 단순히 여러 엘리먼트들을 단일 단위로 그룹화하는 객체입니다. Collections은 Aggregate 데이터를 저장, 검색, 조작 및 전달하는 데 사용됩니다. 일반적으로 포커 핸드(카드 모음), 메일 폴더(편지 모음) 또는 전화번호부(이름과 전화번호 매핑)와 같이 자연스러운 그룹을 형성하는 데이터 아이템들을 나타냅니다. Java 프로그래밍 언어 또는 다른 프로그래밍 언어를 사용해 본 적이 있다면 이미 collections에 익숙할 것입니다. What Is a Collections Framework?컬렉션 프레임워크는 컬렉션을 표현하고 조작하기 위한 통합 아키텍처입니다. 모든 컬렉션 프레임워크에는 다음이 포함됩니다.Interfaces: 컬렉.. 2024. 8. 8.
#24 Concurrency 2 자바 공식 Concurrency 튜토리얼 Liveness적시에 실행할 수 있는 동시 응용 프로그램의 기능을 활성 상태(liveness)라고 합니다. 이 섹션에서는 가장 일반적인 종류의 활동성(liveness) 문제인 교착 상태(deadlock)에 대해 설명하고 계속해서 다른 두 가지 활동성 문제인 기아 및 라이브락(starvation and livelock)에 대해 간략하게 설명합니다. Deadlock교착 상태(Deadlock)는 둘 이상의 스레드가 서로를 기다리며 영원히 차단되는 상황을 설명합니다. 여기에 예가 있습니다.Alphonse와 Gaston은 친구이며 예의를 중요시합니다. 친구에게 인사를 할 때 친구가 인사에 대한 응답을 할 때까지 인사를 하고 있어야 한다는 엄격한 예절이 있습니다. 불행하게도.. 2024. 8. 5.