class文件怎么打开乱码(class文件查看安卓版)

JVM系列笔记目录 虚拟机的基础概念class文件结构class文件加载过程jvm内存模型JVM常用指令GC与调优 Class文件加载过程 JVM加载Class文件主要分3个过程:Loading、Linking、Initialzing 1.Loading Loading的过程就是通过类加载器将.class文件加载到jvm内存中过程。需要理解双亲委派机制、类加载器ClassLoader,加载过程如下…

JVM系列产品手记文件目录

vm虚拟机的根本定义class文件构造class文件加载过程jvm运行内存实体模型JVM常见命令GC与调优

Class文件加载过程

JVM加载Class文件关键分3个过程:Loading 、Linking、Initialzing

1.Loading

Loading的过程便是根据类加载器将.class文件加载到jvm运行内存中过程。必须了解双亲委派体制、类加载器ClassLoader,加载过程如下所示。

JVM系列「3」Class文件加载过程
JVM系列「3」Class文件加载过程

ClassLoader

不一样的类加载器加载范畴不一样,以Java8中的为例子。

BootClassLoader 加载范畴
sun.boot.class.pahtExtClassLoader 加载范围java.ext.dirsAppClassLoader 加载范畴java.class.pathCustomClassLoader 可自定加载范畴

前三个加载器来源于JDK的Launcher类,三个ClassLoader做为Launcher的内部类,有兴趣可以检查下源代码。

JVM系列「3」Class文件加载过程
JVM系列「3」Class文件加载过程

开发人员还可以自定的ClassLoader,自定义记述范畴。

双亲委派体制

自底向上查验此类是不是已经加载,parent方位;自顶向下开展类的具体搜索和加载,child方位。 类的加载遵循双亲委派体制,主要是出自于安全性的考虑到。双亲委派体制是怎样完成的,下边源代码会表述。

JVM系列「3」Class文件加载过程
JVM系列「3」Class文件加载过程

留意:双亲委派中存有所说的父加载器并并不是加载器的加载器,仅仅翻泽的问题,别搞混了类的承继定义。

ClassLoader源代码

JVM系列「3」Class文件加载过程
JVM系列「3」Class文件加载过程

ClassLoader源码中较为主要的一个函数公式是loadClass(),实行过程是:findLoadedClass()->parrent.loadClass()->findClass(),第一步是自底向上查看是不是已经加载,第二步是自顶向下搜索加载类。这儿就要求或者说完成了双亲委派体制。详尽见ClassLoader的源代码。

自定ClassLoader

怎样自定ClassLoader?可以承继ClassLoader类,再次自身的findClass(),在里面启用defineClass()来建立自定加载特殊范畴的类。

怎样摆脱双亲委派体制,哪一种情况下摆脱过?

从以上的ClassLoader源代码中大约能看得出是怎样完成了双亲委派体制的,从这下手可以根据2种方法摆脱该体制:

super(parent)特定parent会摆脱该体制自定ClassLoader重新写过loadClass()还可以摆脱

什么时候摆脱过?双亲委派体制并非不可以摆脱,一些特别情景下也会挑选摆脱该体制。

JDK 1.2以前,自定ClassLoader务必重新写过loadClass(),摆脱过。进程ThreadContextClassLoader可以完成基本类启用完成类编码,根据
thread.setContextClassLoader特定。热启动热部署,如tomcat都是有自身控制模块特定的classloader,可以加载同一类库的不一样版本号。

Class实行方法

Class实行方法分成3种:表述实行、编译程序实行、混和实行,都各有优点和缺点,可根据主要参数特定。

  • 1.表述实行:应用bytecode intepreter 编译器表述实行,该方式运行迅速,实行偏慢,可根据-Xint主要参数特定该方式。
  • 2.编译程序实行:应用 Just in time Complier JITc语言编译器编译程序实行,该方式实行迅速,编译程序比较慢,可根据-Xcomp主要参数特定该方式。
  • 3.混和实行:默认设置的方式,编译器 网络热点编码编译程序,逐渐表述实行,运行较快,对网络热点编码开展实时监测和编译成当地执行命令,可根据-Xmixed主要参数特定该方式。

网络热点编码检测:多次被启用的办法用方式计数,多次被启用的循环系统用循环计数,可根据主要参数-XX:CompileThreshold = 10000特定开启JIT编译程序的阀值。

