목적 과도한 트래픽을 방지하여 서비스 안정성을 유지 합니다. 특정 클라이언트가 서버 자원을 독점하지 못하도록 공정하게 분배합니다. 개발, 운영, 유료 키 등 차등 정책 적용 알고리즘 보통 아래 4가지 알고리즘으로 구현할 수 있다. Token Bucket: 가용한 토큰 개수만큼 요청 처리 Leaky Bucket: 일정한 속도 요...
Virtual Thread JEP 444: Virtual Threads JAVA 21 가상 쓰레드는 높은 처리량의 동시성 애플리케이션을 쉽게 작성할 수 있는 경량 쓰레드이다. Java 플랫폼에 가상 쓰레드가 도입된다. Thread per request 모델 웹 애플리케이션의 일반적이고 단순한 패턴 쓰레드 생성은 매우 느리고 ...
검토 하는 이유 사실 가장 큰 이유는 Spring Boot 때문.. Spring Boot 2까지는 Java 8이 최소 지원 버전이었지만, Spring Boot 3 부터는 Java 17이 최소 지원 버전이다. Spring Boot 3 시스템 요구사항 Spring Boot 지원 예정일 다른 언어들에...
view source 은근히 써먹을데가 있을 것 같다. RangeSet으로 범위 계산을 간단하게 할 수 있다. @Test public void openClosedTest() throws Exception { RangeSet<Integer> rangeSet = TreeRangeSet.create(); // 0 &l...
view source 하나의 key에 여러개의 value를 put 할 수 있다. @Test public void multimapTest() throws Exception { // 하나의 key에 여러 value 셋팅 가능 Multimap<String, String> mpsTeam = ArrayListMultimap....
view source plain java로 단어수를 카운트 하는 방법 @Test public void wordCountTest() throws Exception { // 단어수를 카운트 하는 방법 List<String> words = new ArrayList<>(); words.add("java")...
view source plain java의 map의 사용법 @Test public void mapPutTest() throws Exception { // plain java의 map Map<String, String> maps = new HashMap<>(); maps.put("jooyong", "...
view source 카멜, 언더스코어, 하이픈끼리 서로 변환할 수 있다. @Test public void caseFormatTest() throws Exception { String camelString = "myFirstGuava"; System.out.println(CaseFormat.LOWER_CA...
view source string을 구분자를 통해 Iterable 객체로 변경 @Test public void splitTest() throws Exception { String sequence = "java ,scala, ,python , go, , javascript"; Iterab...
view source collection에 null이 포함되어 있으면 NullPointerException이 발생한다. @Test(expected = NullPointerException.class) public void joinerNullTest() throws Exception { List<Integer>...
A new version of content is available.