자바(Java) 메모리 구조 소개 [ 자바(Java) ]

Sdílet
Vložit
  • čas přidán 27. 08. 2024
  • 자바(Java) 메모리 구조 소개 [ 자바(Java) ]
    ▶ GitHub Repository(Spring Boot) : github.com/Fla...
    ▶ GitHub Repository(HTML, CSS) : github.com/Aro...
    ▶ GitHub Repository(HTML, CSS, JavaScript) : github.com/Aro...
    ▶ GitHub Repository(Java, Algorithm) : github.com/Aro...
    ▶ GitHub Repository(JavaScript) : github.com/Aro...
    ▶ 디스코드(Discord) : / discord
    ▶ 강의 자료 판매 : kmong.com/gig/...
    ▶ 자바 레슨 안내 : kmong.com/gig/...
    ▶ ThinkGround : thinkground.st...
    ▶ 문의처 : thinkground.flature@gmail.com

Komentáře • 26

  • @Keepheap
    @Keepheap Před 5 měsíci

    봤던 영상중에 제일 적절하고 유익하네요... 감사합니다!

  • @user-on4qj8jt1x
    @user-on4qj8jt1x Před rokem +1

    영상 너무 유익하네요....
    정말 감사합니다, 반복해서 봐야겠네요.

  • @pentahousergroupkorea4792

    일단 나중에 볼 영상에 저장해두었습니다. 두고두고 꺼내보면서 공부하도록 하겠습니다.

    • @around.hub.studio
      @around.hub.studio  Před 3 lety

      감사합니다!
      이 영상은 자바 메모리의 구조의 기본에 대해서만 설명을 적어 놨습니다.
      이후에는 개발자가 건드릴 수 있는 영역인 GC에 대해 업로드 예정입니다.

  • @user-im5kz3ie2v
    @user-im5kz3ie2v Před rokem

    너무 잘들었습니다~~~ 이렇게 좋은 강의를 무료로 쉽게 유투브에서 볼 수 있다니 ㅠㅠㅠ 관심있던 내용이라 즐겁게 봤습니다 감사합니다

  • @argenyoo9456
    @argenyoo9456 Před rokem

    강의 퀄 너무 좋습니다 유투브를 시작해주셔서 감사합니다 ~~~

  • @welcomeJava
    @welcomeJava Před rokem +1

    주니어 개발자 퇴근길에 jvm 복습겸 시청하고 갑니다 !!
    아직 gc 영역 건드릴 일은 없는데 언젠간 gc 튜닝하는 날도 오겠죠?
    영상 감사합니다!

    • @around.hub.studio
      @around.hub.studio  Před rokem

      gc 튜닝하는 날은 오지 않는 것이 베스트입니다..!🤣🤣🤣

  • @ConstantSTAN
    @ConstantSTAN Před 2 lety +1

    new 키워드로 인스턴스를 메소드 안에서 생성할 수도 있고 멤버변수로 먼저 만들어 둘 수 있는데
    인스턴스를 생성하는 위치와는 상관없이 모든 인스턴스는 heap에 생기는 것인가요?
    아니면 메소드 내부의 인스턴스 변수는 LVA에 생기나요??
    그리고 메소드 영역이 GC대상인 것은 처음 알았는데 메소드 영역의 어떤 데이터가 gc 대상이 되나요??
    질문이 많군요 ㅠㅠ 그래도 너무 재밌게 보고 있습니다

    • @around.hub.studio
      @around.hub.studio  Před 2 lety +2

      저도 그렇게 deep dive한 내용은 아니라 자세하게 답변드리긴 어렵지만, new 키워드로 생성된 모든 인스턴스는 Heap 메모리에 적재되고 그에 관한 주소값을 Stack Area에서 가지고 있는 것으로 생각됩니다.
      이렇게 생각하는 것은 CSet이라는 개념 때문인데요. 제 포트폴리오 사이트의 주소를 남겨드립니다.
      thinkground.studio/%ec%9d%bc%eb%b0%98%ec%a0%81%ec%9d%b8-gc-%eb%82%b4%ec%9a%a9%ea%b3%bc-g1gc-garbage-first-garbage-collector-%eb%82%b4%ec%9a%a9/
      여기서 Young GC 로그를 간략하게나마 해석하고 있는데 Ext Root Scanning 단계에서 CSet에 해당하는 Register나 Thread Stack 등의 외부 Root를 스캐닝하고 있습니다. 스캐닝한 Root를 통해 연관된 Reference를 찾고 마킹하는 작업을 하고 GC를 진행합니다.
      그리고 Method Area의 GC에 대해 말씀해주셨는데, 거의 발생하지 않는다고 보시면 되겠습니다.
      관련하여 StackOverFlow에 글이 있어서 남겨드립니다.
      stackoverflow.com/questions/11480423/can-method-area-of-jvm-be-garbage-collected

    • @ConstantSTAN
      @ConstantSTAN Před 2 lety

      @@around.hub.studio 인풋이 1인데 아웃풋이 10인 답변이군요. 알려주신 내용을 토대로 공부해보겠습니다.

  • @user-bb3xz9dx7k
    @user-bb3xz9dx7k Před 2 lety +1

    영상너무잘보고갑니다! 혹시 이 영상보면서 정리한글 출처표시하고 블로그에 작성해도될까용?

  • @user-jg1cq5zn7h
    @user-jg1cq5zn7h Před rokem

    양질의 강의 감사합니다.

  • @ConstantSTAN
    @ConstantSTAN Před 2 lety +1

    JVM의 메소드 영역이 프로세스에서 말하는 Data 영역이랑 그 역할이 같아 보이는데,
    메소드 영역과 Data 영역은 같고 특별히 JVM이 실행된 프로세스에서의 Data 영역을 메소드 영역이라고 뷰르는 건가용??
    그리고 영상을 보고 공부한 내용을 깃헙에 정리해도 될까요?

    • @around.hub.studio
      @around.hub.studio  Před 2 lety +1

      말씀하신 것처럼 비교하여 기억하시면 도움이 되실 것 같습니다.
      아시는 것처럼 자바는 OS 독립적으로 동작이 가능하게끔 JVM을 운영하다보니 OS의 영역과 비슷합니다.
      다만, 그 둘을 비교대상으로 두고 말하는 건 같은 선상이 아니라 맞다고 답변드리긴 어려울 것 같습니다.
      언제든 깃헙에 정리해주시는 건 환영합니다만 출처 링크는 부탁 드리겠습니다 :)

  • @David_vivvvid
    @David_vivvvid Před rokem

    안녕하십니까 선생님. 궁금한 점이 생겨서 질문합니다.
    MethodArea의 Runtime constant pool에 클래스 관련된 class-meta-data가 저장된다고 알고 있었습니다.
    그런데, 공부하던 도중 Java 8부터 perm 영역이 없어지고 metaspace로 대체되면서 static 변수나 string 리터럴 같은 것은
    heap영역으로 이관되었고 runtime constant pool에서는 레퍼런스 변수만 저장되고 heap 영역에 있는 것을 참조한다는 것을 봤습니다.
    정리하자면, string 리터럴은 heap 영역의 String constant pool에 위치하고 있고 static 변수도 heap에 위치하는데 method area의
    runtime constant pool에서는 이 둘을 참조하는 식으로 하여 GC를 피했다는 의미인 것 같은데
    클래스 변수인 static 변수가 method area가 아닌 heap에 위치한다는 것이 잘 이해가 안가고 제가 알던 상식이 깨진 것 같습니다.
    제가 잘못 조사한 것일까요? ㅠㅠㅠㅠㅠ 하루종일 검색해보고 공식 문서도 찾아봤지만 명확한 답을 못찾겠습니다 ..

  • @user-tk8lu2ud5q
    @user-tk8lu2ud5q Před rokem

    감사합니다

  • @user-kt1fk1zr7f
    @user-kt1fk1zr7f Před 3 lety +1

    선생님 혹시 컬렉션 강의도 올려주시나요??

    • @around.hub.studio
      @around.hub.studio  Před 3 lety

      계획에는 없었는데 빠른 시일 내에 준비해서 업로드 해드리도록 하겠습니다 ㅎㅎ

  • @user-lj8iz5mh4b
    @user-lj8iz5mh4b Před 2 lety

    method area도 gc대상이 된다는 부분이 잘 이해가 가지않는데 혹시 설명좀 부탁드려도될까요...?좋은 강의 감사드립니다!!!!

    • @around.hub.studio
      @around.hub.studio  Před 2 lety +1

      제가 정리한 글이 있을줄 알았는데 없어서 글을 발췌했습니다.
      stackoverflow.com/questions/11480423/can-method-area-of-jvm-be-garbage-collected/11481528#11481528
      이 글을 참고해보면 될 것 같습니다.
      글을 보시면 아시겠지만 우리가 생각하는 일반적인 상황에서 수집이 되는건 아니라고 생각해주시면 좋을 것 같습니다.

  • @user-ek9io6ih9k
    @user-ek9io6ih9k Před 2 lety +1

    ppt 예뻐요 ㅎ

  • @user-cv4jm2sz5k
    @user-cv4jm2sz5k Před 10 měsíci

    와우 - 어메이징

  • @user-gi5mq3sl8y
    @user-gi5mq3sl8y Před rokem

    와 ....머가리터질거같다 ㅡㅡ 짜증 넘나 복잡한것;;;