JAVA

[JAVA] 자바와 C언어 메모리 구조 비교

hail2y 2024. 8. 19. 19:20

자바 메모리 구조

https://lordofkangs.tistory.com/362
https://lordofkangs.tistory.com/290

 

메서드 영역에는 클래스, 메서드 등의 실행 코드와 static 영역이 들어가 있다. 추가로 공통 리터럴 상수를 보관하는 상수 풀(constant pool)이라는 것도 있는데 나는 인프런 - 김영한님의 자바 기본 강의에서 메서드 영역에 포함되어 있는 걸로 배웠으나 다른 블로그들을 보면 힙 영역에 포함된 것이라고 한다. 의견이 분분하길래 chatGPT에게 물어봤더니 자바 버전에 따라 위치하는 영역이 달라진 것이라고 했다. 즉, 자바 7이전(PermGen)에는 메서드 영역에 있었는데, 자바 8 이후(MetaSpace)로는 힙 영역으로 옮겨졌다는 것이다. 이 변화가 메모리의 한계를 개선시켜줬다고 하는데 나처럼 메서드 영역에 있냐, 힙 영역에 있냐를 구분시키는 질문은 별로 좋지 않은 질문이라고 한다^^!  이러한 메모리 위치는 JVM 내부 구현의 일부이고 우리가 짜는 애플리케이션 코드에는 직접적으로 영향을 주지 않을뿐더러 메모리에 직접 접근해 조작할 수는 없기 때문이랬다. 그러니 너무 신경쓰지 않아도 된다.

https://stackoverflow.com/questions/63488422/in-which-memory-area-method-area-string-constant-pool-reside-in-java-8

 

in which memory area method area , string constant pool reside in java 8?

I have read oracle document but there is nothing given regarding method area and string constant pool. I have doubt that where method area, string constant pool reside in memory in JDK 8 or 8+ .

stackoverflow.com

 

 

☕ 자바 String 타입 특징 이해하기 (String Pool & 문자열 비교)

여타 대부분의 프로그래밍 언어에서 문자열 이라는 데이터를 저장하기 위해 string 이라는 데이터 타입을 사용한다. 이 string 데이터를 다루는데 있어 특별히 유의해야 할점은 없어보이지만, 자바

inpa.tistory.com

 

C언어 메모리 구조

https://campkim.tistory.com/23

'JAVA' 카테고리의 다른 글

[JAVA] 직렬화, 역직렬화 개념  (1) 2024.10.02
[JAVA] 큐(Queue), 덱(Deque) 구현체, 메서드 정리  (0) 2024.09.30
[JAVA] comparable, comparator 비교  (0) 2024.07.03
[JAVA] System.in.read()  (1) 2024.06.30
[JAVA] delete(), deleteCharAt()  (0) 2024.05.07