2.Linking

Linking连接的过程分3个环节:Vertification、Preparation、Resolution。

  • Vertification: 认证Class文件是不是合乎JVM要求。
  • Preparation:给静态数据成员变量赋初始值
  • Resolution:将类、方式、特性等标记引入表述为直接引用;常量池中的倒三角符号引入表述为表针、偏移等内存地址的直接引用

3. Initializing

启用复位编码clint,给静态数据成员变量赋默认值。

这儿可以掌握下务必复位的5种状况:

new getstatic putstatic invokestatic命令,浏览final自变量以外java.lang.reflect对类开展反射面启用时复位派生类的情况下,成员变量务必复位vm虚拟机运作时,强制执行的主类务必复位动态语言适用
java.lang.invoke.MethodHandler表述的效果为REF_getstatic REF_putstatic REF_invokestatic的方式句柄时,此类务必复位。

4.汇总思索

程序设计模式中单例设计模式的多重查验的完成,INSTANCE是不是必须加valatile?

public class Mgr06 {
    // 是不是必须加volatile?
    private static volatile Mgr06 INSTANCE;

    private Mgr06() {
    }

    public static Mgr06 getInstance() {
        if (INSTANCE == null) {
            //双向查验
            synchronized (Mgr06.class) {
                if(INSTANCE == null) {
                    try {
                        Thread.sleep(1);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    // new 了目标,不以null,但没完成自变量的复位拷贝,目标处在半复位状                    态,其他进程有可能得到半复位的目标。
                    INSTANCE = new Mgr06();
                }
            }
        }
        return INSTANCE;
    }
}
复制代码
JVM系列产品「3」Class文件载入全过程

本人觉得是必须加的。思索方位, class文件load到运行内存,给静态变量赋默认值,再赋初始值,new 对象的情况下,最先要申请办理内存空间,随后给成员变量赋默认值,下面给成员变量赋初始值,这一环节中对象有可能处在半复位情况,多线程高并发下其他线程有可能得到半复位的对象,加volatile可确保线程的看得见性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月7日 下午4:07
下一篇 2022年5月7日 下午4:09

相关推荐

  • 万科房产退房攻略,万科退首付需要多久

    针对网络上疯传“万科降价每户退款100万”事件,10月10日晚,厦门万科给出官方回应:不存在退100万。 “该项目9月底之前签约的产品原交付标准包含温泉入户,但在推进过程中经反复论证发现难以满足实际使用要求,故该项目不引进温泉入户。”对于此,厦门万科给出针对前期买家的两套方案:接受无温泉入户的,给予20万元补偿;不接收者可选择退房,同时万科根据一年期定期存款利率,给予购房者一定的利息补偿。 上述楼…

    2022年8月10日
    650
  • 怎么做好品牌推广,品牌推广营销要点

    1、品牌是什么? 品牌是人们对企业提供的产品、服务、价值观等有形或无形资产一种认知或印象。 2、品牌运营是什么? 品牌运营其实就是企业以品牌为核心所做的一系列综合性策划,它是一个复杂的系统工程 3、如何做品牌运营? (1)讲故事 年糕妈妈创业故事 通过将创始人或者公司研发产品的过程等包装成一个感人的故事,然后不断的去向受众讲这个故事的方式来传播品牌。通常像创始人屌丝逆袭,留学海归放弃亿万身家回国创…

    2022年7月25日
    700
  • 婴儿洗澡游泳馆加盟费,十大婴儿游泳馆加盟品牌

    最近很多人私下询问小编:开一家婴儿游泳馆需要多少钱?其实,当我听到这个问题的时候,我的内心毫无波澜,甚至想找老板聊聊生意经。因为,这个问题是在不好回答,不同地区、不同规模、不同档次所需费用相差甚远。还好,在与老板的彻夜长谈之后,我来谈谈我的看法,希望能帮到你们。 按不同城市消费水平及个人经济能力一般来说: 1.低档开店投资:总投入:1-2万 (1)游泳馆必须器材 (2)压克力水池(中号)数量:2-…

    2022年9月29日
    420
  • 爱淘宝是什么网站,爱淘宝网站功能详细介绍

