Java 4

JAVA 쓰레드 1

프로세스와 쓰레드- 프로세스란 현재 실행 중인 프로그램을 의미한다. 프로그램을 실행하면 운영체제로부터 실행에 필요한 자원을 할당 받아 프로세스가 됨 - 프로세스는 실행에 필요한 데이터, 자원, 쓰레드 등으로 구성되어 있다.- 프로세스는 적어도 하나 이상의 쓰레드가 존재한다. 둘 이상의 쓰레드를 가진 프로세스를 멀티 쓰레드 프로세스라고 한다.- 쓰레드 생성 제한이 없지만, 쓰레드 또한 메모리 공간을 필요로 하기 때문에 프로세스의 메모리 한계에 따라 생성할 수 있는 쓰레드 수가 결정된다.- 개발자가 직접 쓰레드 개수 조정 가능 프로세스 성능은 스레드의 수에 비례하지 않음- 하나의 코어는 한 번에 하나의 작업을 수행한다. 즉, 여러 쓰레드가 한 코어를 번갈아 수행하는 것이기에 쓰레드가 많다고 무..

JAVA 2025.02.11

JAVA Collection Framework 3

Mapkey와 value로 구성된 Entry 객체 저장 HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체가 내부적으로 Entry 객체를 사용하여 키-값 쌍을 관리Key 중복 불가능, Value 중복 가능 순서 없음 검색에 매우 효율적 Key, Value, Entry 모두 객체 **** Map 인터페이스는 Iterable 인터페이스, Collection 인터페이스를 상속받지 않는다.즉, Iterable, Collection 인터페이스가 제공하는 메서드를 사용할 수 없다.HashMap사용자 정의 클래스 객체를 사용할 때 hashCode(), equals() 함수를 반드시 오버라이딩해줘야 한다.-> 기준 설정 TreeMap사용자 정의 클래스 객체를 사용할 때, Comparabl..

JAVA 2024.11.26

JAVA Collection Framework 2

Collection 인터페이스 메서드 11가지List와 Set 구현체에서 사용할 수 있는 부모 클래스의 메서드add(E e) : booleanCollection에 객체 추가Collection이 변경되면 true 반환 SET 사용시객체가 Set에 존재하면 true 반환, 존재하면 false 반환 addAll(Collection c) : booleanCollection에 매개변수 Collection 요소들을 추가Collection이 변경되면 true 반환 contains(Object o) : booleanCollection에 매개변수 객체가 존재하면 true존재하지 않으면 false 반환 containsAll(Collection c) : booleanCollection에 매개변수 Collection c 원소..

JAVA 2024.11.25

JAVA Collection Framework 1

Collection동일 타입의 원소들을 묶어 동적으로 관리하는 자료구조 컬렉션에서 원소는 객체만 저장 가능 ** java.util 패키지에 Collection 존재 List순서 유지 (연속적/순차적 저장)중복 저장 가능 list(파이썬)[List 구현체]ArrayList, Vector, LinkedListArrayList배열을 이용하여 List의 특징을 구현한 자료구조 배열과 같이 인덱스로 원소 관리사용자 정의 객체에 대한 contains(), remove()를 위해 equals() 재정의 필요 비동기화 메서드로 구성, 싱글 쓰레드 환경에 효율적 -> 여러 쓰레드가 ArrayList에 동시에 요소를 추가하거나 삭제하면 데이터 불일치 문제 발생 VectorArrayList와 유사 ( Vector 구버전 )..

JAVA 2024.11.24