Java

    단위 테스트

    단위 테스트의 목표 단위 테스트에 시간을 투자할 때는 항상 최대이익을 얻도록 노력해야 하고, 테스트에 드는 노력을 가능한 줄이고 그에 따르는 이득을 최대화 해야 한다. 단위 테스트의 목표 : SW 프로젝트의 지속 가능한 가능하게 하는 것 지속 가능한 프로젝트 성장을 위해서는 고품질 테스트에만 집중해야함 (고품질이란 뭘까) 테스트 스위트란? 테스트 케이스들을 하나로 묶은 것이다. 스위트는 자신의 테스트들을 실행함 코드 커버리지 코드 커버리지가 너무 적을 때는 테스트가 충분하지 않다는 좋은 증거이다. 그러나 반대의 경우는 그렇지 못함. 커버리지 100%라고 해도 양질의 테스트라고는 하지 못한다. (높은 품질을 위해서 커버리지를 높여야 하지만, 커버리지가 높다고 해도 고품질의 테스트는 아니다?) 테스트 스위트..

    JIT Compiler

    JIT(Just In Time) 컴파일러는 런타임 시 byte code → machine code로 컴파일하여 java 애플리케이션의 성능을 향상 시키는 컴파일러다. java는 알다시피 다양한 운영체제에서 실행 될 수 있느도록 플랫폼 중립적 바이트 코드를 포함된 클래스로 구성되어 있다. 런타임에서 jvm은 class 파일을 로드하고 각 바이트 코드의 시맨틱을 판별하여 해당 계산을 수행한다. 이때 JIT 컴파일러는 런타임에서 byte 코드를 원시 시스템 코드로 컴파일하여 java 애플리케이션의 성능을 향상 시킨다. JIT 컴파일러의 기본 설정은 사용으로 되어 있다. 또한 컴파일을 할 때는 cpu와 메모리가 사용되어 JVM이 처음 시작될 때 수천 개의 메서드가 호출된다. 이러한 메서드를 모두 호출하는 것은 ..