java实例化过程和程序加载

java实例化过程和程序加载

ID:47280552

大小:55.76 KB

页数:5页

时间:2019-08-25

java实例化过程和程序加载_第1页
java实例化过程和程序加载_第2页
java实例化过程和程序加载_第3页
java实例化过程和程序加载_第4页
java实例化过程和程序加载_第5页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。