PinnedallocProc[kotlin] 코루틴 내부 최적화 분석 (was optimised out)코틀린의 suspend 함수는 내부 최적화 때문에 디버깅하기 까다로웠다. 이 최적화는 코루틴의 메모리 누수를 방지하기 위한 장치. (버전 1.4.20 에서 추가됨)코틀린 1.8.0 버전 부터는 디버깅 경험 개선을 위해 최적화를 끌 수 있는 옵션을…Feb 11, 20233Feb 11, 20233
allocProcProject Valhalla : value class이 글은 State of Valhalla Part 1: The Road to Valhalla 를 나름대로 요약하고 정리한 글입니다. OpenJDK 에서 자바를 개선하고자 꽤 오래 전부터 대대적으로 진행하는 프로젝트가 여러가지가 있습니다. (Loom…Mar 3Mar 3
allocProc[Kotlin] 코루틴이 Deadlock을 유발하는 경우runBlocking 메소드는 사용에 있어서 크게 주의해야할 점이 하나 있는데, 이는 코틀린 공식 문서에도 언급되어있다. runBlocking 은 코루틴 내부에서 사용하지 말 것.Dec 10, 2023Dec 10, 2023
allocProcvirtual thread + synchronized = Xvirtual thread 를 synchronized 블록과 함께 사용할 때는 조심하자. synchronized 블록에서 blocking I/O 를 실행할 경우 VT 를 사용했다 하더라도 java thread 가 블락된다.Nov 16, 20233Nov 16, 20233
allocProcStructured Concurrency 이해하기코틀린의 코루틴은 코틀린에서 동시성 프로그래밍을 지원하기 위한 도구입니다. 자바에도 동시성 프로그래밍을 위한 편리한 라이브러리가 많죠. 코틀린에선 자바 코드를 문제없이 사용할 수 있으니 동시성 코드를 구현함에 있어서 꼭 코루틴을 써야하는 건…Sep 22, 20231Sep 22, 20231
allocProc[ElasticSearch] match, term 쿼리 제대로 이해하기ElasticSearch 에서 검색을 위한 가장 기본적인 쿼리 DSL 을 작성한다고 하면 대부분 match 쿼리나 term 쿼리를 베이스로 작성합니다. 기본적인 match, term 쿼리의 동작을 자세히 정리해봤습니다.Aug 24, 2023Aug 24, 2023
allocProcJava 클로저 vs Kotlin 클로저클로저(Closure)란 무엇이고 Java 의 클로저와 Kotlin 을 클로저는 어떻게 다른지 자세히 알아봅시다.Jul 16, 20231Jul 16, 20231
allocProc코루틴 내부로 Tracing Context 공유하기서버 애플리케이션을 개발하다보면 서버로 들어온 하나의 고유한 HTTP 요청에 대한 context 정보(대표적으로 로깅)를 여러 스레드에 걸쳐서 공유하고 유지해야할 필요가 생깁니다.May 21, 20231May 21, 20231