[Java] 컬렉션 프레임워크 - Map
2022. 8. 14. 17:53
개발/JAVA
Map Key와 Value로 구성된 Map.Entery 객체를 저장하는 구조를 가진 컬렉션 Entry는 Map인터페이스 내부에 선언된 중첩 인터페이스. 여기서 키와 값은 모두 객체 기능 메소드 설명 객체추가 V put(K Key, V value) 주어진 키로 값을 저장 새로운 키일경우 null리턴, 동일키가 있을 경우 값대체 후 이전값 리턴 객체 검색 boolean containsKey(Object key) 주어진 키가 있는지 여부 확인 boolean containsValue(Object value) 주어진 값이 있는지 여부 확인 Set(Map.Entry> entrySet() 키, 값 쌍으로 구성된 모든 Map.Entry객체를 Set에 담아 리턴 V get(Object key) 주어진 키가 있는 값을 리..
[Java] 컬렉션 프레임워크 - List, Set
2022. 8. 14. 00:27
개발/JAVA
컬렉션 프레임워크? - 컬렉션 (객체의 저장) + 프레임워크(사용방법을 정해둔 라이브러리) - 자바가 널리 알려져 있는 자료구조를 사용해 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현클래스를 java.util패키지에서 제공하는 것들 - 컬렉션 프레임워크의 주요 인터페이스로 List, Set, Map이 있다 List - 배열과 비슷하게 객체를 인덱스로 관리한다. - 배열과의 차이점은 저장용량이 자동으로 증가하며, 객체를 저장할 때 자동 인덱스가 부여됨 - 리스트 컬렉션은 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조 - 동일한 객체를 중복 저장할 시 동일한 번지를 참조 - null또한 저장이 가능하나, 객체를 참조하지 않는 인덱스 List컬렉션에서 공통적으로 사용가능한 Lis..
[Java] 스레드 제어
2022. 7. 27. 07:03
개발/JAVA
스레드 상태? 스레드 객체를 생성하고 start() 메소드를 호출하면 바로 실행되는 것이 아니라 실행 대기 상태가 된다. 운영체제는 실행 대기 상태에 있는 스레드 중 하나를 선택해 실행 상태로 만든다. 실행 대기 상태에 있는 스레드 중 OS는 하나의 스레드를 선택하고 CPU(코어)가 run() 메소드를 실행하도록 한다 이 때를 실행(running)상태라고 부른다 실행상태의 스레드는 run()메소드를 모두 실행하기전 다시 실행대기상태로 돌아갈 수 있으며, 실행대기 상태에 있는 다른 스레드가 선택되어 실행상태가 될 수도 있다. 이렇게 실행 대기, 실행 상태를 번갈아가며 run()메소드를 실행한다. 실행상태에서 run()메소드가 종료되면 더 이상 실행할 없기 때문에 스레드의 실행은 멈추게되고 이 상태를 종료(..
[Java] 멀티 스레드2
2022. 7. 26. 07:05
개발/JAVA
지난시간 복습 >> 스레드(thread)? - 프로세스 내부에서 코드의 실행 흐름 프로세스? - 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 실행 - 실행중인 하나의 애플리케이션 Thread 하위 클래스로부터 생성 작업 스레드가 실행할 작업을 Runnable로 만들지 않고 Thread하위클래스로 정의해보자 import java.awt.Toolkit; public class BeepThread extends Thread{ @Override public void run() { Toolkit toolkit = Toolkit.getDefaultToolkit(); for (int i = 0; i < 5; i++) { toolkit.beep(); try {Thread.sleep(500);}..
[Java] 멀티 스레드 1
2022. 7. 25. 07:05
개발/JAVA
스레드(thread)? - 프로세스 내부에서 코드의 실행 흐름 프로세스? - 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 실행 - 실행중인 하나의 애플리케이션 multi? 운영체제는 두 가지 이상의 작업을 동시에 처리하는 멀티태스킹 을 할 수 있도록 CPU및 메모리 자원을 프로세스마다 적절히 할당해주고 병렬로 실행시켜준다. ex) 미디어 플레이어로 음악을 들으며 워드로 문서작업, 게임을 하면서 카카오톡 채팅 다만 멀티태스킹은 항상 멀티프로세스를 뜻하는 것은 아님 한 프로세스내에서 멀티태스킹이 가능하기도 하다 ex) 카카오톡으로 메신저를 하면서 파일전송, 미디어플레이어로 노래감상하며 동영상재생 이렇게 하나의 프로세스 내에서 두 가지 이상의 작업 처리하는것을 멀티스레드로 동작한다 라..