강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

YS님의 프로필 이미지
YS

작성한 질문수

더 자바, 코드를 조작하는 다양한 방법

자바, JVM, JDK 그리고 JRE

runtime constant pool 에 대해 질문드립니다!

작성

·

343

0

1. Integer autoboxing 할 때, constant byte code 가 어떻게 되는 지 궁금해서 명령어 찾아봐서 한번 출력해보았습니다!

근데 상수 값이 안나오는걸 확인해서 stackoverflow에 찾아보니

작은 값에 대해서는 특정 instruction을 사용해서 관리한다고 해서 어느정도 납득이 됐었는데,

#10을 보시면 Integer가 하나만 출력되있더라구요

이게 Integer를 사용할떄 -127~127캐싱하는 것때문에 한번만 선언되나 해봐서 다음과 같이 해봤더니 똑같이 출력되었는데,

클레스 정보를 한번만 할당해서 메모리 효율을 높이기 위함이라고 생각하면 될까요?!

2. 문득 constant pool 에 대한 메모리 관리에 대해서도 궁금해 졌는데, 사용하지 않는 상수에 대해서 runtime constant pool 도 메모리 해지가 일어나나요? 
좀 찾아본 결과로는 jit 에 의해서 사용하지 않는 primitive 나 local변수가 제거된다는데 맞는 정보일까요

퀴즈

41%나 틀려요. 한번 도전해보세요!

JVM의 주된 역할은 무엇일까요?

Java 소스 코드를 컴파일한다.

바이트코드를 운영체제별 코드로 변환하고 실행한다.

Java 개발에 필요한 모든 도구를 제공한다.

표준 Java 라이브러리만 제공한다.

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

이미지가 보이지 않네요. 어떤 코드를 작성해서 어떤 바이트 코드를 보신것인지 다시 올려 주실 수 있을까요?

YS님의 프로필 이미지
YS

작성한 질문수

질문하기