카테고리 없음

나는아무생각이없다고로나는아무생각이없다고로나는아무생각이없다고로나는아무생각이없다고로나는아무생각이없다고로나는아무생각이없다고로나는아무생각이없다으아아악

TaxosDevloper 2024. 11. 29. 19:00

아아아 마지막에 노트끝나고 저작권있는 사유재산임을 봐버렸어
몰라 이 페이지의 저작권을 주면되지 뭐
아아아아ㅏ둬려뱌ㅜ2ㅜ하래바ㅜ두러냐버거ㅓㅊ

이글보지말고 링크봐링크

[https://f-lab.kr/insight/class-loader-and-jvm-20241124](AI가 클래스로더 설명한글 요약)
Class Loader
Delegation Model (call-call-trial_down-end)
1. BootStrap Class Loader - JVM 핵심
2. Extension Class Loader
3. Application Class Loader [call start]
Custom Class Loader (extends class loader)
• 유연성
• 확장성
• Extending / Overriding Method 4 working
• ex) System 안정성을 유지하면서 장점 발휘
• plugin
• *독립적 namespace*
• *독립적*으로 Load / Management
• Crash 방지
• sandbox env
• (Can Ctroll ClassLoadingSystem)
• *보안* : RPC 차단, ..., etc.
JVMmemory
• Method Area ['lbexcbl] <=(load)= class
• 「ClassMetaDatas」stores 4 time performance.
• Field
• Method
• Constant Pool
• ...

Linking Classes => Initialization (Memory ; ((the) Method & static Field) ([details])) => ... => Done! Can Execute!

• WAS (like Plugin)

• DataAnalysisToolKit-ApacheSpark-Job) using CustomClassLoader (like Plugin)

요약)
클래스 로더는 세가지의 위임계층이 있는데 높은 순서대로 부트스트랩, 익스텐션, 에플리케이션 클래스 로더가 있다, 낮은 계층에서 최상위까지 로드 요청을 보내고 상위에서 실폐하면 하위에서 처리한다는 방식으로 진행된다. 클래스를 자바 가상머신의 메모리 영역에 로드해서 클래스를 링킹한 후 초기화를 진행한다.
클래스 로더는 당연하게도(?) 상속 가능하다, method Override나 확장 목적이나 아니면 안정적인 시스템의 좋은 설계를 위해 커스텀 클래스 로더를 만들수 있다는것이다. 대이터분석 도구인 ApacheSpark이나 WAS, 플러그인등 독립적인 네임스페이스 활용이 필요하거나 아니면 아예 클래스 로딩 시스템을 제어하기 위해서 (예를들어 샌드박스 환경이 있다) 커스텀 클래스 로더를 활용할수 있다.
개인적으로 잼민이라 난 아무것도 모르는데, 클래스의 로드가 런타임에 동적으로 이루어진다는거에 충격을 먹었다, (물론 내가 고1이니까 이정도 이해를 하는걸수도 있지만... 아닌가? << ㅍㅓㄱ퍽ㅍㅋㅋ) 암튼 가상 CPU에서 안정성 유지하겠다고 이상한 짓거리 하는걸로 보이는데 어른들이 잘 처리했겠거니 하고 나도 커스텀 클래스 로더 쓰고싶다아앙아두ㅜ더버ㅑ어구댜래재2ㅏ루 쓰면되지! 와!