일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- thread
- spring
- IntellJ
- jvm
- SpringBoot
- GC
- Java
- 스트림
- 토비의 스프링
- mysql
- 토비의 스프링 정리
- Kotlin
- 이스티오
- 자바 ORM 표준 JPA 프로그래밍
- 자바
- JPA
- 쿠버네티스
- 보조스트림
- redis
- list
- Collection
- Stack
- MSA
- K8s
- Stream
- 스프링
- gradle
- 백준
- Real MySQL
- OS
- Today
- Total
목록Java (35)
인생을 코딩하다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vpEvu/btqTqJk8xDg/OSc7FI0HLKisv01kmk186k/img.png)
Collection 인터페이스는 java.util 패키지에 선언되어 있으며, 여러 개의 객체를 하나의 객체에 담아 처리할 때 공통적으로 사용되는 여러 메소드들을 선언해 놓았다. 이중에 유일하게 Map 만이 Collection과 관련 없는 별도의 인터페이스로 선언되어 있다. Collection의 인터페이스는 다음과 같이 선언되어 있다. public interface Collection extends Iterable { Iterable 이라는 인터페이스를 확장하고 있다. Iterable 인터페이스에 선언되어 있는 메서드는 iterator() 메소드 하나가 있다. 더보기 Iterator라는 인터페이스에는 추가 데이터가 있는지 확인하는 hasNext() 메소드, 현재 위치를 다음 요소로 넘기고 그 값을 리턴해주..
============ 기준으로 위 4, 아래 5 content().string(containsString()) // Junit4 ==================================================================== content().string(org.hamcrest.Matchers.containsString()))) // Junit5 assertThat(skhu.getId(), is()); // import org.hamcrest.core.Is.is; ================================================================================================== assertThat(skhu.getId..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HgNd5/btqOcRhTNfB/RoUUUP5sDBl7zLUljLUgiK/img.png)
직렬화(Serialization) 인스턴스의 상태를 그대로 저장하거나 네트워크로 전송하고 이를 다시 복원하는 (Deserialization)하는 방식 ObjectInputStream과 ObjectOutputStream 시용 보조스트림 객체의 상태를 영속화 하는 메커니즘 객체를 다른 환경(File, db)에 저장했다가 나중에 재구성 할 수 있게 만드는 과정 언제쓸까? 객체의 상태를 영속해야 할 필요가 있을때 , 즉 어딘가에 저장해야 할 필요가 있을때 (여기서 저장이라는 것은 파일이나 데이터베이스가 될 수도 있고, 캐시와 같은 메모리가 될 수도 있다.) 정보를 전달할 필요가 있을 때 (다른 VM (버츄얼머신) 에게 객체의 정보를 전송해야 할 시에 바이트 스트림으로 변환해서 전송해야 할 때) Serializa..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7Jmlg/btqOeCXluXm/46OZ7K7NJLRp6wLK2uPT2k/img.png)
문자 단위 스트림 Reader : 문자 단위로 읽는 최상위 스트림 Writer : 문자 단위로 쓰는 최상위 스트림 추상 메서드를 포함한 추상 클래스로 하위 클래스가 상속받아 구현 하위클래스 스트림 클래스 설명 FileReader 파일에사 문자 단위로 읽는 스트림 클래스 InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해 주는 보조 스트림 클래스 BufferedReader 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공해 주는 보조 스트림 스트림 클래스 설명 FileWriter 파일에 문자 단위로 출력하는 스트림 클래스 OutputStreamWriter 파일에 바이트 단위로 출력한 자료를 변환해 주는 보조 스트림 BufferedWriter 문자로 쓸 때 배열을 제공..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/On63w/btqN5eJ9NkM/r3Q9RljKremdVMwgBKpYFK/img.png)
바이트 단위 스트림 InputStream : 바이트 단위 입력 스트림 최상위 클래스 OutPutStream : 바이트 단위 출력 스트림 최상위 클래스 추상 메서드를 포함한 추상 클래스로 하위 클래스가 구현하여 사용 주요 하위 클래스 스트림 클래스(입력) 설명 FileInputStream 파일에서 바이트 단위로 자료를 읽는다. ByteArrayInputStream Byte 배열 메모리에서 바이트 단위로 자료를 읽는다. FilterInputStream 기반 스트림에서 자료를 읽을 때 추가 기능을 제공하는 보조 스트림의 상위 클래스. 스트림 클래스(출력) 설명 FileOutputStream 바이트 단위로 파일에 자료를 쓴다. ByteArrayOutputStream Byte 배열에 바이트 단위로 자료를 쓴다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lhSho/btqNQwKBGx0/N383teSr0DC1qxe4Mr9cnK/img.png)
입출력 스트림이란? 네트워크에서 자료의 흐름이 물과 같다는 의미에서 유래 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식제공 입출력이 구현되는 곳에서는 모두 I/O 스트림을 사용 : 키보드, 파일 디스크, 메모리 등 입출력 스트림 구분? I/O 대상 기준 : 입력 스트림, 출력 스트림 자료의 종류 : 바이트 스트림, 문자 스트림 스트림의 기능 : 기반 스트림, 보조 스트림 입출력을 동시에 할 수 있는 스트림은 없다. 어떤 스트림이 하나 있으면 그 스트림은 입력 or 출력 스트림이다. 마찬가지로 바이트 or 문자 스트림, 기반 or 보조 스트림 자바의 I/O는 데코레이터 패턴으로 구현이 되어 있다. 입출력 스트림과 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 출력 스트림 :..
자바 초심자 입장에서 은근히 간과할 수 있는 내용일수도 있다고 생각하여 글을 작성해보았습니다. 저 또한 자바 성능 튜닝 이야기를 처음 읽었을때 "앗 차!" 했던 내용이였습니다. 혹시나 자바를 처음 시작하신 분들에게 도움이 되었으면 하는 마음에 이 글을 바칩니다. 보통 가장 많이 쓰는 for문 public static void example(List numbers) { for (int i = 0; i < numbers.size(); i++) { .... } } 만약 numbers의 size가 10만 이라고 가정하면, 위의 코드는 불필요한 size()메서드를 10만번 반복 하는 것입니다. public static void example(List numbers) { int numbersSize = number..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Heazz/btqMVCl5gf0/nk3o7Wc3wvqqdjJPPYJkMk/img.png)
요즘 읽기 좋은 코드, 헙업할 때 좋은 코드란 뭘까에 관해 많이 고민중이고.. 공부하려고 하는중인데 그래서 디자인 패턴에 관해 정확히 알아둬야 겠다는 생각이 들어 공부하고 지식 공유합니다. 디자인 패턴이란 진짜 간단히 말하면 알아보기 쉽게, 즉 효율적인 의사소통을 위한 코드? 그러한 방법들을 몇 가지의 일종의 패턴으로 분류해 놓은 것 또 템플릿 메소드 패턴이란 디자인 패턴 중 하나 템플릿 메서드를 공부하기 전에, 추상 클래스,추상 메서드에 관해 모른다면 먼저 공부해보시길 바라며... 템플릿 메서드란? 프레임워크에서 설계를 할 때, 흔하게 사용되는 방법 중 하나 - 어떤 작업을 처리할 때 일부분을 서브 클래스로 캡술화(Aihyungil.java, ManualHyungil.java)하여 전체 일을 수행하는 ..