Java基础
文章平均质量分 53
SailingAptech
努力成就梦想,梦想成就未来。
展开
-
项目中用到的数字证书的创建,签名实现
首先 需要下载jar包 bcprov-jdk15-145.jar 实体类 package com.hongan.lh.cert;import java.security.KeyPair;import java.security.cert.X509Certificate;public class CertInfo { private Key...原创 2012-07-15 20:17:16 · 342 阅读 · 0 评论 -
Java 对象初始化顺序
java 对象是如何进行初始化的,新建一PrintClass.java文件如下(包括类PrintClass以及A和其子类B),编译运行其中的main方法, public class PrintClass { public static void main(String[] args){ new B(); } PrintCla...2008-05-19 21:23:45 · 99 阅读 · 0 评论 -
JDK6.0新特性:用Console开发控制台程序
JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用. 如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另...2008-05-15 22:47:53 · 120 阅读 · 0 评论 -
JDK6.0新特性二:Desktop和SystemTray类
在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。下面代码演示了Desktop和SystemTray的用法。/**** @autho...2008-05-15 22:46:51 · 145 阅读 · 0 评论 -
JDK6.0的新特性一:使用Compiler API
现在我们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。这个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compile...2008-05-15 22:45:47 · 153 阅读 · 0 评论 -
遍历一个Map
JDK1.5中遍历使用泛型参数的 Map [code="java"]Map map = new HashMap < String,String>();for(Map.Entry entry : map.entrySet()){ System.out.println(entry.getKey() + "-->" + entry.getValue()); }[/cod...2008-05-15 21:46:18 · 129 阅读 · 0 评论 -
在JAVA中调用存储过程、并将结果取出来一例
1)、编写在seq_block取应表的流水号、并将该流水号在取完之后加一、如果没有存在指定的表的时候加放与该表名对应的记录的存储过程:[code="java"]create procedure getIdxByTablename(@tablename varchar(50),@outIdx int output)as begin declare @idx int...2008-05-11 07:38:13 · 138 阅读 · 0 评论 -
JAVA操作属性文件
[code="java"]/*操作属性文件,可以为我们的程序带来更方便的移植性,下面是一个示例,可以读、写、更改属性读采用了两种方式,一种是采用Properties类,另外一种是采用资源绑定类ResourceBundle类,下面是源程序,里面有详细的注释:*/import java.io.FileInputStream;import java.io.FileOutputSt...2008-05-11 06:48:33 · 110 阅读 · 0 评论 -
List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable
List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?这是一个面试经常问到的问题,我就被问到过,原来还真的没有考虑过这样的问题,只是去比较该用Vector还是ArrayList,该用 Hashtable还是该用HashMap了,我喜欢用示例测试,并在其中加上附注,这样更好理解[code="java"]import java.ut...2008-05-11 06:45:11 · 369 阅读 · 0 评论 -
超大整数相加,超过了long的范围,你要怎么做!
这个只能够用字符串的形式来处理了,因为计算机能够处理的最大是long型,本文以字符串的形式来进行超大数据的相加,理论上只要你的内存允许,相加多大的数都可以。[code="java"]/** * 超大整数相加: * 题目要求:如果系统要使用超大整数(超过long的范围),请你设计一个数据结构来存储这种 * 超大型数字以及设计一种算法来实现超大整数的加法运算 * @author...2008-05-08 02:16:06 · 257 阅读 · 0 评论 -
有两个关于内部类(Inner Class)的示例
第一个,演示一个简单的外部类使用内部类示例:[code="java"]public class OuterClass{ //内部类 private class InterClass { //内部类的构造函数 public InterClass() { System.out.printl...2008-05-08 02:03:59 · 162 阅读 · 0 评论 -
Hessian的学习笔记
1- 整个jar很小,200多K,3.1版本的,当然,我下载的for java的版本.2- 配置很简单,基本上不需要花什么经历就配置出来了3- 功能强大,可以将soap抛开,也可以把EJB抛开,采用二进制来传递对象4- 拥有多种语言支持,python c++ .net 甚至 flex 都可以做为client端[url]http://hessian.caucho.com/#Java...2008-12-01 12:20:08 · 102 阅读 · 0 评论 -
java写入文件时庄和薛字的问题
今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现乱码。当是薛或庄组成的词的时候,就没有问题,比如村庄。[code="java"] Collection aaa = new ArrayList(); String a = ""; String file2 = "c:/test/YSMX.txt"; try { String file...2008-12-26 10:47:12 · 86 阅读 · 0 评论 -
DecimalFormat的用法介绍
import java.text.*;import java.util.*;public class DecimalFormatSample {public static void main(String args[]) { DecimalFormat myformat1 = new DecimalFormat("###,###.0000");//使用系统默认的格式...原创 2012-02-06 14:16:47 · 354 阅读 · 0 评论 -
tomcat,jdk,maven环境变量配置(备忘)
环境变量: CATALINA_HOMED:\Program Files\TomcatCATALINA_BASED:\Program Files\TomcatCLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\co...原创 2011-12-25 10:24:41 · 141 阅读 · 0 评论 -
动态读取配置文件
[code="java"]import java.io.File;import java.io.FileInputStream;import java.net.URI;import java.net.URISyntaxException;import java.util.Properties;/** * 动态读取配置文件类 * * @author dick_w...原创 2009-08-04 11:30:47 · 134 阅读 · 0 评论 -
java获得指定时间几天前或几天后的日期
[code="java"]/** * 得到几天前的时间 * * @param d * @param day * @return */ public static Date getDateBefore(Date d, int day) { Calendar now = Calendar.getInstance(); now.setTime(d...原创 2010-01-14 09:28:36 · 214 阅读 · 0 评论 -
防止java反编译的一些常用方法
1.隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。例如,开发人员可以将关键的Java Class放在服务器端,客户端通过访问服务器的相关接口来获得服务,而不是直接访问Class文件。这样黑客就没有办法反编译Class文件。目前,通过接口提供服务的标准和协议也越来越多,例如 HTTP、Web Service、RPC...2009-02-12 14:33:34 · 196 阅读 · 0 评论 -
JAVA对数字证书的常用操作
一需要包含的包[code="java"] import java.security.*; import java.io.*; import java.util.*; import java.security.*; import java.security.cert.*; import sun.s...2009-07-12 18:42:53 · 112 阅读 · 0 评论 -
签字证书例子
[code="java"]import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; imp...2009-07-12 18:31:29 · 159 阅读 · 0 评论 -
list,set,map,数组间的相互转换
1.list转set[code="java"]Set set = new HashSet(new ArrayList()); [/code]2.set转list[code="java"]List list = new ArrayList(new HashSet()); [/code]3.数组转为list[code="java"]List stooges = Arrays.a...2009-07-01 16:10:45 · 222 阅读 · 0 评论 -
动态运行Java代码
有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的方式,以下代码可参考(在JDK 1.5+平台上运行通过):[code="java"]public static void main(String[] args) { // PrintWriter out; // PrintStream myOut = new PrintStream(out);...原创 2009-07-01 14:08:32 · 144 阅读 · 0 评论 -
操作数组
[code="java"] List list1 = new ArrayList(); list1.add("a"); list1.add("b"); list1.add("c"); list1.add("d"); list1.add("e"); List list2 = new ArrayList(); list2.add(&q2009-01-20 12:48:29 · 111 阅读 · 0 评论 -
Java内部类(Inner Class)
简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。1 Static member class(静态成员类)类声明中包含“static”关键字的内部类。如以下示例代码,Inner1/Inner2/...2008-05-08 02:01:19 · 77 阅读 · 0 评论 -
集合(Collection)与迭代器(Iterator)
这个大家都应该是不陌生了,我本来想介绍一下,不过,我想了一下,我说的,绝对没有《Think In Java》说的好,所以我就引用下面的话,然后,我举例测试,并附代码于后。[img]http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/75e6f2605a6241598f959778a99cc09d.png[/img][img]ht...2008-05-08 01:49:26 · 126 阅读 · 0 评论 -
java.lang.reflect.Array的应用
java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。例程ArrayTest 类的main()方法创建了一个长度为10 的字符串数组,接着把索引位置为5 的元素设为“hello”,然后再读取索引位置为5 的元素的值一、作为一维数组示例代码:这里第21行,也可以这样写:Array.setInt(array_2,10,37); java 代码package com...2008-07-02 23:11:52 · 705 阅读 · 0 评论 -
Java语言的反射机制
在JAVA运行环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用类的对象的方法的功能来自于Java语言的反射(Reflection)机制。JAVA反射机制主要提供了以下功能:1、在运行时判断任意一个对象所属的类2、在运行时构造任意一个类的对象3、在运行时判断任意一个类所具有的成员变量和方法...2008-07-02 23:10:47 · 124 阅读 · 0 评论 -
@Documented Annotation的使用
@Documented Annotation的使用:@Documented Annotation的作用是在生成javadoc文档的时候将该Annotation也写入到文档中。java 代码package com.test; import java.lang.annotation.Documented; @Documented public @inte...2008-07-02 23:09:57 · 702 阅读 · 0 评论 -
有关Annotation的继承
有关Annotation的继承说明:1、JDK文档中的说明是:只有在类上应用的Annotation才能被继承,而实际应用时的结果是:除了类上应用的Annotation能被继承外,没有被重写的方法的Annotation也能被继承。2、要注意的是:当方法被重写后,Annotation将不会被继承。3、要使得Annotation 被继承,需要在Annotation中加标识@Inherited,并且...2008-07-02 23:09:27 · 308 阅读 · 0 评论 -
@Target Annotation的使用
@Target Annotation的使用@Target Annotation表示的是这个Annotation可以应用在哪里,是对Annotation应用的限制,如果没有这个标识的话,Annotation可以用在任何地方,比如类上,方法上,变量、属性上等,可以从java.lang.Enum.ElementType这个枚举里选择。1、只能用在方法上的限制的应用java 代码package ...2008-07-02 23:08:51 · 150 阅读 · 0 评论 -
告知编译程序如何处理@Retention
告知编译程序如何处理@Retention:java.lang.annotation.Retention型态可以在您定义Annotation型态时,指示编译程序该如何对待您的自定义Annotation型态。预定义上编译程序会将Annotation信息留在.class文档中,但不被虚拟机读取,而仅用于编译程序或工具程序运行时提供信息。java.lang.annotation.RetentionP...2008-07-02 23:08:12 · 168 阅读 · 0 评论 -
自定义Annotation类型
自定义Annotation类型:标识符(marker Annotation):@interfaceAnnotation的使用:可以放在任何地方,如类的前面,方法的前面,变量、属性的前面等等。Annotation的定义:在定义Annotation型态的时候不能继承其它的Annotation型态或接口1、不带参数的定义与使用java 代码package com.test; ...2008-07-02 23:07:05 · 132 阅读 · 0 评论 -
使用JDK内建Annotation
1、Override 强制检查子类的方法重写 java 代码package com.test; public class OverrideTest { @Override public String toString() { return "This is override"; ...2008-07-02 23:05:53 · 121 阅读 · 0 评论 -
用反射实例化一个内部类
[code="java"]package com; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public cl...2008-06-07 21:20:31 · 162 阅读 · 0 评论 -
java中的快速排序算法
这几天需要用到快速排序算法,虽然以前写过作业,但也有些遗忘,于是上网搜了一下,发现虽然很多,却或多或少都有些问题,尤其是数据越界,所以我自己调了一下,以下是经过测试的快速排序的程序,希望对大家有些帮助: [code="java"]public class QSort { /** * @author WangYu 2008-05-29 * @p...2008-05-29 23:01:04 · 97 阅读 · 0 评论 -
Java反射机制之代理模式
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有 抽象角色:声明真实对象和代理对象的共同接口代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在...2008-07-02 23:12:38 · 164 阅读 · 0 评论 -
统一异常处理
[code="java"]package com.bjsxt.oa.manager;public class SystemException extends RuntimeException { //异常代码 private String key; private Object[] values; public SystemException() { ...2008-07-16 16:47:37 · 104 阅读 · 0 评论 -
使用JAVA加jxl.jar操作EXECL
[code="java"]//程序说明: 要导入jxl.jar到Classpath中。import jxl.*;import java.io.*;import jxl.write.*;/*** java读取Excel表格,拷贴心、更新Excel工作薄 */public class Test1 {public static void main(String[] arg...2008-05-08 00:40:13 · 86 阅读 · 0 评论 -
java中的split使用的是正则表达式
听说这个split方法比那个StringTokenizer效率高一点,今天刚好用上,就拿来试试,没有想到一试就出问题了,把折分结果打在控制台上,结果居然是空的,我要折分的字符串是“5#1|7#2|11#3”刚用这里 str.split("|")时就出问题了,看了下面这篇文章,将其改为str.split("\\|")就OK了,这个|在正则表达式中也是个特殊字符。回头还得弄弄正则表达式了。[code=...2008-05-08 00:16:48 · 91 阅读 · 0 评论 -
JAVA中實現鏈表--LinkedList的使用
[code="java"]import java.util.LinkedList;import java.util.Vector;/** * Java中的鏈表,SUN公司已經為我們做好了,我們只需要簡單的使用就可以了 * 當沒有要求的時候,就可以不用自己去實現。 * 如果確實有要求要自己實現,那么也自己實現也是一樣的道理,只需要像 * LinkedList中一樣,實現向...2008-05-07 23:08:27 · 90 阅读 · 0 评论