package configuration; import Java.io.FileInputStream; import Java.io.FileNotFoundException; import Java.io.FileOutputStream; import Java.io.IOException; import Java.util.Properties; /** *//** * 读取properties文件 * @author Qutr * */ public class Con ...
package com.bjsxt.oa.manager; public class SystemException extends RuntimeException { //异常代码 private String key; private Object[] values; public SystemException() { super(); } public SystemException(String message, Throwable throwable) { super(message, throwable); } ...
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有 抽象角色:声明真实对象和代理对象的共同接口代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装真实角色:代理角色所代表的真实对象,是我们最终要引用的对象 动态代理中最关键的两点是: InvocationHandler 接口的实现 ...
java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。例程ArrayTest 类的main()方法创建了一个长度为10 的字符串数组,接着把索引位置为5 的元素设为“hello”,然后再读取索引位置为5 的元素的值 一、作为一维数组示例代码: 这里第21行,也可以这样写:Array.setInt(array_2,10,37);   java 代码 package com.test.reflect;       import java.lang.refl ...
在JAVA运行环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。 这种动态获取类的信息以及动态调用类的对象的方法的功能来自于Java语言的反射(Reflection)机制。 JAVA反射机制主要提供了以下功能: 1、在运行时判断任意一个对象所属的类 2、在运行时构造任意一个类的对象 3、在运行时判断任意一个类所具有的成员变量和方法 4、在运行时调用任意一个对象的方法  Reflection是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任 ...
@Documented Annotation的使用: @Documented Annotation的作用是在生成javadoc文档的时候将该Annotation也写入到文档中。 java 代码 package com.test;       import java.lang.annotation.Documented;       @Documented   public @interface DocumentTest&n ...
有关Annotation的继承说明: 1、JDK文档中的说明是:只有在类上应用的Annotation才能被继承,而实际应用时的结果是:除了类上应用的Annotation能被继承外,没有被重写的方法的Annotation也能被继承。 2、要注意的是:当方法被重写后,Annotation将不会被继承。 3、要使得Annotation 被继承,需要在Annotation中加标识@Inherited,并且如果要被反射应用的话,就需要还有个@Retention(RetentionPolicy.RUNTIME) 标识 4、Annotation的继承不能应用在接口上 代码一、实现类上的继承 ja ...
@Target Annotation的使用 @Target Annotation表示的是这个Annotation可以应用在哪里,是对Annotation应用的限制,如果没有这个标识的话,Annotation可以用在任何地方,比如类上,方法上,变量、属性上等,可以从java.lang.Enum.ElementType这个枚举里选择。 1、只能用在方法上的限制的应用 java 代码 package com.test;       import java.lang.annotation.ElementType; &nbs ...
告知编译程序如何处理@Retention: java.lang.annotation.Retention型态可以在您定义Annotation型态时,指示编译程序该如何对待您的自定义Annotation型态。 预定义上编译程序会将Annotation信息留在.class文档中,但不被虚拟机读取,而仅用于编译程序或工具程序运行时提供信息。 java.lang.annotation.RetentionPolicy 有三个枚举类型:CLASS、RUNTIME、SOURCE 只有当Annotation被指示成RUNTIME时,在运行时通过反射机制才能被JVM读取,否则,JVM是读取不到这个Ann ...
自定义Annotation类型:标识符(marker Annotation):@interface Annotation的使用:可以放在任何地方,如类的前面,方法的前面,变量、属性的前面等等。 Annotation的定义: 在定义Annotation型态的时候不能继承其它的Annotation型态或接口 1、不带参数的定义与使用 java 代码 package com.test;       public @interface AnnotationTest {    ...
1、Override 强制检查子类的方法重写   java 代码 package com.test;       public class OverrideTest {                @Override       public String toString() ...
执行存储过程用那一个类,如何操作输出参数?(操作) CallableStatement c=con. prepareCall ("{call getCustomerName(?,?)}"); c.setString(1,"1"); c.registerOutParameter(2,java.sql.Types.VARCHAR); c.execute(); c.getString(2);
package com; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Test { /** * @param args */ public static void main(String[] ...
这几天需要用到快速排序算法,虽然以前写过作业,但也有些遗忘,于是上网搜了一下,发现虽然很多,却或多或少都有些问题,尤其是数据越界,所以我自己调了一下,以下是经过测试的快速排序的程序,希望对大家有些帮助: public class QSort { /** * @author WangYu 2008-05-29 * @param pData 需要排序的数组 * @param left 左边的位置,初始值为0 * @param right 右边的位置,初始值为数组长度 */ publi ...
java 对象是如何进行初始化的,新建一PrintClass.java文件如下(包括类PrintClass以及A和其子类B),编译运行其中的main方法,     public class PrintClass { public static void main(String[] args){ new B(); } PrintClass(String var) { System.out.println(var); } } ...
JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用. 如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例. 下面代码演示了Console类的用法: /** * @author chinajash */ public class Console ...
在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。下面代码演示了Desktop和SystemTray的用法。 /**** @author chinajash*/public class DesktopTray { private static Desktop desktop; private static SystemTra ...
现在我们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。这个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件,当然,现在的JSP Web Server也是支持JSP热部署的,现在的JSP Web Server通过在运行期间通过Runtime.exec或ProcessBuil ...
JDK1.5中遍历使用泛型参数的 Map Map<String,String > map = new HashMap < String,String>(); for(Map.Entry <String,String> entry : map.entrySet()){   System.out.println(entry.getKey() + "-->" + entry.getValue()); } 或用Iterator public class MyMap{ public static void main(String[] args){ ...
1)、编写在seq_block取应表的流水号、并将该流水号在取完之后加一、如果没有存在指定的表的时候加放与该表名对应的记录的存储过程: create procedure getIdxByTablename(@tablename varchar(50),@outIdx int output) as begin declare @idx int declare @currentTableRecord int select @currentTableRecord=count(*) from seq_block where name=@tablename ...
/* 操作属性文件,可以为我们的程序带来更方便的移植性,下面是一个示例,可以读、写、更改属性 读采用了两种方式,一种是采用Properties类,另外一种是采用资源绑定类ResourceBundle类, 下面是源程序,里面有详细的注释: */ import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Properties; import java.util.ResourceBundle; /** *对属性文件(xx.properties)的操作 *注:属性文件一定 ...
List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别? 这是一个面试经常问到的问题,我就被问到过,原来还真的没有考虑过这样的问题,只是去比较该用Vector还是ArrayList,该用 Hashtable还是该用HashMap了,我喜欢用示例测试,并在其中加上附注,这样更好理解import java.util.*; /** *List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别? *下面的例子可以回答这个问题 *@authorhttp://blog. ...
这个只能够用字符串的形式来处理了,因为计算机能够处理的最大是long型,本文以字符串的形式来进行超大数据的相加,理论上只要你的内存允许,相加多大的数都可以。 /** * 超大整数相加: * 题目要求:如果系统要使用超大整数(超过long的范围),请你设计一个数据结构来存储这种 * 超大型数字以及设计一种算法来实现超大整数的加法运算 * @author Administrator * */ public class VeryBigNumAdd { /** * @param args */ public static void ...
第一个,演示一个简单的外部类使用内部类示例: public class OuterClass { //内部类 private class InterClass { //内部类的构造函数 public InterClass() { System.out.println("InterClass Create"); } } //外部类的构造函数 public OuterClass() { InterClass ic = ...
简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。 <!--[if !supportLists]-->1 <!--[endif]-->Static member class(静态成员类) 类声明中包含“static”关键字的内部类。如以下示例代码, Inner1/Inner2/Inner3/Inner4就是Outer的四个静态成员类。静态成员类的使用方式与一般顶层类的使用方式基本相同。 pu ...
这个大家都应该是不陌生了,我本来想介绍一下,不过,我想了一下,我说的,绝对没有《Think In Java》说的好,所以我就引用下面的话,然后,我举例测试,并附代码于后。 测试用例: import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedList; import java.util.TreeMap; imp ...
//程序说明: 要导入jxl.jar到Classpath中。 import jxl.*; import java.io.*; import jxl.write.*; /** * <p>java读取Excel表格,拷贴心、更新Excel工作薄 </p> */ public class Test1 { public static void main(String[] args) { jxl.Workbook rwb = null; try{ //构建Workbook对象 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Work ...
听说这个split方法比那个StringTokenizer效率高一点,今天刚好用上,就拿来试试,没有想到一试就出问题了,把折分结果打在控制台上,结果居然是空的,我要折分的字符串是“5#1|7#2|11#3”刚用这里 str.split("|")时就出问题了,看了下面这篇文章,将其改为str.split("\\|")就OK了,这个|在正则表达式中也是个特殊字符。回头还得弄弄正则表达式了。 public static void main(string[] args) { string value = "192.168.128.33"; string[] names = value.split ...
import java.util.LinkedList; import java.util.Vector; /** * Java中的鏈表,SUN公司已經為我們做好了,我們只需要簡單的使用就可以了 * 當沒有要求的時候,就可以不用自己去實現。 * 如果確實有要求要自己實現,那么也自己實現也是一樣的道理,只需要像 * LinkedList中一樣,實現向個接口方法,同樣可以做到。 * 這里是一個簡單的例子,如果相參看自己實現的鏈接,可以去這里: * http://blog.csdn.net/fenglibing/archive/2006/04/19/669456.as ...
集合: Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。 Hashtable和HashMap 它们的性能方面的比较类似 Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。 ArrayL ...
wangyu
搜索本博客
我的相册
4a4a4c43-84f9-3c9d-9259-f29f3081cdc9-thumb
strutsWorkflow
共 3 张
最近加入圈子
存档
最新评论