JAVA/JAVA_2 (17) 썸네일형 리스트형 Chap06-1 쓰레드 예시 -진열장(공간 5개 list) -제빵사 1, 2, 3 세 명이 있다 진열장이 꽉차면 빵을 그만 만든다 -소비자 1, 2, 3 케잌 살때 진열장에 없으면 빵을 못 산다 -진열장 5개 채워졌을 때, 제빵사 stop\ 소비자 구매→제빵사 start -진열장 0칸으로 비워져 있을 때 소비자 stop제빵사 생산→소비자 start 사는행위 : 소비자 만드는행위 : 베이커 관리(critic section) : Manager package Bread_Thread; public class BakeryMain { public static void main(String[] args) { Manager mgr=new Manager(); Baker b1=new Baker("홍길동", mgr); Baker b2=new Baker.. Chap06.쓰레드 (IllegalThreadStateException 예외 존재) 1.프로세스와 쓰레드의 차이점 -프로세스(쓰레드로 구성되어있다) : 전체 프로그램을 실행하는 단위 (프로그램 하나하나) -쓰레드 : 그 하나의 프로그램에서 실행하는 흐름 (우리가 한 것들이 쓰레드를 구현한 것 반복문, 조건문 등 흐름) 2.멀티 쓰레드를 사용하는 이유 (사용하는 때는 어떨 때 인지) : 쓰레드가 여러개 실행할 수 있는 프로그램 쓰레드 제어가 중요 : 시간 절약, 작업이 분리되어 코드가 간결, 자원을 보다 효율적으로 이용, CPU 사용률을 향상 3.멀티쓰레드 구현 방법(상속, 인터페이스) Thread, Runnable - 둘다 run() 메서드 overriding해서 사용하는게 핵심!!! ) Thread t = new DigitThread(); t.run()을 안하고, t.start() 라.. Chap05. File 클래스 (디렉토리도 파일객체가 될 수 있다) file.exists() 파일이 있는지 아닌지(디렉토리의 경우도 true) file.isFile() 파일인지 아닌지 판별 file.isDirectory() 디렉토리인지 아닌지 판별 file.getName() 파일이름: file.length() 파일크기: file.lastModified() 최종 수정일: file.canRead() 읽기 가능여부: file.canWrite() 쓰기 가능여부: file.isHidden() 숨김여부: file.getParent() 부모디렉토리 경로: file.getParentFile() File[] files=file.listFiles() :디렉토리 안에 있는 파일객체들을 배열에 저장 long time (최종수정일 날짜포맷) 최종 수정일 long타입을 -> Date 타입으로 한.. Chap04-04_ObjectOutputStream ObjectInputStream 입출력 사용 파일을 읽고 쓰는 것이 아니라, Object를 바이트로 쓰겟다 (객체) 바이트로 입출력 하겠다. readObject wrtieObject 직렬화한애들만 writeObject할수있다 : 자바프로그램 밖으로 내보내려면 serializable을 implements 한 애들만 가능 판별만 되면 되기때문에 추상메서드가 안에 없다. package javaBasic_2.class06.api_입출력IO; import java.io.Serializable; public class Member_직렬화 implements Serializable { private String name; private int age; public Member_직렬화() { // TODO Auto-generated constructor stub.. Chap04-03_입출력 사용 예시 보조(filter)스트림(BufferReader, BufferWriter) 보조(or filter) Stream의 경우 단독으로 쓰일 수 없어서 노드 stream과 같이 쓰인다 (filterStream 쓰는 이유 기능 성능 향상시켜주기때문에) InputStream in=System.in; InputStreamReader isr=new InputStreamReader(in); BufferedReader br=new BufferedReader(isr); 원래 이런과정 but→ 한줄로 표현 할 것이다 br=new BufferedReader(new InputStreamReader(System.in)); bw=new BufferedWriter(new FileWriter("output.txt")); 예시1) (while(str=br.readLine())!=null) 입력하다가 입력이 nu.. Chap04-02_입출력 사용 예시 그림,파일(InputStream, OutputStream) 이미지, 리소스 : byte (InputStream/OutputStream을 끝나면 byte stream이다 fis=new FileInputStream(source); //FileInputStream()안에 경로와 파일명을 넣어준다 ->read()함수이용 fos=new FileOutputStream(dest); //FileOutputStream()안에 경로와 파일명을 넣어준다. ->write()함수이용 (만약에 write(내용,true) 내용을 이어서 쓸 수 있다) package javaBasic_2.class06.api_입출력IO; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Arrays; public.. Chap04-01_입출력 사용 예시 문자(FileReader, FileWriter) -문자, 읽겠다 (data를 읽어올 때 int값으로 받는다 아스키 코드값) FileReader reader=new FileReader("poem.txt"); (코드를 이미지로 형상화 시켜서 생각하면 좋다) int data= reader.read(); -문자를 하나씩 읽는다 (아스키코드값으로 받아온다 (읽을내용이 안남으면 -1 return) -예외처리 중요! finally에 reader.close() 해주기 과정 1.파일에 문자데이터를 읽기 위해서 (FileReader객체 선언) 2.입출력은 예외처리 해주어야한다. 3.아스키코드값을 한문자씩 읽어준다. (한번에 읽어들일 때는 char[] 배열 생성해서 이용) 4.더이상 읽을 데이터값이 없으면 read()는 -1을 반환한다 5.reader.close() 해주.. Chap04.입출력(Stream) -외부의 resource 파일 읽어 올 일이 많다(텍스트, 이미지, 메세지 등 읽어오는 것) (java.io 패키지에 클래스들 사용) -자바프로그램을 기준으로 화면의 데이터를 읽고 쓸 때 -또 다른 보조기억장치(외부리소스)의 데이터를 쓰거나 읽어오는 것을 지칭 -입출력 관련 클래스들이 너무 많아서 선택의 어려움 (쓰이는 데이터 종류와 용도가 많기 때문이다) -입출력 예외와 관련되어있어서 예외처리 (파일존재여부 ,읽을데이터여부 등과 관련된) Exception>IOException>FileNotFoundException java.io.FileNotFoundException, java.io.FileOutputStream, java.io.IOException; (but, 규칙이있다) inputStream out.. 이전 1 2 3 다음