欢迎来到天天文库
浏览记录
ID:5297062
大小:190.77 KB
页数:3页
时间:2017-12-07
《深入研究java的类加载机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第32卷第2期唐山师范学院学报2010年3月1.32No.2JournalofTangshanTeachersCollegeMar.2010深入研究Java的类加载机制赵宇,张洪波(唐山师范学院计算机科学系,河北唐山063000)摘要:Java类的动态装载机制是Java虚拟机的一项核心技术,可以在运行时刻动态地加载或替换系统的某些功能模块,而不影响系统其它功能模块的正常运行介绍了Java虚拟机中类的动态装载机制的原理、实现及应用,分析了类装载器的结构、用途,阐述了利用自定义类装载器装载并执行Java类的过程。关键词:Java类;动态装载机制;Java虚拟机;类装载器中图分类号:
2、TP311文献标识码:A文章编号:1009-9115(2010)02-0081-02TheStudyofClassloadingMechanisminsideJavaZHAOYu,ZHANGHong-bo(DepartmentofComputerScience,TangshanTeachersCollege,Tangshan063000,China)Abstract:ThedynamicloadingmechanismofJavaClassisacoretechniqueinsideJavaVirtualMachine.Itcandynamicallyloadingorsubs
3、titutesomesystemfunctionmodules,withoutafectingothersystemmodules.Thispaperintroducedtheprinciples、realizationandapplicationsofdynamicClass2loadingmechanisminsideJavaVirtualMachine.ItalsoanalyzedtheframeandpurposeofClass2loadingmethod.TheprocessloadingandperformingJavaClasswithuser-definedCl
4、assLoaderwasalsoexpatiatedindetail.Keywords:Javaclass;dynamicloadingmechanism;Javavirtualmachine;classloader在许多传统语言中,程序是作为启动(startup)过程的Java语言是一种具有动态性的解释型编程语言,当指定一部分立刻被加载的。然后是初始化,紧接着程序开始运行。程序运行的时候,Java虚拟机就将编译生成的.class文件按这些语言的初始化过程必须小心控制,以确保static的初始照需求和一定的规则加载进内存,并组织成为一个完整的化顺序不会造成麻烦。例如,如果某个s
5、tatic在另一个staticJava应用程序。Java语言把每个单独的类Class和接口被初始化之前就可以被有效地使用,那么C++就会出现问Implements编译成单独的一个.class文件,这些文件对于Java题。Java就不会出现这个问题,因为它采用了一种不同的加运行环境来说就是一个个可以动态加载的单元,这些文件只载方式。由于Java中的所有事物都是对象,所以许多动作在需要使用程序代码时才会被加载。正是因为Java的这种就变得更加容易,加载动作仅仅是其中之一。每个类的编译特性,我们可以在不重新编译其它代码的情况下,只编译需代码都存在于它自己的独立的文件中。要修改的单元,
6、并把修改文件编译后的.class文件放到Java一般来说,“类的代码在初次使用时才加载”这通常是的路径当中,等到下次该Java虚拟机器重新激活时,这个指知道类的第一个对象被构建时才发生加载,但是当访问逻辑上的Java应用程序就会因为加载了新修改的.class文static数据成员或是static方法时,也会发生加载。初次使用件,自己的功能也做了更新,这就是Java的动态性。之处也是静态初始化(static初始化)发生之处。所有的staticl预先加载与依需求加载对象和static代码段都会在加载时依程序中的顺序(即定义Java运行环境为了优化系统,提高程序的执行速度,在类时的书
7、写顺序)依次初始化。当然,static只会被初始化JRE运行的开始会将Java运行所需要的基本类采用预先加一次。载(pre.1oading)的方法全部加载要内存当中,因为这些单收稿日期:2009.10.27作者简介:赵宇(1981.),男,河北唐山人,唐山师范学院计算机科学系助教,研究方向为计算机编程。墙l-第32卷第2期唐山师范学院学报2010年3月元在Java程序运行的过程当中经常要使用的,主要包括JRE时候是否初始化静态区,classloader表示加载该类所需的加的rt.jar文件里
此文档下载收益归作者所有