Day15

Jaho·2021년 9월 4일
0

Playdata

목록 보기
14/29

Day15

1.문자열 관리 클래스 객체를 살펴 보고 구현할 수 있다.

2.스레드와 프로세스의 차이를 설명할 수 있다.

3.스레드와 동기화 및 Object 클래스의 메소드를 이용해서 스레딩의 원리를 해석할 수 있다.

4.연동되는 객체를 스레드화 하여 실행 상태시 양보할 수 있다.


문자열을 다양하게 바꾸어 사용해보자.
toUpperCase() = 문자열을 대문자로 변경
toLowerCase() = 문자열을 소문자로 변경
replace() = 원하는 문자열을 치환(바꿔준다)한다. replace([기존 문자],[변경할 문자])


1.대문자로 출력
2.소문자로 출력
3.'character'라는 단어를 'String'으로 변경하여 출력
4. ' ' 공백(띄어쓰기)이 있는 부분을 ''로 변경하여 공백을 없애고 출력

불변성(immutable) : 생성된 동일 객체를 Update,Delete못하는 것
가변성(mutable) : 생성된 동일 객체를 Update,Delete할 수 있는것

위 사진을 참조하자.

Autoboxing , Unboxing 에 관한 내용을 간단하게 듣고 넘어갔다.
Autoboxing은 래퍼(Wrapper) 클래스의 객체로 변환하는 것을 말한다.(데이터들을 객체로 포장해주는 것)
Character ch = new Character('a') 라고 선언해야 하지만 튜토리얼에서 보는거와 같이 Character ch='a'라고만
문자를 생성해도 자동으로 객체를 생성하여준다.

Unboxing은 반대로 생각하면 된다.

다음 코드는 ArrayList에서 i번째 Integer 객체를 꺼내서 다시 int 타입의 변수에 넣는데, 이때 오토 언박싱이 발생한다.

int n = nList.get(i);

Unboxing 출처


Thread의 run의 대한 설명과 start,yield,notify,notifyAll의 존재를 알고가자

yield = 다른 스레드에게 실행을 양보
notify() = 일시 정지 상태에 있는 다른 스레드를 실행 대기 상태로 만듬

출처: https://cornswrold.tistory.com/189 [평범한개발자노트]

1)Interface Runnable

run() -> Thread로 실행되는 메소드 (start())

  • Runnable을 implements해서 run()이라는 재정의 메소드에 명령을 기재하고
    Thread 클래스의 생성자를 통해서 Thread로 만들어 start()메소드로 실행한다.

2)class Thread

run() -> Thread로 실행되는 메소드 (start()) Thread 실행시 속성값들을 리턴,제어,흐름 주기를 스케쥴링 등의 메소드를 추가한 확장형 클래스

  • Thread라는 클래스를 extends해서 run()이라는 재정의 메소드에 명령을 기재하고 객체 생성후 start()메소드로 실행한다.



Interface Runnable안에 Thread가 있는것을 볼수있다.

두 쓰레드를 동시에 실행하는 내용이다.
두개의 쓰레드는 동시에 올수는 없다.


com.test : String, StringBuffer, StringBuilder 클래스를 활용
1,3번은 동기화를 명시 시켜줘야 한다.

1) String : Create _ 불변작업 , 문자열을 생성,

2) StringBuffer : CRUD_가변성, 문자열 생성, 추가, 삭제 등의 문자열 연산, 동기화
ex) 멀티 채팅, 멀티 게임, 멀티 스레드

3) StringBuilder : CRUD_가변성, 문자열 생성, 추가, 삭제 등의 문자열 연산, 동기화가 되지 않음, 단일 스레드
ex) 단일게임, 단일 스레드

com.test01 : 사용자 정열 코드를 작성해 보자.
static - static int compare(int x, int y)
non-static - int copareTo(Integer anotherInteger)

static <T extends Comparable<? super T> void sort(List list)

static void sort(List list, Comparator<? super T> c)

com.test02 : 프로세스 연동 방법을 이해하자.

com.test03 : 스레드 기본 구현법 2가지와 스레드 클래스의 메소드 활용
class 단위로 실행되는 Process
method 단위로 실행되는 Thread => 2개이상은 MultiThread

profile
개발 옹알이 부터

0개의 댓글