| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> 理解Java ClassLoader -> 正文阅读 |
|
|
[网络协议]理解Java ClassLoader |
|
目录 一、Java ClassLoader是什么?Java ClassLoader是JRE(Java Runtime Environment)的一部分,它将Java类动态加载到Java虚拟机中。Java类不会一次全部加载到内存中,只有在应用程序需要时,JRE才会调用Java ClassLoader将Java类动态加载到内存中。 二、Java ClassLoader有哪些类型?从1.2版本开始,JDK已经实现了三层结构的Class Loader。JDK9中保留了三层结构,同时为了兼容性和安全性,做了一些改变来实现module system。 Java ClassLoder类型
三、如何查看ClassLoader加载的模块?BootStrap ClassLoader加载的类型被隐式授予所有安全权限(AllPermission),但其中许多类型实际上并不需要所有权限。对于不需要所有权限的模块,将它们定义给Platform ClassLoader,并在默认安全策略文件中授予它们实际需要的权限。 那么如何查看各个加载器加载的模块? 以笔者安装的JDK11为例,可以通过以下API来查看相应的加载器及其定义的模块。
System class loader 加载的JDK模块(用于提供工具或导出工具API):
Debug代码:?
Platform class loader加载的Java SE和JDK模块:?
Debug代码:?
Bootstrap class loader加载的Java SE和JDK模块:?
Debug代码查看:?
如何查看类的ClassLoader是哪个?
四、结语回顾一下Java ClassLoader的用途、类型以及在JDK11中ClassLoader加载的模块。后面会再深入理解下设计思路和具体实现。 |
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/29 15:26:08- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |