병렬 스트림 ( Parellel Stream ) 스트림(Stream) 요소를 특정 단위(Chunk)로 작업을 분할하여 처리 할 수 있게 하는 방법이다. 특징 병렬 처리는 사용 방법에 따라 성능에 악영향을 가져오기도 한다. 대표적으로 잦은 박싱•언박싱, 데이터의 순서가 중요한 경우 또는 소량에 데이터를 처리할 때는 적합하지 않다. 올바른 자료구조를 사용해야 한다. ( ArrayList 🅾️ LikedList ❌ ) 요소의 순서가 중요하다면 순차 스트림이 병렬 스트림에 비해 성능이 좋을 수 있다. 박싱•언박싱 과정에 오버헤드가 상당하기 때문테 특화 스트림(IntStream 등)을 사용하는 것이 좋다. 내부적으로 ForkJoinPool 사용한다. 사용 방법 parallelStream 을 통해 병렬 스트림으로 ..
변수 변수 선언 키워드 val (value) 읽기 전용(readOnly)로 자바의 final 키워드가 붙은 변수 자바스크립트의 const 와 비교해 생각하면 쉽다. val은 value( 값 ) 라는 의미를 가진다. var (variable) 가변, 즉 변경 가능한 변수를 의미한다. 값을 변경하는 것은 가능 하지만, 동적타입 언어(ex. JavaScript, Python )처럼 한 번 초기화된 타입이 아닌 타입으로 변경하는 것은 불가능하다. 자바스크립트의 let 과 비교해 생각하면 쉽다. var는 variable( 변수 ) 라는 의미를 가진다. 자바와 다른 특징 Top-Level( 함수 혹은 클래스 밖 ) 에서 선언 가능. Type을 지정 하지 않아도 타입 추론이 된다. ( JDK 10 에서 추가된 var..
자바의 에러와 예외 자바는 에러는 크게 Throwable 의 서브 클래스인 에러(Error) 와 예외(Exception) 로 나뉜다. 에러와 예외의 차이는 아래와 같다. 에러 ( Error ) 에러는 java.lang.Error 의 서브 클래스들을 의미하는데 시스템에 비정상으로 발생한다. 주로 JVM에서 발생시키는데, 애플리케이션 코드에서 잡는다고 해결할 수 있는 문제들이 아니기 때문에 잡을 필요가 없다. 예를 들어 메모리 부족으로 발생하는 OutOfMemory 는 애플리케이션 코드에서 해결할 수 있는 방법이 전혀 존재하지 않는다. 예외 ( Exception ) 예외는 java.lang.Exception의 서브 클래스들을 의미하는데, 개발자들이 만든 애플리케이션 코드 작업중 발생한 예외 상항들을 나타낸다..
람다 ( Lambda ) 란? 함수형 인터페이스의 구현체를 간단히 표현하는 방식이다. 함수형 인터페이스 자바 8부터 추가된 단 하나의 추상 메서드를 가진 인터페이스다. 다만, default 메서드와 private 메서드는 예외로 한다. 람다의 형식 (람다 파라미터) -> { 람다 바디 }; 람다 파라미터 : 함수형 인터페이스의 매개변수 목록과 동일한 시그니처 람다 바디 : 추상 메서드와 같은 Return Type을 가진 함수 로직 람다의 형식 추론 람다는 사용되는 문맥 (Context)에 따라 람다의 형식 추론이 가능한데, 여기서 문맥은 함수형 인터페이스의 추상 메서드 시그니처를 얘기한다. 이러한 시그니처와 동일한 시그니처의 추상 메서드를 가진 인터페이스 타입을 추론하여 대체한다. 람다 캡쳐링 람다 표현..
- Total
- Today
- Yesterday
- 정적 타입 언어
- Clean Architecture
- pass by value
- Sticky Session
- 뾰족함
- 장애 해결기
- ATDD
- 객체 풀
- 클린 아키텍처
- 메모리 파편화
- 육각형 아키텍처
- Object Pool
- multimap
- 메모리 단편화
- pool
- Memory Fragmentation
- RestAssured
- OOP
- 세션 불일치
- Session
- 수평 분할
- 동적 디스패치
- 외부 단편화
- 컴포짓 패턴
- SpringBoot 2.2
- 수직 분할
- 동적 타입 언어
- 내부 단편화
- pass by reference
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |