본문 바로가기

프로그램언어/자바

스레드2 스레드 생명주기 스레드는 생성되어 소멸될 때까지 여러 형태의 생명주기를 가진다. main 스레드의 정보알아보기 public class Main { public static void main(String [] args) { long id = Thread.currentThread().getId(); // 스레드 ID String name = Thread.currentThread().getName(); // 스레드 이름 Thread.State s = Thread.currentThread().getState(); // 스레드 상태 int priority = Thread.currentThread().getPriority(); // 스레드 우선순위 System.out.println("스레드 ID : " + id);.. 더보기
스레드1 프로세스란? 프로세스(process)란 단순히 실행 중인 프로그램이라고 할 수 있다. 스레드란? 스레드(thread)란 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하며 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드라고 한다. 스레드 만들기 Thread 클래스 이용 Runnable 인터페이스 이용 Thread 클래스를 상속받아 스레드 만들기 Thread 클래스의 경로명은 java.lang.Thread 이다. 함수 설명 Thread() Thread(Runnable target) Thread(String name) Thread(Runn.. target, String name) 스레드 객체 생성 Runnable 객체인 target을 이용하여 스레드.. 더보기
Collection 계열 클래스4 Vactor ArrayListd와 사용방법이 동일(메소드 호출방법과 사용법)하다. Vactor 클래스도 List 계열이다. 데이터를 삽입하고 출력해보자. import java.util.List; import java.util.Vector; public class ex01 { public static void main(String[] args) { Vector vector = new Vector(); vector.add("A"); vector.add("B"); vector.add("C"); System.out.println(vector); //3번째 요소에 삽입하기 vector.add(2,"X"); System.out.println(vector); //첫번째 요소에 삽입하기 vector.add(0,"Y").. 더보기
Collection 계열 클래스3 Map 계열 데이터를 Key와 Value값으로 한쌍으로 저장한다. key는 중복되면 안 된다. key를 이용하여 value를 얻는다. 함수 설명 put() key와 value 값을 Map에 추가 get() key로 등록된 값을 반환 remove() key에 해당하는 Map의 요소를 삭제 clear() Map의 모든 요소들를 삭제 keySet() Map의 키 목록들을 Set 형태로 리턴 values() Map의 값들을 Collection에 담아서 리턴 size() Map에 포함된 Entry 수를 반환 isEmpty() Map에 데이터가 없는지 확인( 없을 경우 true를 반환 아니면 false를 반환) containskey() Map에 Key로 등록된 Entry가 있는 확인 containsValue() M.. 더보기
Collection 계열 클래스2 List 계열 List 계열은 순서가 있고 중복이 허용된다. List 인터페이스의 주요 구현 클래스에는 ArrayList, LinkedList가 있다. 함수 설명 boolean add(E e) 요소를 추가 void add(int index, E e) 특정 위치에 전달된 요소를 추가 void clear() 모든 요소를 제거 boolean contains(Object o) 전달된 객체를 포함하고 있는지를 확인 boolean equals(Object o) 전달된 객체가 같은지를 확인 E get(int index) 특정 위치에 존재하는 요소를 반환 boolean isEmpty() 비어있는지를 확인 Iterator iterator() 반복자(iterator)를 반환 boolean remove(Object o) 전.. 더보기
Collection 계열 클래스1 Set 계열 Set 계열의 클래스에 저장된 데이터들은 순서가 없고 중복이 되지 않는다. Set 인터페이스의 주요 구현 클래스에는 HashSet, LinkedHashSet, TreeSet이 있다. 메소드설명 함수 설명 boolean add(E e) 요소를 추가 (선택적 기능) void clear() 모든 요소를 제거 boolean contains(Object o) 객체를 포함하고 있는지를 확인 boolean equals(Object o) 객체가 같은지를 확인 boolean isEmpty() 비어있는지를 확인 Iterator iterator() 반복자(iterator)를 반환 boolean remove(Object o) 전달된 객체를 제거함. (선택적 기능) int size() 요소의 총 개수를 반환 Obj.. 더보기
컬렉션 프레임워크 문제 1. arr[] = {10, 20, 30, 40, 50, 60, 70, 40, 30, 20} 배열에 중복된 데이터를 제거하고 아래의 그림과 같이 출력하는 프로그램을 작성하시오. (데이터출력시 순서는 상관없음) 출력예] 더보기 import java.util.HashSet; import java.util.Set; public class ex01 { public static void main(String[] args) { int[] arr = {10, 20, 30, 40, 50, 60, 70, 40, 30, 20}; int i; Set set = new HashSet(); System.out.println("데이터" + "\t" + "set삽입"); for(i=0; i100000){ System.out.pri.. 더보기
스윙 컴포넌트 그리기3 클리핑 클리핑 영역 설정 메소드 void setClip(int x, int y, int w, int h) 그래픽 대상 컴포넌트의 x, y위치에 w, x, h의 사격형 영역을 클리핑 영역으로 지정 void ClipRect(int x, int y, int w, int h) Graphics 객체 내에 유지되어 온 기존 클리핑 영역과 x, y에서 w, x, h 크기로 지정된 사각형영역의 교집합 영역을 새로운 클리핑 여역으로 설정한다. 클리핑 영역에 그리기 import javax.swing.*; import java.awt.*; public class GraphicsClipEx extends JFrame { private MyPanel panel = new MyPanel(); public GraphicsClipE.. 더보기