2012年9月10日

Java中new和newInstance的区别

摘要: 1、类的加载方式不同 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法的时候,必须保证这个类已经加载并且已经连接了,而这可以通过Class的静态方法forName()来完成的。 使用关键字new创建一个类的时候,这个类可以没有被加载,一般也不需要该类在classpath中设定,但可能需要通过classlaoder来加载。2、所调用的构造方法不尽相同 new关键字能调用任何构造方法。 newInstance()只能调用无参构造方法。3、执 阅读全文

posted @ 2012-09-10 23:47 linzuxin 阅读(353) 评论(0) 推荐(0) 编辑

深入研究Java类加载机制

摘要: 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。一、简单过程Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将HelloWorld.class加载到内存中,并形成一个Class的对象HelloWorld.class。其中的过程就是类加载过程:1、寻找jre目录,寻找jvm.dll,并初始化JVM;2、产生一个Bootstrap Loader(启动类加载器);3、Bootstrap Loa 阅读全文

posted @ 2012-09-10 23:41 linzuxin 阅读(171) 评论(0) 推荐(0) 编辑

导航