1. JIT Compiler 는 Just-In-Time 의 약자로 런타임시 바이트 코드를 기계어로 번역한다는 의미로 해석을 할수 있다. JIT Comiler 는 JRE(Java RunTime Environment) 안에 속해 있으며, 실행할때마다 매번 기계어로 번역하는것이 아니라, 처음 코드를 실행시에는 기계어로 번역하여 캐시에 저장해두고, 두번째 실행부터는 캐시에서 불러와 사용하므로, 반복되는 코드는 실행속도가 빠르다. 반대로의 경우는 오히려 성능이 떨어질수 있다. 2. AOT Compiler JIT이 동적 컴파일러 라면 AOT(ahead-of-time)는 정적 컴파일러 이다. JIT이 런타임에서 실행될때 추가 메모리및 CPU 싸이클이 필요하기때문에 이를 보완하는게 AOT 이다. 실행시간 전에 컴파일을..
String, , Stringbuffer , Stringbuilder 의 성능 차이에 대해서 알아보자 1. String 먼저 String 같은 경우는 immutable 하다. 이는 변하지 않는다는 뜻인데, 예를 들어 우리가 + 연산자를 이용해서 문자열을 더할때 String str1 = "Hello" ; String str2 = "World"; str 1 = str1 + str2; 를 할경우 실질적으로 str1 의 값이 str1 + str2 로 합쳐진 값이 바로 저장되는 것이 아니라. new String(str1 + str2 ) 의 형태로 새롭게 인스턴스가 생성되어 저장된다. 따라서 반복문 안에서 String의 값을 변경할때 위처럼 사용하면, 성능이 떨어지게 된다. 2. Stringbuffer, Strin..