JVM-类的四种载入方式
2017-11-15 13:53
281 查看
package org.burning.sport.javase.classloader; public class ClassLoaderMain { public static void main(String[] args) { ClassLoaderMain clm = new ClassLoaderMain(); //1.使用Class静态方法Class.forName // clm.loadClassMethod1(); //2.使用ClassLoader // clm.loadClassMethod2(); //3. 使用类.class方式 // clm.loadClassMethod3(); //4. 使用对象的getClass方法 clm.loadClassMethod4(); } public void loadClassMethod1() { try { Class<?> clazz = Class.forName("org.burning.sport.javase.classloader.ClassLoaderModel"); ClassLoaderModel clm = (ClassLoaderModel)clazz.newInstance(); System.out.println(clm); } catch (Exception e) { e.printStackTrace(); } } public void loadClassMethod2() { ClassLoader cl = this.getClass().getClassLoader(); try { Class<?> clazz = cl.loadClass("org.burning.sport.javase.classloader.ClassLoaderModel"); ClassLoaderModel clm = (ClassLoaderModel) clazz.newInstance(); System.out.println(clm); } catch (Exception e) { e.printStackTrace(); } } public void loadClassMethod3() { Class<?> clazz = ClassLoaderModel.class; try { ClassLoaderModel str = (ClassLoaderModel)clazz.newInstance(); System.out.println(str); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } public void loadClassMethod4() { ClassLoaderModel clm = new ClassLoaderModel(); Class<?> clazz = clm.getClass(); try { ClassLoaderModel ss = (ClassLoaderModel)clazz.newInstance(); System.out.println(ss); } catch (Exception e) { e.printStackTrace(); } } } https://gitee.com/play-happy/base-project
相关文章推荐
- composer 自动载入的四种方式
- composer 自动载入的四种方式
- Heritrix3.0教程 使用入门(四) 载入种子的四种方式
- Heritrix3.0 载入种子的四种方式
- ANDROID基础学习笔记_1_方法的四种绑定方式
- spring四种依赖注入方式
- android数据存取的四种方式
- map遍历的四种方式
- VMware的四种网络连接方式
- JAVA四种方式访问XML(DOM,SAX,JDOM,DOM4J)
- 四种xml的解析方式
- JAVA多线程实现的四种方式
- h5,载入svg到html的三种方式
- Struts2中访问web元素的四种方式及前台jsp页面获取后台值的方式
- android 定位的四种方式
- 【C++】类型转换简述:四种类型转换方式的说明及应用
- Struts2获取web资源的四种方式
- [原型设计]Axure制作图像的放大与缩小效果的四种方式
- Activity的四种LaunchMode(启动方式)