问一个基础问题,什么是Java动态加载,什么是Java动态运行。能举例说明更好!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【lipeng3252642】截止到2008-07-17 09:34:18的历史汇总数据(不包括此帖):
    发帖的总数量:15                       发帖的总分数:125                      每贴平均分数:8                        
    回帖的总数量:20                       得分贴总数量:5                        回帖的得分率:25%                      
    结贴的总数量:14                       结贴的总分数:125                      
    无满意结贴数:3                        无满意结贴分:5                        
    未结的帖子数:1                        未结的总分数:0                        
    结贴的百分比:93.33 %               结分的百分比:100.00%                  
    无满意结贴率:21.43 %               无满意结分率:4.00  %                  
    值得尊敬
      

  2.   

    去google查  或看书 都会看到很详细的答案
      

  3.   

    在JAVA中,通过Class.forName()方法可以动态决定加载哪一个类,这个功能对于相同接口的不同实现来讲非常有用。比如对于设计好的数据库连接池接口,我们可以有多种的接口实现类来完成相同的功能,同时用户可以简单的通过修改配置文件来指定实际使用哪一个实现类,在源代码里面通过读取配置文件信息,并用Class.forName(configClassName).getInstance()就可以构造一个特定的实现类实例,而不用每次修改源代码。这样对于程序来讲只用关心接口的定义,用户只用进行配置文件的设置就完成了同一功能的不同实现的切换。baidu 来的,呵呵
      

  4.   

    1> 动态加载 : 你写了一个类,你运行它的时候,类装载器会装载这个类,然后再根据这个类内容(引用的包),再去装载其他的类.2>动态运行  : 你写了一个类,你用它父类的引用来运行它的时候,执行引擎会动态的确定这个类的类型,重而调用正确的方法. 
      

  5.   

    动态加载:运行时需要哪个类就动态地加载哪个类(的字节码文件即 class 文件)。
    动态运行:这个就太多了,动态获取类型信息(反射),动态类加载,字节码的动态解释执行,动态字节码优化,动态编译(程序运行时自己生成 Java 源代码并在编译后应用于系统中),多态机制,JIT ......
      

  6.   

    这主要看java的虚拟机实现了,不同的虚拟机实现不一样。但是大部分时 当需要某个类的时候 才将java类的class文件加入内存 形成一个Class对象。然后会进行加载,校验,准备,初始化等工作。这就是动态加载。例子很简单。比如一个main方法里,创建一个你定义的对象,那么就在这段代码执行时,这个类就会被加载。加载只会加载一次,除非虚拟机把他卸载过。