일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 월칙
- 도파민형 인간
- 히든 스토리
- 과제의 분리
- 아웃풋법칙
- 칭기즈칸의 위대한 장군 수부타이
- node
- Infresh
- 레퍼런스 복사
- 쿠버네티스
- 공헌감
- kubernetes
- 참조 계수
- ESG
- CSS
- apache kafka
- 모두가 기다리는 사람
- try width resources
- sentry
- 뉴 컨피던스
- 부자의그릇
- 비메모리 자원
- java
- Container
- HTML
- 이펙티브 자바
- try-with-resources
- docker
- colllection
- 수부타이
- Today
- Total
Hi
Buffer와 Cache는 CPU와 메인메모리 사이에 있으며, Buffer : 쓰거나 읽을 데이터를 '미리' 가져와 저장. Cache : 사용 했던 데이터를 또 사용 할 가능성이 있으면 캐시에 저장
대부분의 규칙은 몇 개의 기본적 원칙 - 명료함(clarity)과 단순함(simplicity) 각 모듈은 사용자가 예상할 수 없는 방식으로 동장하면 안됨(가능한 작아야 하지만, 그렇다고 너무 작아져서는 안된) 모듈 - 재사용 가능한 컴포넌트. (개별 메소드 뿐 아니라 여러 패키지로 구성된 복잡한 시스템까지 아우름) '코드'는 복사하기보단 재사용해야 한다. 모듈 간 의존성은 가능한 줄여야 한다. 오류는 코드에 끼어든 즉시, 바람직하게는 컴파일 시점에 탐지가능 하도록 한다. 자바는 네 가지 유형의 자료형(type)을 지원. - 인터페이스(interface. 어노테이션 포함), 클래스(class, 열거 자료형 enum 포함), 배열(array), 기본 자료형(primitive type) 참조 자료형 (refe..
스택을 만들어보자 Vector, HashTable, StringBuffer => 멀티 스레드 안정성 잘못 설계된 라이브러리의 특징 : 동기화의 정책을 라이브러리가 결정하면 안된다.List, Map, StringBuilder스레드 안정성이 없다. int n = 0; ++n; => 원자적이지 않기 때문에, 문제가 발생한다. import java.lang.ref.SoftReference; class User { private String name; private int age; private String cache = null; public User(String name, int age) { this.name = name; this.age = age; } @Override public String toStri..
스택을 만들어보자 Stack을 만들어 보자. 1. List를 한쪽 방향으로 넣거나 빼면 스택이다. 2. 기존 클래스(ArrayList, LinkedList)를 재활용해서 만들어보자. 상속: is-a 포함 현대적인 객체 지향 설계에서는 상속을 재사용을 위해 사용하지 않는다. 상속의 목적? : 다형성 4. 상속의 문제점 => 깨지기 쉬운 기반 클래스의 문제기존 클래스의 인터페이스를 변경해서 새로운 클래스처럼 보이게 하는 설계 방법 => 어댑터(Adapter) import java.util.*; //import java.util.Stack; // 라이브러리를 설계할 때 // : 사용하기 편리하게 해야 한다. // 잘못 사용하기도 어렵게 만들어야 한다. // Generic // : 알고리즘은 동일한데, 타입만 ..
순회 순회(Traverse) => Stack을 다른 사람들이 내부 구조를 알지 못한다고 하더라도 순회를 하게 하고 싶다.컬렉션(Collection)의 내부 구조에 상관없이 요소를 순회(열거)하고 싶다 => Iterator나의 컬렉션이 Iterator를 제공하고 있다. => Iterable반복자(Iterator)를 사용할 때 주의할점 => 순회 동안 절대 내부 요소에 크기의 변경이 발생하면 안된다. : Concurrent Modification Exception import org.junit.Test; import java.util.Iterator; import java.util.Stack; // Iterator -> Enumerator // Iterable -> Enumrable class CountDo..
인터페이스 추상클래스와 인터페이스의 차이점 => 상태를 가질수 있다 없다. 추상 클래스는 부모가 기본적인 구현을 제공할 수 있다. import java.util.Iterator; interface MP3 { void play(); void stop(); // default(defender) method - Java 8 default void playOneMinute() { play(); //... stop(); } } interface MP4 { default void playOneMinute() { // play(); //... // stop(); } } class Person { public void playMusic(MP3 mp3) { mp3.play(); } } class SmartPhone im..