일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Switch Expressions
- 브릿지 메소드
- 익명 클래스
- 정렬
- 항해99
- 바운디드 타입
- throwable
- 스파르타코딩클럽
- Study Halle
- 자바할래
- 로컬 클래스
- 함수형 인터페이스
- System.in
- 합병 정렬
- 제네릭 와일드 카드
- yield
- System.err
- 자바스터디
- junit 5
- 람다식
- auto.create.topics.enable
- 상속
- raw 타입
- github api
- annotation processor
- docker
- 접근지시자
- System.out
- 제네릭 타입
- 프리미티브 타입
- Today
- Total
코딩하는 털보
11 to 9, Day 3 본문
Today, ToDoList
-
자바 라이브 스터디
-
13주차 다시보기
-
14주차 공부하기
-
13주차 리뷰
BufferedStream 을 사용하는 이유?
-> 버퍼에 모아서 보내거나 받을 때 왜 빠를까? -> I/O입출력은 OS 레벨의 시스템 콜인데, 버퍼를 사용하면 이 콜 자체를 줄일 수 있기 때문이다.
주방에서 물컵에 한 모금씩 물을 떠오는 것 보다 한 컵을 채워 떠오는 것이 빠른데 주방에 왔다갔다하는(시스템 콜) 시간이 줄어들기 때문이다.
생각보다 성능 차이가 크기때문에 BufferedStream 을 사용하는 것을 추천!
Direct Buffer vs Non direct Buffer
구분Direct BufferNon Direct Buffer
사용공간 | OS의 메모리 | JVM 힙 메모리 |
버퍼의 생성속도 | 느리다 | 빠르다 |
버퍼의 크기 | 크다 | 작다 |
I/O 성능 | 높다 | 낮다 |
Use | 한번 생성한 뒤 재사용을 할 경우 | 빈번하게 계속해서 사용해야 할 경우 |
[출처] 온라인 자바 스터디#13- NIO의 버퍼, 채널, 셀렉터, 파일 입출력 예제|작성자 슝스
ByteBuffer 클래스를 사용하면 Direct Buffer를 생성하고 접근할 수 있다.
데코레이터 패턴
java.io의 보조 스트림은 데코레이터 디자인 패턴의 대표적인 예이다.
직렬화
이사갈때 짐을 트럭에 실어올리는것이 Serialization 새로운 집에서 짐을 푸는것이 Deserialization.
14주차 공부하기
-
제네릭
-
제네릭을 사용하는 이유
-
자바 제네릭
-
-
제네릭 사용법
-
제네릭 클래스 선언하기
-
제네릭 타입 호출하기
-
다이아몬드
-
여러개의 타입 파라미터
-
raw 타입
-
-
제네릭 메소드
-
제네릭 주요 개념 (바운디드 타입, 와일드 카드)
-
바운디드 타입
-
까지 완료.
오늘 14주차 공부를 마무리 하지 못했다 ㅠㅠ
내일 와일드 카드와 Erasure를 공부하고 마무리 해야 할듯.
그리고 토이 프로젝트 다시 진행 시작!