欢迎来到天天文库
浏览记录
ID:47280552
大小:55.76 KB
页数:5页
时间:2019-08-25
《java实例化过程和程序加载》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、回java实例化过程和程序加载收藏顺序:仁父类静态块2:子类静态块3:父类实体态块4:父类方法头(constructor中的this(),call另外一个constructor)5:父类构造方法体6:子类实体态块7:子类方法头8:子类构造方法体Example:packageSCJP;classParentC{publicStringp_s=”s”;staticStrings_s=”static_s”;ParentC(inti){System.out.println(”BeforeParent_constructor
2、"+i);}ParentC(){this(O);System.out.println(”Parent_constructor");}publicvoidpMethod(){System.out.println(HParent_public_methodn);}publicstaticvoidsMethod(){System.out.println(HParent_static_methodn);}{System.out.println(”Parent_non_static_block”);}static{Syste
3、m.out.println(^^Parent_static_block,^);}}publicclassInstanceOrderTestextendsParentC{InstanceOrderTest(){System.out.println(^^Child_constructor^^);}publicvoidpMethod(){System.out.p^ntln(^^Child_public_method^^);}System.out.p^ntln(^^Child_non_static_block^,);}pu
4、blicstaticvoidsMethod(){System.out.p^ntln(^^Child_static_method^^);}static{System.out.println(^^Child_static_block,,);}*@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubnewlnstanceOrderTest();}output:Parent_static_blockChild_static_
5、blockParent_non_static_blockBeforeParent_constructor0Parent_constructorChild_non_static_blockChild_constructor静态库.动态连接库程序编制一-般需经编辑、编译、连接、加载和运行几个步骤。在我们的应用屮,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在连接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多
6、次使用就会有多份冗余拷贝。为了克服这个缺点可以采用动态连接库。这个时候连接器仅仅是在可执行文件中打上标志,说明需要使用哪些动态连接库;当运行程序时,加载器根据这些标志把所需的动态连接库加载到内存。另外在当前的编程环境中,一般都提供方法让程序在运行的时候把某个特定的动态连接库加载并运行,也可以将其卸载(例如Win32的LoadLibrary()&FreeLibrary()和Posix的dlopen()&dlclose())。这个功能被广泛地用于在程序运行时刻更新某些功能模块或者是程序外观。WhatisClassLoa
7、der?与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Javaclass加载到JVM里头运行,负责加载Javaclass的这部分就叫做ClassLoader。JVM本身包含了一个ClassLoader称为BootstrapClassLoader,和JVM一样,BootstrapClassLoader是用本地代码实现的,它负责加载核心JavaClass(即所有java广开头的类)。另外JVM还会提供两个ClassLoader,
8、它们都是用Java语言编写的,由BootstrapClassLoader加载;其中ExtensionClassLoader负责加载扩展的Javaclass(例如所有javax.*Jf头的类和存放在JRE的extH录下的类),ApplicationClassLoader负责加载应用程序自身的类。Whentoloadtheclass?什么时候JVM会使用Clas
此文档下载收益归作者所有