static object는 GC의 대상인가?
static 키워드는 조심해서 사용해야 한다. static 멤버는 프로그램 종료시까지 메모리에 남아있기 때문에 메모리 누수 발생으로 애플리케이션 성능 저하의 원인이 될 수 있기 때문이다. JVM Method Area(Permanent Generation, 이하 PermGen), Metaspace를 공부하면서 의문이 생겼다. Metaspace를 알게 되...
static 키워드는 조심해서 사용해야 한다. static 멤버는 프로그램 종료시까지 메모리에 남아있기 때문에 메모리 누수 발생으로 애플리케이션 성능 저하의 원인이 될 수 있기 때문이다. JVM Method Area(Permanent Generation, 이하 PermGen), Metaspace를 공부하면서 의문이 생겼다. Metaspace를 알게 되...
Runtime Constant Pool, Constant Pool, String Pool 등 JVM을 학습하며 비슷하면서 다른 용어가 많이 나와서 혼동되었습니다. 또한 단순히 문자열, 숫자, 메소드의 참조가 저장된다는 의미가 와닿지 않아 상수 풀에 어떻게 저장되는지 직접 한 번 보면서 정리하고자 합니다. Constant Pool, 상수 풀이란 con...
자바의 값을 나타내는 Wrapper 클래스, 프리미티브 타입에 대해 다시 리뷰하는 시간을 가졌다. 두 타입의 성능은 어떨까, 각각은 언제 사용하는 것이 좋을까 고민하다가 성능 측정을 진행하게 되었다. int와 Integer 타입 두 타입에 간단히 ++연산을 약 20억번 (자바 int형의 최대값) 더하여 각 타입의 연산 시간을 측정해보기로 했다. 성능...
무엇인가 자바 컴파일러에 의해 번역된 바이트 코드를 OS에 맞게 해석해 주는 가상머신으로, Garbage Collection을 통해 자동으로 메모리 관리를 수행한다. 필요성 한 번 컴파일된 바이트 코드는 OS, HW 등 플랫폼에 독립적인 실행 환경을 제공 C언어는 컴파일 플랫폼과 타겟 플랫폼이 다르면 실행할 수 없...
마크다운 연습을 위한 포스트입니다.