Java

들어가며 안녕하세요! java21 LTS version 이 신규 출시됨에 따라 많이 관심을 받고 있는 Virtual thread 에 대해 이야기해보고자 하는데요 Virtual thread 는 기존에 동작하는 Platform thread 에서 동작하며, I/O blocking 발생시 중단(suspend) 지점을 stack 으로 옮겨, I/O block 되는 시간동안 다른 일들을 더 수행할 수 있게 지원하는 경량화 쓰레드라고 할 수 있습니다. 따라서 java 진영에서는 기존에 thread-per-request style 를 갖춘 application server 에서 I/O blocking 으로 인해 아무것도 하는일이 없는데도 task 를 처리할 수 없는 상황들로 인해 병목이 되는 부분들을 해결할 수 있어 ..
암호화 최근에 암호화에 대해서 많이 배우고 있었는데요 모르고 헷갈리고 정신없는 부분들이 너무 많아서 조금 이해하기 쉽게(?) 정리하면 좋겠어가지고 정리하게 되었습니다 사실 네이버 블로그나 여러 군데에 정말 많은 글들이 있는데요 내용이 워낙에 어려운지라 헷갈려가지고 따로 정리하게 되었네요 ㅎㅎ 먼저 암호화라는 개념은 너무나 간단합니다 내가 가진 원문의 메세지를 상대방이 해석할 수 없게 하는 것이 바로 암호화의 목적이죠 예를 들자면, 원문의 메세지는 일반적인 집주소, 전화번호 와 같은 개인정보들이 될 수도 있구요! 이제 암호화를 어떻게 하는지에 대해 알아보도록 할게요! 암호화 하는 방법 우리가 컴퓨터를 공부하다보면 암호화하는 방법들에 대해 간략히 배우게 되는데요 대표적인 종류로는 대칭키 암호, 비대칭키 암호..
Java Memory 자바 개발자라면 꼭 알고 넘어가야 하는 기본 아닌 기본 소양 📝 JVM 처음부터 다 설명하는 것은 제가 이야기하고자 하는 포인트가 아니라서, 간략하게 중요한 것만 짚고 넘어가려고 합니다 ㅎㅎ 전체적인 JVM 의 구조는 아래와 같습니다 정확히는 JVM 의 Heap 에 대해서만 짚고 넘어가보도록 할게요 저희는 예전부터 개발을 진행해왔고, 많이들 익숙하신 그림을 하나 소개할까해요 위 그림은 Jdk 1.7 버젼 이전의 Heap 메모리 구조입니다 Eden: 새로 생성한 대부분의 객체가 위치하는 곳 S0, S1: Eden 영역에서 GC가 한번 발생한 후 살아남은 객체들이 존재하는 곳 Old Memory: Young Generation에 대한 GC가 반복되는 과정속에 살아남은 객체가 살아남는 곳..
DI 안녕하세요 ㅎㅎ 오늘은 Spring의 3대 요소중 하나인 DI(Dependency Injection)에 대해서 알아보려고 해요.! 먼저 우리가 제일 어려워하는 단어인, 의존성 주입(DI)이 무엇일까요? 의존성 주입이란? -> 클래스의 연관관계를 주입해준다. 보통 의존성이라는 것은 클래스의 연관관계를 의미하는데, class Person { private Animal animal; public String getPetName() { return animal.name(); } } 이 경우 Person은 Animal에 의존한다 라고 보시면 될 것 같습니다 Person이라는 객체가 Animal을 참조하고 있고, animal을 바탕으로 로직이 흐르기 때문이죠 그럼 다시 돌아와서 의존성 주입은? 클래스가 가지고..
로그를 남기는 방법? 우리가 왜 Application에 log를 남기는 것이 중요한지 에 대해서는 지난시간에 살펴보았죠 ㅎㅎ 기억이 안나신다면 이전 포스팅을 참고해주세요 :) huisam.tistory.com/entry/springlogging Spring Boot 에서 log를 남기는 방법 - Spring log 남기기 Monitoring? 오늘은 Spring 에서 로그를 남기는 방법에 대해 알아보도록 하겠습니다~! Spring Application을 제작할 때, 시스템의 성능, 서비스도 중요하지만 서비스를 유지하기 위해서는 모니터링이 꼭 필 huisam.tistory.com 그래서 오늘은 무엇을 배워볼까 하면요.! 바로 Application Code 상으로 로그를 남기는 방법을 알았으니까, 실제로 만..
Proxy? 먼저 Proxy가 뭘까요.? Proxy는 일종의 대리자 입니다 디자인 패턴중에서 Proxy 패턴을 들어본적이 있으신가요? 우리가 특정한 Interface를 노출시키지 않고, 외부로부터 감추고 싶을 때 사용하는 것이 바로 Proxy 패턴입니다. 자세한 내용은 이전에 정리해 놓았으니 이 링크 참고해주세요 ㅎㅎ 그렇다면 Spring에서 지원하는 Proxy와 디자인 패턴에서의 Proxy 패턴은 유사할까요.? 정답은.. 아닙니다 일반적으로 Proxy는 실제 Target의 기능을 대신 수행하면서, 기능을 확장하거나 추가하는 실제 객체를 의미하고, Proxy 패턴은 Target에 대한 기능을 확장하지는 않고, Client가 Target에 접근하는 방식을 변경해줍니다. 오히려 Proxy는 Template ..
huisam
'Java' 태그의 글 목록