JIT (just-in-time,JIT) 컴파일러는 JVM의 핵심입니다. JVM내에서 컴파일러보다 성능에 더 영향을 주는 요소는 없습니다.대부분의 상황에서 티어드 컴파일(tiered compilation)을 사용하기만 해도 튜닝할 필요는 거의 없습니다.CPU는 어셈블리
핫스팟이란 이름은 코드 컴파일에 대한 접근법에서 유래했다고 합니다. 일반적인 프로그램은 전체 코드 중 일부만 자주 실행되며 애플리케이션의 성능은 이 일부가 얼마나 빠르게 실행되는가에 의해 좌우됩니다.이 중요한 영역을 애플리케이션의 핫 스팟 이라고 합니다. 해당 영역의
JIT 컴파일러는 두가지 형태로 나뉩니다. 사용할 형태는 흔히 애플리케이션이 실행되고 있을때 해야할 컴파일러 튜닝에 따라 결정됩니다.두개의 컴파일러는 클라이언트와 서버로 알려져 있습니다.JVM 개발자 들은 흔히 c1(컴파일러 1, 클라이언트 컴파일러) 와 c2(컴파일러
32-bit 클라이언트 버전32-bit 서버 버전64-bit 서버 버전64-bit 서버 컴파일러는 티어드 컴파일을 지원하기 위해 클라이언트 컴파일도 가지고 있습니다.32bit 운영체제를 가지고 있다면 JVM도 32bit를 사용해야 합니다.64bit 운영체제를 가지고 있
컴파일이 동작하는 방법에 대한 상세 내역의 일부를 다루며 처리 과정에서 영향을 줄 수 있는 부가적인 튜닝을 소개하겠습니다.하지만 이 값을 변경한다고 크게 달라지는 부분은 없습니다.컴파일 임계치에서 메소드가 컴파일 대상이 되면 컴파일 큐에 들어가 대기하게 됩니다.큐는 한
역최적화는 컴파일러가 선생한 컴파일의 일부를 원상태로 되돌리는 것을 의미합니다.이에 대한 영향은 컴파일러가 대상 코드를 다시 컴파일 할 수 있을 때 까지 애플리케이션의 성능은 감소합니다.(그렇게 크지는 않다)역최적화는 코드가 진입 불가와 좀비화일때 발생합니다.코드에 진
가비지 컬랙션이란? 가비지 컬렉션 튜닝은 자바 애플리케이션 성능을 개선하기 위해 할 수 있는 일 중 가장 중요합니다. 현재 JVM에서 사용할 수 있는 주요 가비지 컬렉터는 단일 CPU 머신에서 사용하는 시리얼 컬렉터(serial collector), 처리율 병렬
네개중 가장 단순한 알고리즘애플리케이션이 클라이언트 클래스 머신에서 수행되고 있다면 디폴트 컬렉터 입니다.시리얼 컬렉터는 힙을 처리하기 위해 단일 스레드를 사용합니다. 마이너나 풀 가비지컬랙션를 사용한다면 애플리케이션스레드는 모두 중지됩니다.풀 가비지컬랙션가 일어나는
비록 가비지 컬렉터 알고리즘 마다 힙을 처리하는 방식은 다르지만 기본적인 환경 설정 매개변수는 공유합니다.가비지 컬렉터의 첫번째 기본 튜닝은 애플리케이션 힙 크기 입니다. 이는 힙의 제너레이션의 크기에 영향을 주는 고급 튜닝입니다.대부분의 성능 문제에서 힙크기를 결정하
enum은 equals 메서드를 쓸 필요가 없다고 하셨습니다. 열거 타입은 인스턴스들이 고정되어 있으므로 간단하게 ==을 사용하면 됩니다. equals 를 실행한다고 해도 결국 == 검사를 수행하게 됩니다. 게다가 == 비교를 하는 편이 코드도 간단해지고 직관적이기 때
..map.get("resultMap")이런식으로하면 {test=123, test2=hello}이렇게 꺼내지긴하겠지만그안에있는 test나 test2를 꺼낼려면 어떻게 할까?즉 맵안에 맵이 있으니 꺼낼때도 맵을 한번 감싸서 꺼내면 되는 것 이였습니다..
StringUtils.isBlank(null) = trueStringUtils.isBlank("") = trueStringUtils.isBlank(" ") = true StringUtils.isEmpty(null) = true
문자열 일정한 간격으로 \n 붙이기
이글과 연결되는 내용이니 먼저 보고 와주시면 감사하겠습니다.SpringBoot/한글파일(.hwp) 데이터 바인딩 후 다운로드 하기hml에 이미지를 등록하기 위해서 위와 같이 BINDATALIST 태그를 찾아서 등록을 해 주어야 합니다binData에 값이 결국 바인딩될
너무 기본적인 얘기일지 모르지만 똑같은 실수를 하지 않기 위해 쓰는 글 입니다.프로그램 권장사항 체크cpu 체크ram 체크CPU 아키텍처 체크프로그램 아키텍쳐 체크하기 내 cpu칩에 맞는 아키텍처의 프로그램인지 체크하기 EX ) apple or intel위와같은 경우에
Object : 예외도 객체이다. 모든 객체의 최상위 부모는 Object 이므로 예외의 최상위 부모도 Object 이다.Throwable : 최상위 예외이다. 하위에 Exception 과 Error 가 있다.Error : 메모리 부족이나 심각한 시스템 오류와 같이 애플
객체가 가지는 행동을 결정할때는, 객체간에 협력하는 문맥을 고려해야한다. 다음과 같은 도메인 모델이 있습니다.