易截截图软件、单文件、免安装、纯绿色、仅160KB

java产生对象的几种方式


用关键字new生成对象:这是最常用的一种方式,例如 new String("hello")用new生成对象的特点是,这个对象的类必须在编译时就在classpath中,如果没有特别的理由和要求,这是我们生成一个对象的第一选择;
Class.forName(String className)。例如Class c = Class.forName("com.company.jdbc.Driver");这种方法的特点是在编译的时候不需要包含这个类在classpath中,而可以推迟到运行时再到claspath中找。这种方式的典型运用时加载JDBC驱动程序的时候。因为不同的数据库有不同的JDBC驱动程序,所以对于需要得到某种数据库连接的应用程序,可能需要到运行时才知道连接的是哪种数据库,所以采用这种方式加载数据库驱动程序。而且这用有利于编写通用数据库的连接池程序,因为一个数据库的连接池并不需要在编译时就需要各种数据库的驱动程序的类;
ClassLoader.loadClass(String name);这种方式更加灵活,它不仅可以从classpath中加载类,而且也可以在运行时通过自定义一个ClassLoader来加载类。例如可以从某个http或者ftp服务器加载类,更可以从任意的byte[]来加载类。如果我们写一个自己的类加载器MyClassLoader extends ClassLoader,那么我们可以通过重载父类中的protected Class findClass(String name)方法来让它具有我们期待的行为,ClassLoader的loadClass方法会调用findClass来的到一个Class类型的对象,而findClass可以通过调用Class defineClass(String name, byte[] b, int off, int len)来通过byte[]构造一个Class类型的对象。这种方式的特点是即使载运行时也不需要这个类在classpath中。
使用对象克隆:Object 的clone方法 
使用工厂设计模式产生(类似用接口向上转型)


相关文档:

生平第一段规范Java代码

下面这段代码是经过代码分析工具Rational Software Analyser 分析过的,该工具关于Java的规则目前是541条,实属苛刻。写段规范点的Java代码容易么!
/**
 *
 * @author zhp
 *
 * @version 1.0
 */
package com.rsar;
import java.util.Date;
/**
 *
 * @author zhp
  ......

java编程规范

定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
Package的命名
Package的名字应该都是由一个小写单词组成。
Class的命名
Class的名字必须由大写字母开头而其他字母都小写的单词组 ......

java nio在多线程环境下的恶梦之终结

有人说java nio在多线程环境下编程简直就是个恶梦,其实你如果能把握住java nio API的要领,你就可以将之驾驭.
0. 一个 channal 对应一个SelectionKey in the same selector.
e.g:
SelectionKey sk=sc.register(selector, SelectionKey.OP_READ, handler);
sk==sc.register(selector, SelectionKey.OP_WRITE, handl ......

java中使用ibatis来调用存储过程(上)

我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等
1.存储过程结构
1.1 第一个存储过程
create or replace procedure proc1(   
  ......

java base64编码和解码

import java.io.IOException;
public class test {

/**
* 编码
* @param filecontent
* @return String
*/
public static String encode(byte[] bstr){
return new sun.misc.BASE64Encoder().encode(bstr);
}
/**
* 解码
* @param filecontent
* @return string
*/
public static ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号