Optional NPE (Null Pointer Exception) 정의 Null 때문에 발생하는 Runtime Exception ( java.lang.NullPointerException ) 변수의 값이 Null임에도 그것을 인지하지 못하고 해당 자료/객체형의 메서드를 호출하는 등에서 문제가 발생 Null 자체의 의미가 모호해 개발/유지보수/디버깅 시 문제를 일으킴 NPE를 방지하기 위해선 어떤 방법을 사용했는가? 사용 전, Null check public int getAllPrice(Lotto lotto) { if (lotto != null) { return lotto.getCount() * lotto.getPrice(); } } 간단해보이지만, Null check 해야하는 변수가 하나가 아니라면? ..

Stream 정리 글들을 보다보면 종단 연산 전까지는 연산이 수행되지 않는다고 한다. -> 그럼 어떻게 연산을 하는 건가? 연산 과정은 대략적으로 아래와 같다. - 정확하지 않고 이해를 위해 쉽게 표현했다. - Stream 데이터를 가지고 Map, Filter 같은 중간 연산을 거쳐 foreach 같은 종단연산까지 여러 스트림 클래스들로 쌓여진다. - 종단연산을 만나면 이제 스트림으로 쌓아놨던 데이터들을 가져오기 시작한다. 맨 위 종단연산에서 기존 데이터가 필요해 아래 스트림을 까게 되고, 그 과정이 반복되다보면 맨 아래 본 데이터를 가지고 스트림 연산을 수행하고 그 결과를 가져오고 가져오고 하는 행위가 수행된다. - 그 과정에서 중간 연산으로 데이터들이 조정되고 수정되고 필터된다. 그렇게 마지막 종단 ..
Java를 공부하다보면 해당 데이터가 어떤 클래스인지 확인해보고 싶을 때가 있다. 그러면 단순히 getClass() method를 사용하면 된다. Object 클래스에서 상속되어 모든 클래스에서 사용이 가능하다. // class java.lang.Integer System.out.println(Integer.valueOf(20201110).getClass()); // class java.lang.Double System.out.println(Double.valueOf(20201110.0).getClass()); // class java.lang.String System.out.println("Hello!".getClass()); // class java.util.ArrayList System.out.pr..

맨날 헷갈리는 3가지. 기본적인 지식이 부족한 것과 비슷한 이름으로 계속 혼동이 온다. 이전에도 정리했던 것 같은데 다시 정리 ! JDK: Java Development Kit / 자바 개발 도구 JRE : Java Runtime Environment / 자바 실행 환경 JVM : Java Virtual Machine / 자바 가상 기계 각 관계는 아래 그림으로 이해하면 된다. JDK - JRE - JVM 순으로 존재하고, JVM이 OS에 의존적이기 때문에 그것에 맞게 JVM을 포함하는 JRE가 존재하고, JRE를 포함한 개발 킷인 JDK가 존재한다.
메서드의 매개변수 개수를 동적으로 지정해주는 방법이다.‘타입… 변수명’ 형식으로 선언할 수 있고, 사용된 예를 찾자면 PrintStream Class의 printf()가 대표적인 예라고 할 수 있다. public PrintStream printf(String format, Object ...args) { ... } 여러 다른 예를 들어보자. 이런 식으로 만들어 사용할 수 있다. 가변인자라는 것 자체가 몇 개의 인자가 들어올지 정해두는 것이 아니기 때문에 개수를 랜덤으로 넣어도 상관없다. 근데 이러한 예들을 보면 한 가지 궁금점이 생길 이다. “매개변수로 배열을 넘겨주는 것과 뭐가 다른가?” 가변인자가 사용되는 것을 설명하자면 사실 가변인자가 사용된 메서드를 선언하면 배열이 새로 생기면서 사용되는 것이다...
- Total
- Today
- Yesterday
- c++
- gradle
- Istio
- 하루
- 알고리즘
- MySQL
- Spring boot
- docker
- Intellij
- jasync
- Clean Architecture
- Algorithm
- 클린 아키텍처
- 로그
- OpenTelemetry
- Spring
- 비동기
- 일상
- Kubernetes
- HTTP
- 백준
- container
- 쿠버네티스
- tag
- k8s
- WebFlux
- java
- python
- Log
- boj
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |