Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java类加载器加载机制

java类加载器加载机制

作者头像
the5fire
发布于 2019-02-28 06:49:03
发布于 2019-02-28 06:49:03
1.1K0
举报

  Java的安全模型是的Java成为适于网络环境的技术——《深入Java虚拟机

  在安全方面Java的内置安全模型中使用了一种成为“沙箱”的组件,来保证Java程序对用户的安全,至于什么是“沙箱”大家Google之。

  在沙箱组件中包括类装载器结构,类加载器体系结构也是java沙箱的第一道防线,因为程序都是通过类加载器才能够加载到JVM中的。

  类加载器有三方面的作用:

1. 它防止了恶意代码去干涉善意代码

2. 它守护了被信任的类库边界

3. 它将代码归入某类(成为保护域),该类确定了代码可以进行哪些操作。

  其中一个大家所熟悉的词就是“双亲委派机制”,所谓“双亲委派机制”,就是某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。用一个图形表示就是:

 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自java.lang.ClassLoader。

 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。

 系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类。一般来说,Java 应用的类都是由它来完成加载的。可以通过 ClassLoader.getSystemClassLoader() 来获取它。

  关于java类加载机制推荐大家看这篇文章《深入探讨 Java 类加载器》,IBM文档,写的很详细。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-01-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
深入理解Java类加载器(1):Java类加载原理解析
  每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。
全栈程序员站长
2022/09/22
9080
深入理解Java类加载器(1):Java类加载原理解析
深入理解和探究Java类加载机制
java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字节代码,然后从这些字节代码中定义出一个Java 类,即 java.lang.Class类的一个实例。
lyb-geek
2018/07/26
3950
深入理解和探究Java类加载机制
浅谈Java类加载器
注意最后的null值应该是启动类加载器、单因为是C++语言编写的,所以无法获取到相关的信息
Java学习录
2019/05/15
3510
Java虚拟机--类加载器如何加载一个Class文件
如何加载一个Class文件 在之前的文章中,笔者介绍了Java虚拟机--类加载机制,阐述了一个类加载到底做了哪些事情! 但是,关于类加载器的只是,并没有做任何介绍,只是说了下会在后面的文章中进行单独阐述。那么,本篇的意义就是来告诉大家类加载器的实现。 首先,我们来简单的回顾下类加载机制中的内容。 类加载机制 虚拟机把类的数据从.class文件加载到内存,并对class文件中的数据进行校验、转换、解析、初始化等操作后,最终形成可以被虚拟机识别并使用的Class对象的过程就叫做“虚拟机的类加载”,主要包括为3大
贾博岩
2018/06/20
1K0
实习杂记(30):虚拟机类加载机制(3)
  每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。
wust小吴
2019/11/14
3430
实习杂记(30):虚拟机类加载机制(3)
第18次文章:JVM中的类加载机制
-主要用来加载java的核心库,是用原生代码C语言来实现的,并不继承自java.lang.ClassLoader。
鹏-程-万-里
2019/09/28
5760
Java类加载器的学习笔记
学习资料来源:https://www.bilibili.com/video/av30023103/
逆回十六夜
2019/09/12
4300
深入理解Java类加载器机制
Java里面的类加载机制,可以说是Java虚拟机核心组件之一,掌握和理解JVM虚拟机的架构,将有助于我们站在底层原理的角度上来理解Java语言,这也是为什么我们学习一个新的知识时,如果不理解原理全靠死记硬背,我相信过不了几天便会忘记的一干二净。
我是攻城师
2018/10/19
1.4K0
深入理解Java类加载器机制
Java魔法堂:类加载器入了个门
一、前言                               《Java魔法堂:类加载机制入了个门》中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理。本文将记录
^_^肥仔John
2018/01/18
8190
Java魔法堂:类加载器入了个门
深入理解Java类加载器(ClassLoader)
本篇博文主要是探讨类加载器,同时在本篇中列举的源码都基于Java8版本,不同的版本可能有些许差异。主要内容如下
用户1257215
2018/10/26
1.7K0
Java成神路 —— 类加载器
1.1 类加载 1. 类加载的描述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化。 2. 类的加载 就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象 任何类被使用时,系统都会为之建立一个 java.lang.Class 对象 3. 类的连接 验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协
繁依Fanyi
2023/05/07
1620
相关推荐
深入理解Java类加载器(1):Java类加载原理解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档