- 浏览: 578320 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
import java.util.Scanner; public class ClassDemo2 { public static void main(String[] args) throws ClassNotFoundException { Cat cat=new Cat("tom",2); ClassLoader loader=cat.getClass().getClassLoader(); System.out.println(loader); Scanner scan=new Scanner(System.in); System.out.println("请输入一个类名"); String className=scan.next(); //Class clazz=Class.forName(className); //System.out.println(clazz.getName()); Class clazz=loader.loadClass(className); System.out.println(clazz.getSimpleName()); } }
看个完整的例子:
import java.util.*; import java.lang.reflect.*; class ClassDemo { public static void main(String[] args) throws ClassNotFoundException { //动态加载类;h Scanner scan=new Scanner(System.in); System.out.println("请输入一个你想创建的类"); String className=scan.next(); Class clazz=Class.forName(className); System.out.println(clazz.getName()); Bird bird=new Bird("tom",2); Class clazz2=bird.getClass(); System.out.println(clazz==clazz2); //一些基本操作; System.out.printf("%s是否是接口%b\n",clazz.getClass().getName(),clazz.isInterface()); System.out.printf("%s是否死基本数据类型%b\n",clazz.getClass().getName(),clazz.isPrimitive()); System.out.printf("%s是否是数组%b\n",clazz.getClass().getName(),clazz.isArray()); System.out.printf("%s的父类是%s",clazz.getClass().getName(),clazz.getSuperclass().getName()); System.out.println(); //查看类的信息 int m=clazz.getModifiers(); System.out.printf("%s\t",Modifier.toString(m)); if(clazz.isInterface()) {System.out.println("interface");} else{System.out.print("class");} System.out.printf("\t"); System.out.printf("%s",clazz.getSimpleName()); System.out.println("\t\t{"); Field [] fields=clazz.getDeclaredFields(); for(Field field:fields) { int n=field.getModifiers(); System.out.printf("%s\t",Modifier.toString(n)); System.out.printf("%s\t",field.getType().getSimpleName()); System.out.printf("%s\t",field.getName()); } Constructor [] cons=clazz.getDeclaredConstructors(); for(Constructor con:cons) { int p=clazz.getModifiers(); System.out.printf("%s\t",Modifier.toString(p)); System.out.printf("%s (){\n}\n",con.getName()); } Method []methods=clazz.getDeclaredMethods(); for(Method method:methods) { int q=method.getModifiers(); System.out.printf("%s\t",Modifier.toString(q)); System.out.printf("%s\t ",method.getReturnType().getSimpleName()); System.out.printf("%s\n; ",method.getName()); } System.out.println("\t\t}"); //实现类的动态加载有两个方法:一个是用forname一个是用加载器 ClassLoader loader=bird.getClass().getClassLoader(); Scanner scan1=new Scanner(System.in); String className1=scan1.next(); Class clazz1=loader.loadClass(className1); System.out.println(clazz1.getSimpleName()); } }
发表评论
-
日期比较
2013-06-13 16:21 1176比较日期: function compareDate( ... -
Arrays.asList详解
2012-09-10 09:52 889Arrays.asList详解 记得以前写过一 ... -
Collections.addAll
2012-09-07 18:04 2330collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 891String a = "ab"; ... -
图片复制
2012-07-05 11:53 1068import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1386Thumbnailator是一个用来生成图像缩略图的 J ... -
java File
2012-06-29 13:53 1278直接下载的,整理的很好,这里做个记录,基础的东西都是。 Fi ... -
mysql 时间比较
2012-06-05 19:57 1弱智得问题,分开写 SELECT * FROM bb_ ... -
split
2012-05-23 10:46 1203//String[] idArr = StringUtil ... -
(转)关于Integer大小比较的问题
2012-05-18 10:32 878关于Integer大小比较的问题 昨天跟朋友一起 ... -
toString
2012-05-14 20:01 1005public abstract class ToStringB ... -
io读取操作
2012-03-09 16:18 963public void writeFile(Strin ... -
string[] to map
2012-03-03 17:23 1085public static Map<Inte ... -
tomcat中文问题的解决
2012-03-01 09:55 861第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特 ... -
java方式将汉字转成拼音
2012-02-24 13:02 1063/** * 需要一个开源的jar包pinyin4j-2.5. ... -
System.getProperty(key)
2012-02-15 15:08 1020public static void main(String ... -
CodeFilter
2012-05-22 11:14 840package com.bitbao.cm.common.ut ... -
Integer值比较误区
2012-05-22 11:14 938例子: Integer i1 = 12; I ... -
容易忽略的for循环问题
2012-01-18 15:33 11751、项目中对用户操作的结果进行审核时候,出现一个问题,如果对省 ... -
java实现的加密工具类(支持MD5和SHA)
2012-01-13 16:08 1271版权声明: dtstudy原创文章,转载请注明出处: h ...
相关推荐
- `Class.forName(String className)` 是动态加载类的常见方式,它会尝试加载指定名称的类,并返回`Class`对象。如果类尚未加载到JVM中,该方法会调用相应的类加载器进行加载。 4. URLClassLoader: - 当类位于非...
### 利用类装载器动态加载类并启动类 #### 概述 本文将详细介绍如何通过自定义类装载器来动态加载并启动类的过程,同时介绍一个简单的位移...这种方式不仅增强了数据的安全性,也为动态加载类提供了灵活的解决方案。
本文将深入探讨Java动态加载类的概念、应用场景以及其实现方式。 #### 1. 动态加载类的意义与应用 动态加载类的主要意义在于提高系统的灵活性和可维护性。例如,当存在多个实现同一接口的类时,如不同的数据库连接...
2. **加载类**:使用`Class.forName()`方法根据配置文件中的类名动态加载类。 3. **创建对象**:调用`clazz.newInstance()`方法创建类的一个新实例。 4. **设置字段值**:通过`Field`类的`set()`方法为对象的指定...
在Java编程中,动态编译代码并热加载类是一项重要的技术,它允许程序在运行时修改或添加新的类,而无需重启应用。这种能力对于快速迭代开发、调试和性能优化非常有用。本主题将深入探讨Java中的动态编译与热加载机制...
"插件化:动态加载类(无法加载资源)"这一主题涉及到的关键知识点主要围绕Android插件化原理、动态加载类的方法以及资源加载问题的解决策略。 首先,Android插件化的核心思想是将应用程序拆分成主程序(宿主)和...
这个“JNI动态加载方式示例工程”显然是一个演示如何在Java程序中动态加载本地库(.so文件)的实例。在Android开发中,JNI通常用于实现Java无法高效处理的底层操作,如高性能计算、系统调用或者与硬件设备通信。 ...
例如,`MemoryClassLoader.java`可能就是一个自定义类加载器的实现,它可以在内存中动态加载或更新类。 **JarinJAR**是一种打包技术,它可以将多个JAR文件打包成一个大的JAR文件。在热加载场景下,JarinJAR使得在...
在Android应用开发中,动态加载类是一项重要的技术,它允许应用程序在运行时加载新的功能或者更新已有代码,而无需重新安装整个应用。本篇将详细解释如何在Android中实现动态加载类,主要涉及两种ClassLoader:...
在C++编程中,动态加载类是一种非常有用的技巧,它允许程序在运行时根据需要加载和使用未知或未预先编译的类。这种技术通常与插件系统、可扩展性或者模块化软件设计相关联。动态加载类的核心是C++标准库中的`dlopen`...
Java动态加载类是一种重要的编程技巧,它允许程序在运行时根据需要加载新的类,而无需重新编译或修改主程序。这种技术对于实现模块化、可扩展性和灵活性至关重要,尤其适用于大型复杂系统。以下是关于Java动态加载类...
动态加载是编程中的一种技术,它允许程序在运行时加载未知或在编译时不可用的库、组件或服务。这种技术在很多情况下非常有用,因为它增强了程序的灵活性和可扩展性。本篇文章将深入探讨“动态加载dll”和“动态加载...
1. ClassLoader重写:Android系统的类加载是通过ClassLoader来完成的,因此,要实现动态加载,我们需要自定义ClassLoader。通过对默认的 DexClassLoader 或 PathClassLoader 进行扩展,我们可以控制何时以及如何加载...
在Java编程环境中,动态加载jar包是一项重要的技术,它允许我们无需重启服务器就能引入新的功能或更新已有的类。这在大型系统维护和迭代中尤为关键,因为它提高了系统的灵活性和可扩展性。以下是对"动态加载jar包的...
Java虚拟机(JVM)有多个内置的类加载器,如Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader,它们按层次结构工作,依次加载类。用户还可以自定义类加载器以满足特定需求,例如加载网络上的类或加密...
在Java编程环境中,动态加载jar包是一项重要的技术,它允许程序在运行时根据需要加载新的功能或库,而不是在编译阶段就确定所有依赖。这种技术对于开发大型、可扩展和模块化的应用尤其有价值,因为它提供了灵活性...
总结,MFC加载BMP图片涉及了对资源管理的理解,包括静态和动态加载方式的选择以及避免内存泄漏的注意事项。正确使用这些技术,可以帮助我们高效、安全地在MFC应用程序中处理图像资源。在实际项目中,应根据具体需求...
本文将深入探讨如何通过接口方式动态加载DLL,以此来理解C#反射的应用。 首先,我们要知道什么是接口。在C#中,接口(Interface)是一种定义行为规范的类型,它不包含任何实现,只包含方法、属性、索引器和事件的...
综上所述,Android免安装动态加载APK技术涉及了类加载、资源管理、权限控制等多个方面的知识,对于提升应用的灵活性和可维护性具有重要意义,同时也对开发者的技术水平提出了较高的要求。在实践中,开发者需要根据...
动态加载Web服务是一种灵活的应用程序设计策略,它允许程序在运行时发现、加载并使用Web服务,而不是在编译时硬编码对特定Web服务的引用。这种方法的优势在于提高了应用程序的可扩展性和适应性,因为即使Web服务提供...