목록2024/04/28 (3)
csct3434
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXKWKP/btsHUFTpadF/TBxaDrVwaXtW4TWOuekApK/img.png)
Collection 및 Map 인터페이스 구성Set 인터페이스HashSet : 데이터를 해쉬 테이블에 담는 클래스로 순서 없이 저장된다.LinkedHashSet : 데이터를 해쉬 테이블에 담는 클래스로 저장된 순서에 따라서 순서가 결정된다.TreeSet : 데이터를 Red-Black 트리에 담는 클래스로 내부적으로 정렬이 수행된다.데이터 추가 성능 비교 : "data1", "data2", ... , "data1000" 순차 추가대상평균 응답 시간 (마이크로초)HashSet375LinkedHashSet378TreeSet1,249HashSet과 LinkdHashSet의 성능은 비슷하고, TreeSet은 내부적으로 정렬이 수행되어 상대적으로 느린 성능을 보인다.HashSet의 크기를 미리 지정한 경우대상평균 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/caYWyV/btsHSZshi9R/gKH6rkQ0WBMT4V7nvxWHA1/img.png)
StringBuilder 클래스와 StringBuffer 클래스StringBuilder와 StringBuffer가 제공하는 메서드는 동일StringBuffer는 ThreadSafe하게 설계되어 있으므로 여러 스레드에서 객체를 공유할 때 사용StringBuilder는 단일 스레드에서의 안정성만 보장하므로 여러 스레드에서 공유할 경우 동시성 문제가 발생String vs StringBuffer vs StringBuilder package org.example;public class Main { private static final String value = "abcde"; private void testString() { String a = new String(); for ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HOVXI/btsHTg8p0fU/55MQKbK7XNu5Yc3NQM9PHK/img.png)
APM 툴 VS 프로파일링 툴프로파일링 툴소스 레벨의 분석을 위한 툴애플리케이션의 세부 응답시간까지 분석 가능메모리 사용량을 객체, 클래스, 소스 라인 단위까지 분석 가능자바 기반의 클라이언트 프로그램 분석 가능개발자용 툴주로 느린 메서드 및 클래스를 찾는 것을 목적으로 사용APM 툴애플리케이션의 장애 상황에 대한 모니터링 및 문제점 진단이 주 목적서버의 사용자 수나 리소스에 대한 모니터링 가능실시간 모니터링을 위한 툴자바 기반의 클라이언트 프로그램 분석 불가능운영 환경용 툴목적에 따라 용도가 상이 (어떤 APM 툴은 문제점 진단에 강한 반면, 다른 APM 툴은 시스템 모니터링 및 운영에 강함)프로파일링 툴의 기능응답 시간 프로파일링 기능하나의 클래스 내에서 사용되는 메서드 단위의 응답 시간을 측정 (툴..