우리는 Wrapper Class에 대해 알 필요가 있다. 스터디 취지에 맞게 기본적인 설명은 빼도록 하겠다. 자 그러면 Wrapper Class를 사용하면서 얻는 이점이 무엇일지 생각해보자. 무의미한 값을 명확하게 표시할 수 있다. @Id @GeneratedValue @Column(name = "user_id") private Long id; 위 코드는 고유 식별 값을 저장 하기위한 Entity 객체의 멤버 변수이다. 우리는 보통 id를 Long으로 선언하는데 이유는 간단하다. null이 담길 수 있기 때문이다. 기본형 타입은 null을 담을 수 없어 default가 0이라는 의미 있는 값이 담기게 된다. 그렇기에 개발자의 실수로 값이 안들어 가더라도 0이라는 의미가 있는 리터럴 변수가 들어가기에 아무런..
저번에는 성능 향상과 Stream에 동작 순서에 대해 알아보았다면 이제는 Optional에 대해 알아보자 Stream은 지연 처리를 통해 연산을 하여 값을 도출해낸다. 그렇다면 정확한 이유와 흐름에 대해 파악해보자 Stream 지연 처리 예제 코드를 먼저 살펴보자 public class StreamLazyCal { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7}; int sum = Arrays.stream(arr) .filter(n -> n % 2 == 1) .sum(); System.out.println(sum); } } 이 예제 코드는 배열을 filter를 통해 홀수만 걸러내어 그 합을 출력하는 코드이다. Strea..
자 우리는 Stream 메서들을 알아 보았고 데이터를 생성해 가공하고 결과를 만들었다. 그렇다면 이러한 Stream을 왜쓰고 동작 흐름에 대해 좀 더 깊게 들어갈 필요가 있다. 2부는 이 내용에 초점을 둘 것이다. 그 전에 사전 지식에 대해 알 필요가 있다. 동시성(Concurrency) 멀티 작업을 위해 스레드가 번갈아가며 실행하는 성질, 싱글 코어 CPU를 이용한 멀티 작업은 병렬적으로 실행되는 것이 아닌 동시성 작업이다. 병렬성(Parallelism) 멀티 작업을 위해 멀티 코어를 이용해 동시에 실행하는 성질 데이터 병렬성(Data Parallelism) 전체 데이터를 나누어 서브 데이터를 만들고 서브 데이터를 병렬 처리해 작업을 빠르게 종료하는 것 q병렬 스트림은 데이터 병렬성을 구현 멀티 코어의..
오늘의 주제는 Stream이다. 실무에서 많이 사용하고있는 문법인 Stream은 가독성을 높여주고 지연 연산을 통해 성능을 최적화 할 수 있다. 우리는 그럼 이러한 많은 장점을 보유한 Stream을 다음 순서로 알아볼 것이다. Stream에 존재하는 다양한 메서드 생성하기 가공하기 결과 만들기 동작 순서 성능 향상 지연 처리 Null-safe Stream 생성 줄여 쓰기 자 그럼 시작해보자! Stream에 존재하는 다양한 메서드 우린 차근 차근 Stream을 생성하고 가공하고 결과를 만드는 것을 차례대로 해볼 것이다. 그저 문법이기 때문에 그렇게 어렵지 않을 것이다. 그렇다면 같이 Stream을 생성하여 결과를 만들어보자 !! 1. 생성하기 먼저 배열을 통해 Stream을 생성해보자 ! public cl..
finally 블록 finally 블록은 보통 예외의 발생 여부와 상관없이 꼭 실행되어야 할 코드를 이 블록에 넣어 마지막에 출력하도록 처리한다. try { // 예외 처리가 발생할 가능성이 있는 로직 작성 } catch (Exception e) { // 예외 발생시 실행되는 로직 보통 에러 메시지를 출력 } finally { // 예외 발생 여부와는 상관없이 수행되는 로직 // finally 블럭은 try-catch문 마지막에 위치해야 함 } 예외 발생 시 try -> catch -> finally 순, 예외가 발생하지 않았을 땐 try -> finally 순으로 실행된다. 예제를 살펴보자 package exception; public class FinallyEx1 { public static void..
예외 클래스의 계층 구조 자바에서는 실행시 발생할 수 있는 오류를 클래스로 정의하여 Exception과 Error클래스가 있다. 위와 같이 최상위 클래스는 Exception 클래스이며 그 밑으로 IOException, RuntimeException 등이 자리하고 있다. 앞으로 그렇다면 RuntimeException 클래스와 그 서브 클래스들을 RuntimeException 클래스들 이라고 하고 그 외 클래스들을 Exception 클래스들로 구분해보자. 그렇다면 Exception과 RuntimeException에 대해 알아보자 실행 중에 발생하는 RuntimeException 실행 중에 발생하며 시스템 환경적으로나 input 값이 잘못된 경우 또는 프로그래머가 의도적으로 잡아내기 위한 조건 등에 부합할 때..
- Total
- Today
- Yesterday
- DB
- 취업준비
- 프로그래밍
- MySQL
- 인터뷰
- DevOps
- 면접
- 취준
- 면접 준비
- 개발자
- 개발
- IT
- 프로젝트
- JPA
- Redis
- CS
- 코딩
- java
- 백엔드
- Spring
- Kotlin
- swarm
- 코드
- 동시성
- 자바
- 면접준비
- 취업
- thread
- 게시판
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |