网站首页 / 育儿 / 正文

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

时间:2022-04-13 21:39:58 浏览:3411次 作者:用户投稿 【我要投诉/侵权/举报 删除信息】

多条告白如次剧本只需引入一次

JVM系列条记目次

假造机的普通观念class文献构造class文献加载进程jvm外存模子JVM常用训令GC与调优

Class文献加载进程

JVM加载Class文献重要分3个进程:Loading 、Linking、Initialzing

1.Loading

Loading的进程即是经过类加载器将.class文献加载到jvm外存中进程。须要领会双亲萎任体制、类加载器ClassLoader,加载进程如次。

ClassLoader

各别的类加载器加载范畴不一律,以Java第88中学的为例。

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

前三个加载器来自JDK的Launcher类,三个ClassLoader动作Launcher的里面类,感爱好不妨察看下源码。

开拓者也不妨自设置的ClassLoader,自设置记录范畴。

双亲萎任体制

自底进取查看该类能否仍旧加载,parent目标;自顶向下举行类的本质搜索和加载,child目标。 类的加载按照双亲萎任体制,主假如出于安定的商量。双亲萎任体制是怎样实行的,底下源码会证明。

​ 提防:双亲萎任中生存所谓的父加载器并不是加载器的加载器,不过翻译的题目,别污染了类的接受观念。

ClassLoader源码

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 JIT编写翻译器编写翻译实行?

版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至353049283@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。