Spring/Java(13)
-
JDK 17 ~ 21 Release, 제대로 이해하기
본 포스팅은 openJDK 17 부터 21 까지의 변경 사항을 확인하고, JDK 21을 사용할 때 개발자로서 알아두면 좋을 내용을 학습합니다. Previous Series: 📌 JDK 11 ~ 17 Release, 제대로 이해하기 👉🏻 JDK 17 ~ 21 Release, 제대로 이해하기 (current) 지난 9월 19일 (2023년), Open JDK LTS인 JDK 21 가 프로덕션에 적용 목적의 General Availability로 릴리즈되었습니다. General Availability: Final release, ready for production use JDK 21에서는 아래 15개의 새로운 기능들을 발표했는데요. 크게 네 개의 카테고리로 분류해보면 아래와 같습니다. Core Java Li..
2023.10.10 -
JDK 11 ~ 17 Release, 제대로 이해하기
본 포스팅은 openJDK 11 부터 17 까지의 변경 사항을 확인하고, JDK 17을 사용할 때 개발자로서 알아두면 좋을 내용을 학습합니다. Previous Series: 👉🏻 JDK 11 ~ 17 Release, 제대로 이해하기 (current) 📌 JDK 17 ~ 21 Release, 제대로 이해하기 Release Timeline JDK 11는 JDK 17 바로 이전의 LTS release 입니다. 본 포스팅에서는 JDK 11 릴리즈 이후에 변화된 JDK Release를 시간 순서대로 다뤄볼 예정입니다. JDK 12 JDK 12에서는 Compact Number Formatting을 지원하고, 확장된 Switch 표기법 처음 소개 (Preview) 했습니다. 새로운 모습의 Switch 문은 자세한 내..
2023.06.08 -
JVM Architecture, 제대로 이해하기
본 포스팅은 JDK, JRE, JVM에 대한 큰 그림을 그리고 각 구성요소가 어떤 기능을 하는지 깊이 있게 공부합니다. 바야흐로 금요일 저녁 javap 관련 글을 보다가 ... 아니 그래서 ClassFile은 뭘 확인할 수 있는데, 아니 그래서 JDK 9에서 뭐가 바꼈는데, 아니 그래서 JVM Architecture이 어떻게 구성되었는데 ... 이렇게 "아니 그래서 ..." 삼진 아웃 맞고 주말 내내 이어진 디깅이 포스팅이 되었습니다 🤦🏻♀️ 사실 한 번쯤 파보고 싶던 내용이라 확실히 재밌게 공부했습니다. 본 글이 많은 분들에게 도움이 되길 바랍니다. 해당 포스팅의 이미지의 저작권은 본 블로그 관리자에게 있습니다. 2차 사용 시 출처 표시 부탁드립니다. 무단 배포는 삼가해 주세요. 본 포스팅은 JVM ..
2023.05.14 -
Garbage Collector, 제대로 이해하기
소프트웨어 개발자라면 본인의 제품이 메모리를 관리하는 방식에 대한 이해가 필요합니다. 특히 Heap 영역에서 일어나는 동적 메모리 관리는 소프트웨어의 성능을 결정짓는 중요한 요소 중 하나입니다. 컴파일 언어에서 Stack 영역은 컴파일 시간에 그 크기를 가늠할 수 있는 정적 할당과는 달리, 동적 할당은 Runtime 시 Heap영역에서 할당되어 지기 때문에 그 크기가 Application 실행 동안 결정되어 집니다. Garbage Collection C나 C++에서는 개발자들이 동적 할당을 위한 코딩 작업을 하고 난 후, 더 이상 사용되지 않을 때 수동으로 해제해야 합니다. 수동으로 메모리를 해제하는 작업에 대한 휴먼 오류가 발생하기 쉬운데요. 다음과 같은 오류가 발생할 수 있습니다. - 메모리 누수를 ..
2023.01.11 -
Reactor, 제대로 이해하기, Flux Create
Reactor Publisher인 Flux를 생성하는 방법에 대해 이해하고 예제 코드로 직접 코드를 확인하는 것이 해당 포스팅의 목적입니다. | Reactor Series | - Reactive Programming, 제대로 이해하기 - Reactor 제대로 이해하기, Marble Diagram 👉🏻 Reactor, 제대로 이해하기 - Flux Create .from() 🔗 Reactor Link : Publisher로 부터 새로운 Flux 인자 방출emit Flux from(Publisher
2022.12.08 -
Java Time, 제대로 사용하기
package java.time 을 이해하고 자유자재로 사용하는 것이 본 포스팅의 목표입니다. 안녕하세요. 이번 포스팅은 미루고 미루고 미루고... 미뤘던 Java Time 총정리입니다. 미룬 만큼 잘 정리해보려고 하긴 했는데, 만약 부족한 부분이 있다면 댓글로 말씀해주세요 ☺️ java.time.Instant : 기계 시간 표현 먼저, Instant 클래스를 살펴보겠습니다. Instant는 인간이 읽을 수 없는 시간의 정수표기법입니다. 가령 1663166273 라는 타임스탬프를 보고 년, 월, 일, 시, 분, 초를 알 수 있는 사람이 존재할까요? 기계는 위의 타임 스탬프 값을 읽어 시간을 표현합니다. Instant를 통해 바로 이러한 타임스탬프 값을 나타내는 객체를 생성할 수 있습니다. Instant의..
2022.09.14