본문 바로가기

JAVA 공책

(47)
Stream 총정리 스트림(Stream)JVM 외부에 있는 파일이나 네트워크와의 데이터 송수신 통로.이 통로는 단방향성이기 때문에 읽는 스트림과 쓰는 스트림이 따로 존재.데이터 전송 방식에 따라 분류한다.싱크 스트림 / 프로세싱 스트림 으로 분류하기도 한다.싱크 스트림 : 데이터 근원지에서 직접 읽거나 목적지에서 직접 기록하는 클래스싱크 스트림은 보통 파일을 읽고 쓰는 작업을 지칭하지 않고,통신을 할 때 서로 싱크를 맞춰야 하는 그런 경우를 싱크라고 지칭한다.프로세싱 스트림 : 다른 스트림을 이용해, 중간에서 어떤 작업을 하는 클래스 데이터전송 방식 바이트 단위(바이너리, 숫자)Byte Stream : 이미지, 동영상 파일 등 텍스트 단위(문자)Character Stream : text (html 등) 최상위추상 클래스 I..
Thread ** ThreadProcess : 실행 중인 프로그램 - 운영체제에서 실행하는 단위Thread : Process 내에서 수행 중에 다른 Thread를 수행할 수 있는 작업 단위- 스레드를 별도로 실행시킬 수는 없습니다.- 스레드는 수행 중에 다른 스레드를 수행할 수 있기 때문에 쉬는 동안에 다른 작업을 할 - 수 있습니다.- 네트워크 작업이나 파일 입출력 등 중간중간 수는 시간이 생기는 작업들은 스레드를 이용하면 쉬는 시간에 다른 작업을 처리할 수 있어서 효율적입니다.- 이러한 이유로 안드로이드에서는 네트워크 작업을 할 때 Thread를 이용하지 않으면 안되도록 되어 있습니다. 1. Thread 관련 클래스java.lang.Thread 클래스java.lang.Runnable 인터페이스 2. Thread ..
자바 프로젝트 버전 바꾸기
List 보호되어 있는 글입니다.
Data Structure(자료구조) ** Data Structure(자료구조)- data 를 어떻게 저장할 것인가?- data 는 되도록 하나의 이름으로 사용할 수 있도록 해야한다. - Data의 구분1. Scala : 데이터가 명확하게 1개인것1) Boolean[boolean] : true || false2) Byte[byte] : 정수지만 이것은 통신할 때 사용함. (file & network : 읽고 쓰는 방법이 같고 대상만 다르다)3) Short[short] : 정수4) Character[char] : 정수지만 문자 1개를 저장할 때 사용함.5) Integer[int] : 정수6) Long[long] : 정수7) Float[float] : 실수8) Double[double] : 실수-------------------↓쪼개서 사용할 ..
List 정리 ** List배열배열은 다른 List 보다 공간 낭비가 적다.배열은 크기 확장이 가능하지 않아서 여분의 공간이 없기 때문에 데이터를 크기보다 초과해서 삽입하거나 집어 넣은 데이터를 삭제하는 작업 그리고 복사하는 작업을 하지 않기 때문이다.리스트는 반대로 크기가 정해져 있지 않고 중간에 삽입하거나 삭제, 복사 하는 작업을 할 수 있다. 그래서 배열보다 속도가 느리고 공간이 낭비가 있다. ArrayListArrayList는 연속된 공간에 데이터를 저장하고 여분의 공간을 가지고 있어서 데이터를 중간에 삽입하거나 삭제할 수 있다. 대신, 중간에 삽입, 삭제를 하게 되면 데이터를 이동시켜야 하기 때문에 시간이 많이 걸린다는 단점이 있다. LinkedListLinkedList는 데이터가 다음의 데이터 주소를 저장하..
StringBuilder ** StringBuilder- 변할 수 있는 문자열을 저장하는 클래스.- 많은 문자열을 다운로드 받을 때 이전의 String은 +연산을 하게되면 불필요한 복사 작업을 해서 시간도 오래걸리고 메모리 낭비가 심해서 StringBuilder를 이용해서 문자열을 추가하고 다운로드를 전부 받은 후에 다시 String으로 변환해서 사용했습니다.- 하지만 1.7버전 부터는 String 도 StringBuilder 처럼 동작합니다. 1. 생성자StringBuilder()StringBuilder(String) 2. 주요 메소드void append(String str) : str 을 현재 문자열 뒤에 추가합니다.String toString() : String 으로 변환해서 리턴 ** String 과 다른 자료형의 변환-..
String 클래스 ** 문자열 클래스1. 종류1) String : 변하지 않는 문자열 저장에 사용하는 클래스2) StringBuilder(StringBuffer) : 변할 수 있는 문자열 저장에 사용하는 클래스= String은 문자열 상수를 저장하기 때문에 정적 영역에 메모리를 할당합니다.= StringBuilder는 동적 영역(heap)에 메모리를 할당합니다.= String 클래스는 자기 자신을 변경할 수 없기 때문에 모든 메소드가 리턴을 합니다.(저장을 할 수 없으니 내보내는 것) 2. String : 알고리즘 테스트에도 가장 많이 나오는 클래스1) 객체 생성= 문자열 상수를 바로 대입해서 생성 : String 변수 = "문자열";= new String("문자열 상수")를 이용해서 생성= new String(byte ..