반응형

프로그래밍 정리 298

쓰레드의 우선권

- 쓰레드의 우선권을 어떻게 주는냐에 따라서 쓰레드의 작업 순서가 달라짐. 작업 순서가 달라진다는 것을 Runnable 상탱서 얼마나 자주 Run 상태가 될 수 있느냐를 말하는 것. 우선권이 높다면 Run 상태가 될 확률이 높아짐. 우선권이 높다면 다른 쓰레들보다 빨리 끝낼 수 있음. - Thread 클래스의 static 우선권 상수.-> public static final int MIN_PRIORITY = 1;-> public static final int NORM_PRIORITY = 5;-> public static final int MAX_PRIORITY = 10; - 우선권 문제-> 어떠한 쓰레가 Run 상태를 많이 차지할 것인가의 문제.-> 쓰레드의 우선권에 대한 값은 Thread 클래스의 pu..

쓰레드의 상태

쓰레드의 상태- 시작 상태(Start 상태)- 동작할 수 있는 상태(Runnable 상태)- 동작 상태(Run 상태) - 한 순간에 단 하나의 쓰레드만이 Run 상태가 됨.- 대기 상태(NotRunnable 상태)- 종료 상태(Dead 상태) - Runnable 상태-> 쓰레가 실행되면 일반적으로 Runnable상태가 됨.-> Runnable 상태의 쓰레드는 여러 개 존재할 수 있음.-> Runnable 상태에서 CPU의 제어권을 할당받는 순간 Run 상태가 되었다가, 일정 시간동안 작업을 한 후 Runnable상태로 되돌아와서 자신의 순서가 되기를 기다림. 아무리 작업이 빠르게 이루어지더라도 한 순간에 단 하나의 작업만이 Run 상태에 있을 수 있음. 그렇기 때문에 Runnable 상태는 Run으로 들..

ObjectOutputStream와 ObjectInputStream : transient(객체직렬화)

- 스트림을 이용해서 직렬화 하는데 있어서, 커다른 프로그램 전체가 직렬화된다면, 여러가지 면에서 많은 낭비.예를 들어, 한 객체가 마우스가 눌려진 위치를 알기 위해서 마우스 클릭시에서 위치를 저장하는 필드를 가지고 있다고 가정.이 경우 마우스의 위치값은 프로그램이 돌아가는 상태에서 마우스가 눌려졌을 당시에만 유효한 값으로, 객체가 직렬화 되었다가해제 되었을 경우에는 쓸모없는 값이 되어버림.이런 객체 직렬화에 쓸모없는 값들은 transient로 선언해 줌으로써 객체 직렬화에서 제외되어질 수 있음. private transient int x; 이러한 선언은 플랫폼에 따라 다른 값을 가지는 필드나, 현재의 환경에서만 유효한 필드 등을 객체 직렬화해서 제외하는데 유용하게 쓰일 수 있음. ============..

ObjectInputStream와 ObjectOutputStream

- 객체의 데이터를 직접 제어할 수 있게 함.- 객체직렬화를 구현한 객체에 대해서만 사용 가능- 객체를 파일로 저장 ============================================================================================================ import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable; public class ObjectSerializeTest {priv..

[Android] MotionEvent, setOnTouchListener = ACTION_MOVE, ACTION_UP, ACTION_DOWN

return super.onTouchEvent(event); ==> true;로 확인 해봐 주세요~ 2012.03.30 10:19:36 권순정와우... 해결 됬습니다...감사합니다. ^^*몇일 고민했는데... 큰 도움이 되었네요...감사합니다. 2012.03.30 12:38:57NoBraindown, move 는 return true 해주시고up 은 return false 해주셔야 합니다. up 에서도 true 되면 계속 하지도 않은 터치가 액션을 물고 있게 되요 =========================================================================== down, move => trueup => false

StringReader와 StringWriter

- 메모리에 대한 문자열 데이터의 입출력을 담당 .getBuffer().reverse() -> 문자데이터 역방향======================================================================================================== import java.io.IOException;import java.io.StringReader;import java.io.StringWriter; public class StringRWTest {public static void main(String[] args) throws IOException {int ch;String str = "Hello!";StringReader sr = new StringRead..

CharArrayReader와 CharArrayWriter

- 메모리에 대한 문자 배열 데이터의 입출력을 담당 ============================================================================================================ import java.io.CharArrayReader;import java.io.CharArrayWriter;import java.io.IOException; public class CharArrayRWTest { public static void main(String[] args) throws IOException {int ch;char arr[] = {'j', 'a', 'v', 'a', 'o', 'k'};CharArrayReader car = new Cha..

PrintWriter

- 텍스트 타입의 기본 데이터 타입 및 객체의 값을 문자(2byte)로 출력 ========================================================================================================= import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter; public class PrintWriterTest {private String name = null;private String s = null;private int year = 0;public PrintWriterTest(String name, String s, int year){this.name ..

LineNumberReader

- 각 줄의 번호를 세는 추가적인 기능을 제공-> 0부터 시작하고, 1씩 증가 ======================================================================================================== import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.LineNumberReader; public class LineNumberReaderTest { public static void main(String[] args) throws IOException {String s = null;int ch, i = -1;..

BufferedReader와 BufferedWriter

- 문자 입출력 스트림에 버퍼링을 제공 ================================================================================================ import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.OutputStreamWriter; public class BufferedReaderWriterTest { public static void mai..

반응형