일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- list
- jvm
- Java
- redis
- 스트림
- Kotlin
- Stack
- mysql
- 백준
- Real MySQL
- 보조스트림
- 스프링
- SpringBoot
- 이스티오
- JPA
- 자바
- Stream
- Collection
- 자바 ORM 표준 JPA 프로그래밍
- thread
- MSA
- K8s
- spring
- GC
- 쿠버네티스
- 토비의 스프링 정리
- 토비의 스프링
- gradle
- IntellJ
- OS
- Today
- Total
목록자바 (14)
인생을 코딩하다.

문자 단위 스트림 Reader : 문자 단위로 읽는 최상위 스트림 Writer : 문자 단위로 쓰는 최상위 스트림 추상 메서드를 포함한 추상 클래스로 하위 클래스가 상속받아 구현 하위클래스 스트림 클래스 설명 FileReader 파일에사 문자 단위로 읽는 스트림 클래스 InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해 주는 보조 스트림 클래스 BufferedReader 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공해 주는 보조 스트림 스트림 클래스 설명 FileWriter 파일에 문자 단위로 출력하는 스트림 클래스 OutputStreamWriter 파일에 바이트 단위로 출력한 자료를 변환해 주는 보조 스트림 BufferedWriter 문자로 쓸 때 배열을 제공..

바이트 단위 스트림 InputStream : 바이트 단위 입력 스트림 최상위 클래스 OutPutStream : 바이트 단위 출력 스트림 최상위 클래스 추상 메서드를 포함한 추상 클래스로 하위 클래스가 구현하여 사용 주요 하위 클래스 스트림 클래스(입력) 설명 FileInputStream 파일에서 바이트 단위로 자료를 읽는다. ByteArrayInputStream Byte 배열 메모리에서 바이트 단위로 자료를 읽는다. FilterInputStream 기반 스트림에서 자료를 읽을 때 추가 기능을 제공하는 보조 스트림의 상위 클래스. 스트림 클래스(출력) 설명 FileOutputStream 바이트 단위로 파일에 자료를 쓴다. ByteArrayOutputStream Byte 배열에 바이트 단위로 자료를 쓴다. ..

입출력 스트림이란? 네트워크에서 자료의 흐름이 물과 같다는 의미에서 유래 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식제공 입출력이 구현되는 곳에서는 모두 I/O 스트림을 사용 : 키보드, 파일 디스크, 메모리 등 입출력 스트림 구분? I/O 대상 기준 : 입력 스트림, 출력 스트림 자료의 종류 : 바이트 스트림, 문자 스트림 스트림의 기능 : 기반 스트림, 보조 스트림 입출력을 동시에 할 수 있는 스트림은 없다. 어떤 스트림이 하나 있으면 그 스트림은 입력 or 출력 스트림이다. 마찬가지로 바이트 or 문자 스트림, 기반 or 보조 스트림 자바의 I/O는 데코레이터 패턴으로 구현이 되어 있다. 입출력 스트림과 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 출력 스트림 :..

Multi-thread 프로그래밍 동시에 여러 개의 Thread가 수행되는 프로그래밍 Thread는 각각의 작업공간 (context)를 가짐 공유 자원이 있는 경우 race condition이 발생 critical section에 대한 동기화(synchronization)의 구현이 필요 쓰레드들이 공유하는 자원 = 쉐어드 리소스 이런 자원의 영역을 critical section 이라고 한다. 이 critical section을 2개의 쓰레드가 접근하게 되었을 때, 만약 critical section 에서 어떤값을 가져와서 더하고 뺀다라고 하면 나중에 더해서 오버라이드 한 값이 무시가 될 수 있다. 그래서 더한 다음에 빼야한다. 결국엔 이런 영역에 관해 순서를 지켜주자는게 동기화다. 이 critical s..

Process 실행중인 프로그램 OS으로부터 메모리를 할당 받음 Thread 실제 프로그램이 수행되는 작업의 최소 단위 하나의 프로세스는 하나 이상의 Thread를 가지게됨 Thread는 CPU를 점유해서 돌아가게 되는데, CPU를 점유할 수 있는 것은 스케쥴러라는 것이 있다. 스케쥴러가 쓰레드의 CPU를 할당을 해서 쓰레드가 수행 되도록 역할을 한다. java 명령어를 사용하여 클래스를 실행시키는 순간 자바 프로스세가 시작되고, main() 메소드가 수행되면서 하나의 쓰 레드가 시작되는 것이다. 아무런 쓰레드를 생성하지 않아도 JVM을 관리하기 위한 여러 쓰레드가 존재한다. 예를 들면 자바의 쓰레기 객체를 청소하는 GC 관련 쓰레드가 여기에 속한다. 그런데 왜 Thread를 만들었을까? 프로세스가 하나..

static 관련해서 응용할 수 있는 singleton pattern은 디자인 패턴의 일종이다. 디자인 패턴... 우리가 시스템을 만들때, 객체 지향 프로그램으로 설계할 때, 어떻게 하면 효율적이고 유지보수 하기 좋게 만들 수 있는가를 일종의 패턴으로 만들어 놓은 23가지 패턴 그 중 싱글톤 패턴이란? (아주 기본적인 틀만 설명) 회사가믄 프로그램에서 많이 쓰는데, 새로 만들 때도 있고, 이미 구현된 것을 가져다 쓰는 경우도 많다. 그래서 가져다 쓸 때, new해서 갖다쓰지 않고 인스턴스로 가져다 쓴다. 그럴때 이게 싱글톤 패턴이구나? 라고 이해하면 좋겠죠? 단 하나만 존재하는 인스턴스 - sigleton pattern 생성자는 private으로, static으로 유일한 객체 생성 외부에서 유일한 객체를..