欢迎来到天天文库
浏览记录
ID:40556084
大小:30.13 KB
页数:5页
时间:2019-08-04
《java 实例化过程 和 程序加载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java实例化过程和程序加载 收藏顺序:1:父类静态块 2:子类静态块3:父类实体态块4:父类方法头 (constructor中的this(),call另外一个constructor)5:父类构造方法体 6:子类实体态块 7:子类方法头 8:子类构造方法体 Example: packageSCJP;classParentC{ publicStringp_s="s"; staticStrings_s="static_s"; ParentC(int i){ System.out.println("
2、BeforeParent_constructor"+i); } ParentC(){ this(0); System.out.println("Parent_constructor"); } publicvoidpMethod(){ System.out.println("Parent_public_method"); } publicstaticvoidsMethod(){ System.out.println("Parent_static_meth
3、od"); } { System.out.println("Parent_non_static_block"); } static{ System.out.println("Parent_static_block"); }}publicclassInstanceOrderTestextendsParentC{ InstanceOrderTest(){ System.out.println("Child_constructor"); } publi
4、cvoidpMethod(){ System.out.println("Child_public_method"); } { System.out.println("Child_non_static_block"); } publicstaticvoidsMethod(){ System.out.println("Child_static_method"); } static{ System.out.println("Child_static_
5、block"); } /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub newInstanceOrderTest(); }}output:Parent_static_blockChild_static_blockParent_non_static_blockBeforeParent_constructor0Parent_constructorChild_n
6、on_static_blockChild_constructor======================================================静态库、动态连接库程序编制一般需经编辑、编译、连接、加载和运行 几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在连接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。为了克服这个缺点可以采用动态连
7、接库。这个时候连接器仅仅是在可执行文件中打上标志,说明需要使用哪些动态连接库;当运行程序时,加载器根据这些标志把所需的动态连接库加载到内存。另外在当前的编程环境中,一般都提供方法让程序在运行的时候把某个特定的动态连接库加载并运行,也可以将其卸载(例如Win32的LoadLibrary()&FreeLibrary()和Posix的dlopen()&dlclose())。这个功能被广泛地用于在程序运行时刻更新某些功能模块或者是程序外观。WhatisClassLoader?与普通程序不同的是,Java程序(class文件)并不是
8、本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Javaclass加载到JVM里头运行,负责加载Javaclass的这部分就叫做ClassLoader。JVM本身包含了一个ClassLoader称为BootstrapClassLoader,和JVM一样,Bootstra
此文档下载收益归作者所有