首页 > 其他分享 >类加载机制

类加载机制

时间:2023-05-26 14:13:52浏览次数:39  
标签:委派 初始化 静态 双亲 机制 加载

类加载:把类的数据加载到内存,并对数据进行校验、解析、初始化,最终形成可以被虚拟机直接使用的class对象。

类加载机制:类加载采用双亲委派机制。

双亲委派机制:当类加载器收到类加载请求时,它不会第一时间去加载这个类,而是由父类加载器去加载,如果父类加载器加载不到这个类,才由子类加载器加载。

双亲委派机制的优点:(1)避免某个类被重复加载,保证类的唯一性。

          (2)防止类库API被修改。

类加载的过程:类加载有七大步:

(1)加载:通过类的全类名获取类的二进制流。

(2)验证:验证是否符合JVM规范。

(3)准备:为类变量(静态变量)分配内存并设置初始值。

(4)解析:把类中的符号引用转化为直接引用。

(5)初始化:对类的静态变量、静态代码块执行初始化操作。

(6)使用。

(7)卸载。

类加载器:启动类加载器

     扩展类加载器

        应用程序类加载器

     自定义类加载器

 

标签:委派,初始化,静态,双亲,机制,加载
From: https://www.cnblogs.com/yhb-blogs/p/17434555.html

相关文章

  • windows环境下 java 使用sqlite-jdbc 加载mod_spatialite用于地理空间处理
    由于项目需要,将sqlite中的数据使用空间函数(st_astext(),st_geomfromtext()等)处理空间坐标数据,这就需要加载mod_spatialite组件,从网上找了很多方法,也问了gpt,也从官网上(http://www.gaia-gis.it/gaia-sins/spatialite-cookbook/html/java.html)找到了加载mod_spatialite组件的示......
  • FLEX实践—XML HttpService加载错误
    主应用代码:<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" creationComplete="init......
  • FLEX实践—加载XML文件错误
        这两天在研究一个FLEX小相册,准备做一个超级简单的纯FLEX相册,没想到在读取XML文件的时候遇到了这样一个问题:    1)用FLEXBUILDER创建了一个FLEX工程    2)写了一个MXML文件,一个XML文件    3)在程序中用HTTPService和URLRequest两种方法分别读取XML文件内容 ......
  • RUBY-FLEX实践—利用swfobject在RUBY工程中加载SWF
    开发环境:Ruby:Ruby1.9.1Rails:Rails2.3.5IDE:RubyMine2.0.1FlexBuilder:FlexBuilder4 开发思路:1)在FlexBuilder中创建Flex工程2)在RubyMine中创建Rails工程3)将Flex工程bin-debug下编译的swfobject.js拷贝至Ruby工程指定位置4)引用Flex工程编译后的html中的内容实现在Rails页面中嵌......
  • 使用Java 锁机制实现多线程售票案例
    本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"及“慕课网公众号”!作者:王军伟Tech|慕课网讲师1.前言本文主要是使用Java的锁机制对多线程售票案例进行实现。售票案例多数情况下主要关注多线程如何安全的减少库存,也就是剩余的票数,当票数为0时,停止......
  • 关于MySQL的JDBC Driver加载过程详解
    在使用JDBC时,都需要提前加载对应数据库的Driver类,MySQL为例:Class.forName("com.mysql.jdbc.Driver")但是不写这句代码也可以让 com.mysql.jdbc.Driver类成功加载,这就涉及到java.sql.DriverManager类了,先看一下代码:publicclassDriverManager{//注册驱动的集合priva......
  • 【Java基础】万字长文深入理解Java反射机制
    大家好,我是程序员青戈,一个被Bug耽误了才艺的程序员......
  • 面试中被问到CAS机制该怎么回答
    一个小例子说说什么是线程安全并发是Java编程的基础,在我们日常的工作中,很多时候都会跟并发打交道,当然,这也是面试考察的重点。在并发编程中,被提起最多的概念是线程安全,下面我们先来看一段代码,看看运行后会发生什么:publicclassTest{privatestaticintinc=0;public......
  • Linux上nacos启动成功,但网页无法加载
    Linux上nacos启动成功,但网页无法加载1、docker查询dockerps2、查询firewall防火墙是否打开8848端口firewall-cmd--query-port=8848/tcp若是返回yes则是打开,若是返回FirewallDisnotrunning则先打开防火墙。systemctlstartfirewalld.service3、打开8848端口f......
  • RabbitMQ之消息确认机制
    RabbitMQ之消息确认机制标签(空格分隔):php,rabbitmq在使用RabbitMQ的时候,我们可以通过消息持久化操作来解决因为服务器的异常奔溃导致的消息丢失,除此之外我们还会遇到一个问题,当消息的发布者在将消息发送出去之后,消息到底有没有正确到达broker代理服务器呢?如果不进行特殊配置的话......