
J2SE
文章平均质量分 65
Senton
所有真正杰出的设计一旦被设计好,看起来都是那么的简单和显而易见。但是在获得杰出设计的过程中,需要付出令人难以置信的努力。
展开
-
Ubuntu下JDK+Tomcat+MySql环境的搭建
Ubuntu下JDK+Tomcat+MySql环境的搭建1. 安装Ubuntu-server-10.04.11.1 安装安装过程中,记下输入的用户名与密码。1.2 设置IP安装完成之后,设置IP,终端输入:sudo vi /etc/network/interface...2011-06-15 14:48:13 · 213 阅读 · 0 评论 -
面向方面的编程(AOP)
面向对象的编程(OOP)中常用的概念是:继承、封装、多态。在面向方面的编程(AOP)中常使用的概念是:advices/interceptors, introductions, metadata, and pointcuts。AOP 面向方面编程的介绍: 面向方面的编程思路很简单。从面向过程、函数的编程到面向对象的编程到面向接口的编程到面向组件、模块编程的发展历史我们可以知道,编程方法学的演进是一...2006-08-25 19:33:00 · 155 阅读 · 0 评论 -
几个Java基础知识
一 . Hashtable和HashMap Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和contains...2006-08-25 19:18:00 · 122 阅读 · 0 评论 -
java类装载器
一 . 面向接口编程. 不要面向类编程.二 . 关于异常:如果父类的一个方法抛出了异常,子类在重写此方法时可以不抛出异常而直接处理,也可以抛出父类异常的子异常,但是不能抛出比父类方法抛出的异常级别更高的异常. 三 . Java的类装载器(Class Loader)和命名空间(NameSpace)1.摘要: Java的类装载器是Java动态性的核心,本文将向大家简要介绍Java的类装载器,及...2006-08-25 18:36:00 · 123 阅读 · 0 评论 -
递归在java语言中的应用
一 . 两个小经验 1.在定义一个类时,不要随意定义成员变量.除非它是这个类的一个属性或者在类的多个方法中要用到 它. 2. public class Test { public static void main(String[] args) { byte[] b = new byte[102400*1024]; } } 这是一个简单的程序...2006-08-25 09:21:00 · 146 阅读 · 0 评论 -
深入探讨java集合类
不同的集合在添加对象时的处理是不同的:Set:不允许重复,且没有指定顺序,HashSet在添加新对象时,首先比较对象的hashcode值,如果相等再比较两个对象是否相等,如果是则不添加,否则添加,并且按hashCode值排序.List:允许重复且有指定顺序,ArrayList和Vector都是这样的类,如果你不指定顺序它就默认按先后顺序排序.下面是两个简单的例子:(1):import java.u...2006-08-24 20:47:00 · 115 阅读 · 0 评论 -
简单介绍Java语言中内存管理的几个技巧
Java做的系统给人的印象是什么?占内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点。 其实从理论上来讲java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?两个字,陋习。 (1)别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与g...2007-10-03 23:44:00 · 124 阅读 · 0 评论 -
探讨JavaClassLoader与Package机制
为了深入了解Java的ClassLoader机制,我们先来做以下实验:package java.lang;public class Test { public static void main(String[] args) { char[] c = "1234567890".toCharArray(); String s = new String(0, 1...2007-10-03 23:29:00 · 125 阅读 · 0 评论 -
Java入门需掌握的30个基本概念
基本概念 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 2.OOP中最重要的思想是类,类是模板是...2007-09-15 15:37:00 · 143 阅读 · 0 评论 -
设计自己的Annotation
第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。 一个是@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上. 一个是@SuppressWarnings:这一个类型可以来暂时把一些警告信息消息关闭. 如果不清...2007-09-06 23:53:00 · 135 阅读 · 0 评论 -
Collection与UML学习
一 . 属性<property>时须注意:1. <property name="id" value="1"/> <property name="id" value="2"/> 在调用id时取的值是 1 ,但是运行ant时可以这样做:ant -Did=3 这是id的值就是 3 了.2. 假如现有一个属性文件test.property,其内容为:2006-09-01 19:19:00 · 132 阅读 · 0 评论 -
反射和代理
一. 关于数据库.当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果...2006-09-01 19:23:00 · 120 阅读 · 0 评论 -
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(intcorePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnitu...2008-12-16 10:32:00 · 159 阅读 · 0 评论 -
Java读取Properties文件的六种方法
使用J2SE API读取Properties文件的六种方法 1。使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new ...2009-04-16 09:34:00 · 156 阅读 · 0 评论 -
Eclipse下切换 SVN 中已经保存的用户名和密码
1. 把 C:\Documents and Settings\用户名\Application Data\Subversion\auth\目录下的所有东西都删除2. 到eclipse下的目录/configuration/org.eclipse.core.runtime 删除.keyring3. 重启eclipse...2009-09-22 10:28:36 · 255 阅读 · 0 评论 -
对象的序列化和反序列化实践
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地...2007-11-06 23:12:00 · 163 阅读 · 0 评论 -
JAVA实用技巧:定时执行任务的三种方法
1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.schedule(new ListByDayTimerTask(),10000,86400000);这里的ListByDayTimerTask类必须实现TimerTask里面的run()方法。2)ServletContextListener这个...2007-11-06 23:08:00 · 177 阅读 · 0 评论 -
详解ThreadLocal与synchronized
Java 良好的支持多线程。使用java,我们可以很轻松的编程一个多线程程序。但是使用多线程可能会引起并发访问的问题。synchronized和 ThreadLocal都是用来解决多线程并发访问的问题。大家可能对synchronized较为熟悉,而对ThreadLocal就要陌生得多了。 并发问题。 ...2007-10-27 21:14:00 · 213 阅读 · 0 评论 -
自己动手写数据库连接池
在前面的文章中已经说过使用连接池的很多好处和优势,也曾讨论过怎么使用数据库连接池,不过那时用的都是别人写好的一些DataSource类。现在我们自己来写一个数据库连接池,下面使用两种方法来实现,这里分别用到了两种设计模式,即Decorator(包装模式)和Proxy(代理模式)(关于其他的模式在后续的学习过程中都会一一介绍,敬请关注),首先来看第一种实现方法,也就是使用Decorator设计模式:...2006-10-07 22:28:00 · 185 阅读 · 0 评论 -
使用DatabaseMetaData和ResultSetMetaData查看数据库信息
/**DatabaseMetaData接口查看数据库的整体综合信息,它位于java.sql包中, * 由数据库驱动程序供应商提供,里面定义了很多关于此数据库的信息,例如版 * 本号、此JDBC驱动程序的名称等等。ResultSetMetaData可用于获取关于 * ResultSet 对象中列的类型和属性信息的对象,也位于java.sql包中。下面 * 这个程序的主要功能是查看所有数据库、进入指...2006-10-07 22:26:00 · 206 阅读 · 0 评论 -
Jdk1.5的新语法和一些java学习的小知识点
一.1. 操作系统执行具体工作,应用程序发指令给操作系统,2. 操作系统询问应用程序的身份,验证应用程序的访问权限,3. 应用程序如何获得身份信息,桌面程序与服务程序的区别,二 .集成ant和junit时,不仅测试程序需要junit.jar,ant的junit任务本身也需要junit.jar.当然,如果你怕麻烦也可以这样做:把junit.jar文件拷到"jdk安装目录\jre\lib\ext"目...2006-09-01 19:30:00 · 125 阅读 · 0 评论 -
Java精华积累:初学者都应该搞懂的问题
如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。 问题一:下面声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名...2007-09-06 23:52:00 · 121 阅读 · 0 评论 -
掌握JDK1.5枚举类型
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public , static , final的。注意...2007-08-23 23:49:00 · 117 阅读 · 0 评论 -
新手入门:写Java程序的三十个基本规则
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package...2007-08-10 13:14:00 · 144 阅读 · 0 评论 -
Java中常见的异常
这里我将一些常见的程序中的异常列举出来给大家参考: 1. java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常...2006-11-14 00:03:00 · 146 阅读 · 0 评论 -
深入理解嵌套类和内部类
深入理解嵌套类和内部类 ...2006-11-13 23:56:00 · 443 阅读 · 0 评论 -
java基础 -- JAVA字符集
java基础 -- JAVA字符集 ...2006-11-13 23:46:00 · 253 阅读 · 0 评论 -
你会使用jdk5.0提供的自动装箱拆箱功能吗?
来看一个小例子:public class Test{ public static void main(String[] args){ Integer i1 = 100; Integer i2 = 100; System.out.println(i1==i2); }}/*public class Test{ public static void main(String[] args){ In...2006-11-12 19:59:00 · 118 阅读 · 0 评论 -
正则表达式中问号等特殊字符的转义
正则表达式中问号等特殊字符的转义除 .$ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。但是其中并未注明这些字符应该匹配为什么字符。为了方便自己以后查阅,也为了方便网友搜索,我在网上查了很多资料就把所知的都写在这里了。点的转义:. ==> \\u002E美元符号的转义:$ ==> \\u0024乘方符号的转义:^ ==> \\u005E左大括号的转义:{ =...2006-11-10 00:26:00 · 2511 阅读 · 0 评论 -
理解接口
理解接口 好的面向对象编程要求类设计人员隐藏那些不需要类的使用人员了解的信息。对于 Java 编程语言,这样的访问可以通过使用关键字 private, protected, 和 public来控制...2006-11-01 14:12:00 · 125 阅读 · 0 评论 -
使用Java将Word转为Html或txt!
package org.client;// 使用Java将Word转为Html或txt!import com.jacob.com.*;import com.jacob.activeX.*;import java.io.*;public class Client { // 取得指定目录下面所有的doc文件名称 // ---------------------------------------...2006-10-31 13:47:00 · 380 阅读 · 0 评论 -
Java实现汉字转换为拼音
import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Set;public class Client {private static HashMap spellMap = null;static {if (spellMap == null) {sp...2006-10-31 13:15:00 · 147 阅读 · 0 评论 -
一个实现MD5的简洁的java类
一个实现MD5的简洁的java类 package test; import java.security.MessageDigest; public class StringUtil { private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", &qu2006-10-28 22:27:00 · 155 阅读 · 0 评论 -
Java Annotation入门
Java Annotation入门作者:cleverpig版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:[http://www.matrix.org.cn/resource/article/44/44048_Java+Annota...2007-01-10 23:08:00 · 146 阅读 · 0 评论 -
Java Annotation手册
Java Annotation手册作者cleverpig作者 cleverpig(http://blog.matrix.org.cn/page/cleverpig)前言:在上篇文章《Java Annotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《Java Annotation入门》后,继续整理了Annotation的概念和知识点,与喜欢...2007-01-10 23:10:00 · 117 阅读 · 0 评论 -
Java的内存泄漏
出自:ibm:developerworks中国网站 欧阳辰周欣 一 问题的提出Java的一个重要优点就是通过垃圾收集器 (Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与...2007-08-08 22:23:00 · 149 阅读 · 0 评论 -
Java中的克隆(Clone)机制
现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?1. Clone&Copy假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通常我们...2007-08-03 09:03:00 · 167 阅读 · 0 评论 -
Java已经过时了吗?(转贴)
在四年以前,当我开始鼓吹Hibernate,抨击EJB的时候,遭到的是群起而攻之的场面,但是不到一年之后,Hibernate已然得到了普及和大多数Java开发人员的认可。 在三年以前,当我开始赞誉spring的时候,spring还面临着EJB3的阴影,以及EJB2对其不登大雅之堂的指责,然而不到一年的时间,spring已经成为绝大多数Java开发人员的首选。在两年以前,我极力希望宣传webwo...2007-08-02 13:41:00 · 490 阅读 · 0 评论 -
如何正确使用List中的toArray()方法
在程序中,往往得到一个List, 程序要求对应赋值给一个array, 可以这样写程序,for example: Long[] l = new Long[list.size()]; for(int i=0;i<list.size();i++ ){l[i] = (Long) list.get(i);}要写这些code,似乎比较繁琐, 其实List提供了toArray()的方法,但...2007-08-02 09:53:00 · 1240 阅读 · 0 评论 -
如何才算掌握Java(J2SE篇)
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任...2007-07-03 17:19:00 · 129 阅读 · 0 评论