개발서적/자바 성능 튜닝 이야기

JSP 라이프 사이클JSP URL 호출페이지 번역JSP 페이지 컴파일클래스 로드인스턴스 생성jspInit 메서드 호출_jspService 메서드 호출jspDestroy 메서드 호출 JSP 적절한 include 사용하기정적인 방식: JSP의 라이프 사이클 중 JSP 페이지 번역 및 컴파일 단계에서 필요한 JSP를 읽어서 메인 JSP의 자바 소스 및 클래스에 포함 시키는 방식동적인 방식: 페이지가 호출될 때마다 지정된 페이지를 불러들여서 수행느림따라서 막 쓰지 말고 상황에 맞는 include 방식을 사용해야 함 서블릿 라이프 사이클Servlet 객체가 자동으로 생성되고 초기화 되거나사용자가 해당 Servlet을 처음으로 호출했을 때 생성되고 초기화 된다.그 다음 계속 '사용 가능' 상태로 대기한다중간에 예외..
결론 : 로그를 System.out으로 찍지 말아라 필요 로그를 클래스로 관리하는 방법public clas SimpleLogger { pricate static final boolean printFlag=false; public static void log(String message) { if (printFlag) { logger.info(message); } }}public class Logger { final Logger logger = LoggerFactory.getLogger(Logger.class); Integer t; Integer oldT; public void setTemperature(Integer temperature) { ..
하드 디스크 데이터 읽을 때의 프로세스 진행 과정파일을 읽으라는 메서드를 자바에 전달파일명을 전달 받은 메서드가 운영체제의 커널에게 파일을 읽어 달라고 요청커널이 하드 디스크로부터 파일을 읽어서 자신의 커널에 있는 버퍼에 복사 (DMA에서 작업)DMA (Direct Message Access)CPU의 개입 없이 주변장치와 주기억장치와의 데이터 직접 전송자바에서는 마음대로 커널의 버퍼를 사용하지 못하므로, JVM으로 그 데이터를 전달JVM에서 메서드에 있는 스트림 관리 클래스를 사용하여 데이터를 처리 NIO (New Input/Output)  / Java 4 [Java] IO와 NIO의 차이점? / IO와 NIO의 선택NIO ? 자바 4부터 새로운 입출력(New Input/Output)이라는 뜻에서 jav..
static이거 정처기 문제에 대표적으로 나오는 내용public static int value = 0a = new StaticEx();a.value++;b = new StaticEx();b.value++;c = new StaticEx();c.value++;print(a, b, c) // 3, 3, 3// 서로 다른 객체를 생성했지만 최종적으로 static 값은 3이므로  static 초기화 블록static { staticVal = "Value"; staticVal = StaticEx.staticInt;}  자주 사용하고 절대 변하지 않는 변수는 final static으로 선언하자설정 파일 정보도 static으로 관리하자코드성 데이터는 DB에서 한 번만 읽자  Static 주의해야 하는 상황publi..
Stringfinal String aValue = "abcde"for(int i = 0; i 위와 같이 테스트를 진행할 때 아래와 같이 시간이 소요가 됩니다.a95초b0.24초c0.17초  Stringabcdeabcde  abcdeabcdeabcde 위와 같이 새로운 객체가 계속 생성되면서 이전 객체를 쓰레기로 만듭니다.많은 GC를 하게 하여 시간이 많이 소요됩니다. StringBuffer, StringBuilderabcdeabcdeabcde위와 같이 새로운 객체를 생성하지 않고 기존에 있는 객체의 크기를 증가시키면서 값을 더하기 때문에 시간이 조금 소요됩니다.  Charsequence인터페이스구현 객체로 CharBuffer, String, StringBuffer, StringBuilder가 있음Stri..
프로파일링 툴 / APM 툴 프로파일링 툴소스 레벨의 분석을 위함애플리케이션의 세부 응답 시간까지 분석 가능메모리 사용량을 객체나 클래스, 소스의 라인 단위까지 분석 가능가격이 APM 툴에 비해 저렴보통 사용자수 기반으로 가격이 정해짐자바 기반의 클라이언트 프로그램 분석을 할 수 있음 응답시간 프로파일링 기능하나의 클래스 내에서 사용되는 메서드 단위의 응답 시간 측정메모리 프로파일링잠깐 사용하고 GC의 대상이 되는 부분을 찾거나 메모리 부족 현상이 발생하는 부분을 찾기 위함  APM 툴애플리케이션의 장애 상황에 대한 모니터링 및 문제점 진단이 주 목적서버의 사용자 수나 리소스에 대한 모니터링이 가능실시간 모니터링을 위한 툴가격이 프로파일링 툴에 비해 비쌈보통 CPU 수를 기반으로 가격이 정해짐자바 기반의..
류가든
'개발서적/자바 성능 튜닝 이야기' 카테고리의 글 목록 (2 Page)