摘要:基本概念 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? 答案是肯定的。 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。 Java反射机制主要提供了以下功能: 1.在运行时判
阅读全文
摘要:Java IO1:IO和File IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络。IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入、输出,这些类都被放在java.io包中。 File类 File类是IO包中唯一代表磁盘文件
阅读全文
摘要:解析CSV文件: Column1,Column2,Column3,Column4,Column5Roderick Manuel,2013-02-21,59 E Brillhart Ave,67526,branch damage other impulseLashonda Frank,2012-11-
阅读全文
摘要:Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题。这里我来具体解释下。 public class Parent { public static void add(){ System.out.println(" Parent");}
阅读全文
摘要:要求:有两个数组一个N 个元素,另一个M 个元素,这两个数组中有些元素是相同的,希望通过编写一段程序将两个数组中的相同元素找出来,请用最少的循环次数完成需求,请问需要用什么方法? string[] str1 = { "1", "2", "3", "4", "5", "6" }; string[] s
阅读全文
摘要:java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译
阅读全文
摘要:使用注解主要是在需要使用Spring框架的时候,特别是使用SpringMVC。因为这时我们会发现它的强大之处:预处理。 注解实际上相当于一种标记,它允许你在运行时(源码、文档、类文件我们就不讨论了)动态地对拥有该标记的成员进行操作。 实现注解需要三个条件(我们讨论的是类似于Spring自动装配的高级
阅读全文
摘要:有4种显式地创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式。 2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。 3.调用对象的clone()方法。 4.运用反序列化手段,
阅读全文
摘要:进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JV
阅读全文
摘要:在网页中想后台传递多个数据时,有时数据还是多个动态列表,数据很复杂时,JavaScript程序员喜欢把他们作为json串进行处理,后台收到后需要对json字符串进行解析,幸好有JSON-lib,这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBea
阅读全文
摘要:问题2:通常情况下,不加大括号是什么情况?加上又是什么情况,他们的含义是什么,作用是什么, 最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下。 由于Java泛型的实现机制,使用了泛型
阅读全文
摘要:1. 阅读下列代码回答问题(第一个Java程序,理解PATH和CLASSPATH,学会使用javac和java命令) 问: (1)上面代码所在的源文件的文件名是_______________?(2)在DOS提示符下,当前目录为该源文件所在的目录,PATH环境变量已包含编译程序所在的路径,编译目标路径
阅读全文
摘要:Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术 反射(reflection),泛型(generics),元数据(annotation),proxies(proxy/cglib),代码动态生成(asm),AOP(aspectJ),动态语言嵌入(groovy/javascrip
阅读全文
摘要:主要是为了类反射,这样你可以在不知道具体的类的情况下,根据配置的字符串去调用一个类的方法。在灵活编程的时候非常有用。很多框架代码都是这样去实现的。但是一般的编程,你是不需要这样做的,因为类都是你自己写的,怎么调用,怎么生成都是清楚的。
阅读全文
摘要:以下案例模拟AOP实现 目录结构 接口PersonService 实现类PersonServiceBean 动态代理类JDKProxyFactory 动态代理类CGlibProxyFactory:使用CGLIB技术 测试类AopTest 运行结果
阅读全文
摘要:JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口 。如果想代理没有实现接口的类可以使用CGLIB包。 CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架(例如Spring AOP)使用,为他们提供方
阅读全文
摘要:1.什么是动态代理? 答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。2.为什么
阅读全文
摘要:在Java中通常要比较两个对象在修改前与修改后的值是否相同,一般我们采用的是反射技术获取对象的get方法[或其他的方法]获取值并做比较。如果系统将修改的属性名称也显示出来,这样就能更直观的显示类中的哪一个属性的值被修改了。然后Java中只能获取属性的名称,也就是英文标识的属性名,但是一般我们都会在属
阅读全文
摘要:最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库。 发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson。 经过比较,gson和其他现有java j
阅读全文
摘要:1. 递归查询树tree结构有两种做法: 第一种,递归查询数据库结构, 第二种,一次性将数据库表中的所有数据查出来,然后再递归查出来的list集合, 第一种做法适合数据量较少的tree结构,因为要一直查询数据库数据量大时速度回相对较慢,所以数据量大时建议使用第二种方法,如图1所示是一个常见的树tre
阅读全文