본문 바로가기

JAVA29

멀티 스레드 운영체제에서는 실행 중인 하나의 애플리케이션을 프로세스라고 부릅니다. 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는데 이것이 프로세스라고 부릅니다. 하나의 애플리케이션으로 다중 프로세스를 만들기도 하는데 예를 들어 Chrome 브라우저를 두 개 실행했다면 두 개의 Chrome 프로세스가 생성된 거라고 할 수 있습니다. 멀티 태스킹(Multi tasking)은 두 가지 이상의 작업을 동시에 처리하는 것을 말하는데 운영체제는 멀티 태스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적정히 할당해주고 병렬로 실행시켜줍니다. 예로는 워드로 문서작업을 하면서 윈도에 있는 미디어 플레이어로 음악을 들을 수 있는 것입니다. 그렇다고 멀티 태스킹은.. 2022. 6. 2.
Map 컬렉션 Map 컬렉션은 키 와 값으로 구성된 entry 객체를 저장하는 구조를 가지고 있다. 여기서 키와 값은 모두 객체이다. 키는 중복 저장될 수 없지만 값은 중복 저장이 가능하다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체하게 된다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있다. 기능 메소드 설명 객체추가 put(K key, V value) 주어진 키와 값을 추가, 저장되면 값을 리턴 객체검색 boolean containsKey(Object key) 주어진 키가 있는지 여부 boolean containsValue(Object value) 주어진 값이 있는지 여부 Set Syst.. 2022. 5. 31.
컬렉션 프레임워크 Set 컬렉션 List 컬렉션은 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지는 않습니다. 또한 객체를 중복 저장할 수 없고 하나의 null만 저장할 수 있어 set 컬렉션은 수학의 집합에 비유될 수 있습니다. 사진 출처 : JAVA EE: Java : Collection Framework : Hierarchy(Iterable, Collection) (ramj2ee.blogspot.com) Set컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있습니다. 위에 메소드는 Set 컬렉션에서 공통적으로 사용 가능한 Set 인퍼에이스의 메서드입니다. 인덱스로 관리하지 않기 때문에 매개 값으로 갖는 메서드가 없습니다. Set set = ...; set.add("홍길동"); // 객체를 추.. 2022. 5. 30.
컬렉션 프레임워크 LinkedList LinkedList는 List 구현 클래스 이므로 ArrayList와 사용 방법은 같지만 내부 구조는 다릅니다. ArrayList는 내부 배열에 객체를 저장해서 인덱스로 관리하지만, LinkedList는 인접 참조를 링크해서 체인처럼 관리합니다. ArrayList는 객체가 제거되면 1씩 앞으로 당겨지지만 LinkedList는 객체를 제거해도 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않습니다. 번번한 객체 삭제와 삽입이 일어나는곳에서는 ArrayList보다 LinkedList가 좋은 성능을 발휘합니다. LinkedList를 생성하기 위해서는 저장할 객체 타입을 타입 파라미터 에 표기하고 기본 생성자를 호출하면 됩니다. 처음에 생성될 때에는 어떠한 링크도 만들어지지 않기 때문에 내부는 비어있습니다. Li.. 2022. 5. 30.