Spring49 [Spring] Spring Framework CDS(Class Data Sharing) (Project Leyden) https://spring.io/blog/2023/10/16/runtime-efficiency-with-spring에 대한 후속 조치로 Project Leyden 최적화를 위해 많이 사용되지 않는 JDK의 CDS(lass Data Sharing) 기능에 대한 지원이 Spring Framework 6.1에 제공되어 CDS에 대하여 알아본다. GraalVM, Proejct CRaC를 사용하면 Spring Boot 애플리케이션을 수십 밀리초에 시작할 수 있다. 하지만 왜 CDs에 관심을 가져야 하는지 알아보자.GraalVM 및 Proejct CRaC보다 제약 조건과 부작용이 적고, OpenJDK에서 즉시 사용 가능한 기술이다.대부분의 사람들은 CDS를 사용하지 않지만 상대적으로 적은 작업으로 합리적인 시작 시.. 2024. 6. 6. Spring Framework - Runtime efficiency with String (today and tomorrow) 개요Spring Framework 6.1 and Spring Boot 3.2에서 애플리케이션 런타임을 최적화(optimize the runtime effieciency) 할 수 있도록 Spring 에서 제공하는것.Spring MVC as a lean Virtual Threads web stack on JDK 21 (JDK 가상 스레드)Optimized container deployment with Spring and GraalVM Native Image (GraalVM Native Image를 사용한 컨테이너 배포)JVM Checkpoint Restore: Scale to zero with Spring and Project CRaC (JVM 체크 포인트 복원)A glimpse into OpenJDK’s .. 2024. 6. 2. Virtual Threads Summary높은 처치량의 동시성 애플리케이션을 개발하는데 사용하는 lighweight threads. HistoryJDK 19 미리보기 기능으로 제안되었고, 아래 변경사항을 포함하여 JDK 21에 추가될 예정thread-local variables 지원Thread API를 통해 직접 생성 가능Goalsthread-per-reqeust style로 하드웨어를 최대한 활용한 코드를 쉽게 작성 할 수 있게 해준다.java.lang.Thread API를 사용하여 최소한의 변경으로 가상 스레드를 적용할 수 있게 한다.기존 JDK 툴로 트러블 슈팅, 디버깅, 프로파일링을 가능하게 한다.Non-Goals전통적인 스레드 구현을 제거하거나, 가상 스레드 사용으 위해서 기존 애플리케이션을 마이그레이션하는 것이 목표가 아.. 2024. 6. 2. Ehcache Annotations for Spring Spring 3.0으로 개발하면서 캐쉬를 적용 할 일이있어서 몇가지 방법을 찾던중 쉽게 적용 가능한 방법이 있어서 소개합니다.ehcache-spring-annotations간단한 소개를 하면 ehcache를 사용하여 캐쉬를 하고, 메서드에 어노테이션으로 추가하여 캐쉬를 설정할 수 있다.적용방법일단 라이브러리를 추가 com.googlecode.ehcache-spring-annotations ehcache-spring-annotations 1.1.2Spring Bean 설정(볼드 처리한 부분 추가) xmlns:context="http://www.springframework.org/schema/context" xmlns:ehcache="http://ehcache-spring-annotations.g.. 2010. 8. 5. HiddenHttpMethodFilter Spring 3 MVC 기능 중 Controller에 @RequestMapping 어노테이션에 method 속성을 사용하기 위해서는 web.xml 아래 필터를 설정해야 한다. httpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter httpMethodFilter /* UrlRewriteFilter 필터도 사용한다면 UrlRewriteFilter 필터보다 위에 위치해야한다.간단한 삭제 Controller 코드 @RequestMapping(value = "/admin/board/{id}", method = RequestMethod.DELETE) pub.. 2010. 6. 24. Don't repeat the DAO!(Hibernate) 하이버네이트를 사용하여 어플리케이션을 개발하다보면 CRUD구현을 반복적으로 구현하게됩니다.DAO에 save, update, get, remove 등을 메소드들이 반복적으로 사용된다.JAVA5가 나오고 GenericDAO에 대한 아이디어와 구현을 많이 찾아볼 수 있다.아무튼 GenericDAO를 구현하여 반복적으로 사용되는 메소드를 줄여보자 ㅎGenericDao 인터페이스로 공통적으로 사용되는 메소드들을 등록시켜준다.public interface GenericDaoextends Serializable> { T get(PK id); List get(T t); List getAll(); void save(T t); void update(T t); void remove(PK id); void remove(T t.. 2008. 11. 27. 이전 1 ··· 5 6 7 8 9 다음 728x90