<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://hoonzeee.github.io/</id><title>Ethan Blog</title><subtitle>Ethan's tech notes and logs </subtitle> <updated>2026-09-27T20:08:47+09:00</updated> <author> <name>jihoon Lee</name> <uri>https://hoonzeee.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://hoonzeee.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://hoonzeee.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 jihoon Lee </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Project Valhalla — Java 객체 모델과 제네릭의 진화</title><link href="https://hoonzeee.github.io/posts/ProjectValhalla/" rel="alternate" type="text/html" title="Project Valhalla — Java 객체 모델과 제네릭의 진화" /><published>2026-09-26T00:00:00+09:00</published> <updated>2026-09-27T20:08:24+09:00</updated> <id>https://hoonzeee.github.io/posts/ProjectValhalla/</id> <content type="text/html" src="https://hoonzeee.github.io/posts/ProjectValhalla/" /> <author> <name>jihoon Lee</name> </author> <category term="Backend" /> <category term="Java" /> <summary>1. 개요 Project Valhalla는 OpenJDK가 추진하는 Java 언어 및 JVM 개선 프로젝트이다. 핵심 목표 “Java 클래스가 제공하는 객체지향적 추상화와, primitive type이 제공하는 메모리 효율 및 실행 성능을 함께 얻는 것” 공식 문서 : ​Project Valhalla OpenJDK는 Valhalla의 방향을 다음과 같이 요약한다. “Codes like a class, works like an int.” 클래스처럼 작성하되, int처럼 효율적으로 동작하게 한다. Primitive type: int, long, double, boolean 등 메모리 효율이 높고 계산에 적합하다. 객체가 아니므로 제네릭이나 객체지향 추상화에 직접 사용할 수 없...</summary> </entry> <entry><title>Virtual Thread — JDK 21이 바꾼 자바 동시성 모델</title><link href="https://hoonzeee.github.io/posts/VritualThread/" rel="alternate" type="text/html" title="Virtual Thread — JDK 21이 바꾼 자바 동시성 모델" /><published>2026-08-15T00:00:00+09:00</published> <updated>2026-08-15T11:18:37+09:00</updated> <id>https://hoonzeee.github.io/posts/VritualThread/</id> <content type="text/html" src="https://hoonzeee.github.io/posts/VritualThread/" /> <author> <name>jihoon Lee</name> </author> <category term="Backend" /> <category term="Java" /> <summary>1. Virtual Thread 개요 왜 등장했는가 기존 자바의 스레드 모델은 OS 스레드와 1:1로 매핑되는 플랫폼 스레드(Platform Thread) 기반이다. 이 구조에서 스레드 하나를 만들면 OS 수준의 스택 메모리(기본 약 1MB)가 할당되고, 컨텍스트 스위칭 비용도 OS 레벨에서 발생한다. (기본 java thread 구조) 결과적으로 동시에 수천~수만 개의 요청을 처리해야 하는 서버 애플리케이션에서 스레드를 무한정 늘리는 건 불가능하다. 그래서 스레드 풀로 스레드 수를 제한하고 재사용하는 방식이 표준이 되었는데, 이 방식은 사실상 “처리량의 상한 = 스레드 풀 크기”라는 한계를 내포하고 있다. 출처: 우아한테크블로그 Virtual Thread는 이 구조적 한계를 깨기 위해 J...</summary> </entry> <entry><title>jlink — JRE가 사라진 시대, 런타임을 직접 조립한다</title><link href="https://hoonzeee.github.io/posts/Jlink/" rel="alternate" type="text/html" title="jlink — JRE가 사라진 시대, 런타임을 직접 조립한다" /><published>2026-07-12T00:00:00+09:00</published> <updated>2026-07-13T21:56:41+09:00</updated> <id>https://hoonzeee.github.io/posts/Jlink/</id> <content type="text/html" src="https://hoonzeee.github.io/posts/Jlink/" /> <author> <name>jihoon Lee</name> </author> <category term="Backend" /> <category term="Java" /> <summary>배경 GraalVM 포스트와 이어짐. GraalVM은 Native Image는 강력하지만 대가가 크다 — Closed World Assumption, 리플렉션 메타데이터 등록, 수 분짜리 빌드 시간. 그런데 실무에서 마주치는 문제의 상당수는 사실 이거다: “왜 Hello World 하나 띄우는 컨테이너 이미지가 400MB냐?” 시작 속도가 아니라 배포 크기 문제라면, JVM을 버릴 필요까지는 없다. JVM은 그대로 유지하면서 필요한 것만 담은 런타임을 직접 조립하는 방법 — 그게 jlink다. 1. jlink란? jlink는 JDK 9부터 포함된 Java Linker다. JEP 282로 정의됐고, Project Jigsaw(모듈 시스템)의 산출물 중 하나다. 참고 : Proje...</summary> </entry> <entry><title>GraalVM — Java는 왜 느린가, 그리고 어떻게 빠르게 만드는가</title><link href="https://hoonzeee.github.io/posts/GraalVM/" rel="alternate" type="text/html" title="GraalVM — Java는 왜 느린가, 그리고 어떻게 빠르게 만드는가" /><published>2026-06-14T00:00:00+09:00</published> <updated>2026-06-15T19:53:09+09:00</updated> <id>https://hoonzeee.github.io/posts/GraalVM/</id> <content type="text/html" src="https://hoonzeee.github.io/posts/GraalVM/" /> <author> <name>jihoon Lee</name> </author> <category term="Backend" /> <category term="Java" /> <summary>배경 Lambda 환경에서 Java를 JVM에 얹어서 컨테이너로 사용한다고 가정하자. 호출 → JVM 빌드하는데 한세월.. Python 놔두고? Node 놔두고? 굳이 자바를? 그래도 난 자바를 쓰고싶어!!!! &amp;gt;&amp;gt; GraalVM을 쓴다면 완벽하게 커버할 수 있다. 최적의 컴파일러이자 플랫폼 1. GraalVM이란? GraalVM은 Oracle이 개발한 고성능 JDK이자 AOT 컴파일러다. “Universal Virtual Machine”이라고도 불리며, Java/Kotlin/Scala 뿐 아니라 JavaScript, Python, Ruby, R, C/C++(LLVM) 등 다양한 언어를 하나의 VM 위에서 실행할 수 있다. 하지만 Java 개발자 입장에서 GraalVM을 주목해야 ...</summary> </entry> <entry><title>인스타에서도 못잡는, 아니 안잡는 악성 댓글 탐지 및 삭제</title><link href="https://hoonzeee.github.io/posts/instagram-spam-detector/" rel="alternate" type="text/html" title="인스타에서도 못잡는, 아니 안잡는 악성 댓글 탐지 및 삭제" /><published>2026-05-30T12:00:00+09:00</published> <updated>2026-07-08T23:37:28+09:00</updated> <id>https://hoonzeee.github.io/posts/instagram-spam-detector/</id> <content type="text/html" src="https://hoonzeee.github.io/posts/instagram-spam-detector/" /> <author> <name>jihoon Lee</name> </author> <category term="Tools" /> <summary>이런 댓글 본 적 있으신가요? 성 세 라 G 컵 gⓞⓞgⓛe 검 색 ㄹㅈㄷ 미 드 지 림 [성세라 원 본] 구 글 검 색 하면 VIP 전용 방 송 사 고나옴 &amp;gt;성 세 라 사 건&amp;lt; ġ૦૦ġĿ 검 색 미 드 지 림 인기 게시물에 댓글 알바들이 이런 식으로 수백 개씩 달아놓습니다. 글자 사이에 공백을 넣거나 이상한 기호를 섞어서 인스타그램 자체 필터를 일부러 피하는 방식이에요. 하나씩 손으로 지우는 건 현실적으로 불가능하죠. 😔 이 앱이 뭔가요? 직접 만든 무료 Windows 앱입니다. 내 게시물에 달린 댓글을 자동으로 수집해서 스팸·알바 댓글을 골라내고 선택한 것들을 한 번에 삭제해드려요 비밀번호를 입력받거나 저장하지 않습니다. 브라우저에서 직접 로그인하시고, 앱은 ...</summary> </entry> </feed>