    说起淘宝购物,可能很多人都是轻车熟路了,但是说到爱淘宝,很多人就不清楚爱淘宝和淘宝的区别了,有些人还以为爱淘宝跟淘宝就是一样的,没有什么区别,但是如果没区别的话,又怎么会同时存在,而且名字还不同,所以说两者还是有区别的,只不过大家不知道爱淘宝和淘宝的区别罢了。 可能有些人不仅在淘宝上买过东西,可能也在爱淘宝上购物过,但可能以为两者是差不多,所以就没多大留意吧,其实爱淘宝和淘宝的区别也不是很明显,尤…

    2022年8月18日
    760
  • 营销模式有哪些,解说营销模式和营销策略的区别

    市场营销发展到今天,按照行业发展的需要,衍生出了多种营销模式。每种营销模式下,都可能成就出伟大的企业。选择适合企业战略定位的营销模式,直接或间接决定了企业发展的路径,今天,梳理了营销模式的类型及适用行业,供大家参考! 营销模式类型汇总:共16种营销模式 以下是针对每种模式的基本讲解: 32个行业适用营销模式参考:

    2022年6月26日
    700
  • 最近流行的民歌,这六首民歌百听不厌

    年长者的精神家园 掌上伙伴,伴您夕阳 民歌,歌颂着五颜六色的生活;民歌,吟唱着悲欢离合情缘;民歌,记录了起起伏伏的过往,最具风情而又最贴近生活的民歌,细致的描绘着生活百态,倾诉着中国不同民族对生命的感悟….. 一、最直白的抒情 民歌的抒情是直接透彻的。来自于对生活最直接的感慨,顺着心意,唱成曲调,是最直白的抒情。 花花草草 民歌里的山山水水,花花草草,都被赋予了灵性。茉莉花的芬芳,山丹丹花的艳…

    2022年10月3日
    4160
  • u盘提示格式化打不开怎么办,赶紧试试这个方法

    U盘是很常用的数据存储设备,存储空间大,携带方便。不过很多用户在使用U盘的过程中,经常会遇到U盘无法打开提示格式化的问题。今天小编就介绍一个实用的解决方法。 症状: U盘插入电脑后,在资源管理器中双击U盘,U盘无法打开,并提示格式化。具体错误信息为“驱动器G中的磁盘未被格式化。想现在格式化吗?”或是“使用驱动器E:中的光盘之前需要将其格式化。是否将其格式化?” 原因: 很多用户在拔出U盘的时候,并…

    2022年10月11日
    440
  • 小米电视怎么安装当贝市场,不用u盘安装当贝市场的简单方法

    当贝市场教程中心:近几天的618智能电视年中大促,使得小米电视品牌成为实至名归的销量王。其中小米电视4A55英寸、小米电视4A49英寸、小米电视4A43英寸、小米电视4A65英寸基本为畅销。那么很多消费者就会问了,我收到小米电视4A后,该怎么安装软件?怎么收看电视直播呢? 为此,小编特地整理了三种实用的安装方法,通过U盘、电脑、手机都可以给电视安装第三方应用当贝市场(www.dangbei.com…

    2022年6月10日
    1550
  • 农村在家创业做什么赚钱,适合农村在家创业的项目推荐

    2020年已经快过完四分之一了,有很多农人还在徘徊,这个时候到底是去打工还是自己做一份事业呢?等待中又在寻思农村有什么好的门路,如果你还比较纠结,那么,以下提供7个农村创业的小本项目,看有没有适合你的? 1,酿酒和剩余供应 酿酒这个门路在农村还算得上是一个冷门的行业,也是一项手艺技术活,只要酿的酒好喝,就会有源源不断的客户,农村家庭酿酒一般利润都高,投入较小,现在酿酒的设备种类多,方便操作,家庭酿…

    2022年8月11日
    580
  • 航嘉机箱怎么样(航嘉GX580H机箱评测)

    白色的机箱给人一种清新雅致的感觉,所以通常喜爱干净的玩家会选择白色的机箱进行装机。并且白色作为一个全色光的颜色,可以很好的融合多种不同条件下场景,给人很好的视觉效果,这也是白色机箱受到玩家喜爱的一个重要原因。 GX580H是航嘉GX系列的又一新品,从外观设计到内部细节都不乏亮点,为了方便大家阅读,我们把结论放到最前边,大家可以更直观看到GX580H机箱特点。 1、前置散热加装防尘网。市售的不少机箱…

    2022年10月22日
    1340

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信