
Java基础
文章平均质量分 73
Senton
所有真正杰出的设计一旦被设计好,看起来都是那么的简单和显而易见。但是在获得杰出设计的过程中,需要付出令人难以置信的努力。
展开
-
Ubuntu下JDK+Tomcat+MySql环境的搭建
Ubuntu 下 JDK+Tomcat+MySql 环境的搭建1. 安装 Ubuntu-server-10.04.11.1 安装安装过程中,记下输入的用户名与密码。1.2 设置IP安装完成之后,设置 IP ,终端输入:sudo vi /etc/network/interfaces替换成一下内容:auto loiface lo inet loop原创 2011-06-16 15:30:00 · 6501 阅读 · 0 评论 -
Eclipse实用快捷键大全
Alt+左箭头,右箭头 以在编辑窗口切换标签Alt+上下箭头, 以自动选择鼠标所在行,并将其上下移动Ctrl+f6 可以弹出菜单,上面列出可以切换的编辑窗口,这样不用鼠标也可切换Ctrl+f7 可以在视图之间切换 ,如编辑视图,输出视图,工程视转载 2007-09-27 10:23:00 · 1602 阅读 · 0 评论 -
Java入门需掌握的30个基本概念
基本概念 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 2.OOP中最重要的思想是类,类是模板转载 2007-09-15 15:37:00 · 1862 阅读 · 0 评论 -
Java精华积累:初学者都应该搞懂的问题
如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。 问题一:下面声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的原创 2007-09-06 23:52:00 · 1746 阅读 · 0 评论 -
设计自己的Annotation
第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。 一个是@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上. 一个是@SuppressWarnings:这一个类型可以来暂时把一些警告信息消息关闭.原创 2007-09-06 23:53:00 · 1226 阅读 · 0 评论 -
使用jdk1.5装箱及拆箱功能时注意的问题(推荐)
使用jdk1.5装箱及拆箱功能时注意的问题我们知道java中所有到的类型要么就是引用类型和要么就是原始数据类型,其中原始数据类型有其相应的包装类(Wrapper Class),包括:Byte(byte), Short(short), Integer(int), Long(long), Floa原创 2007-06-06 00:45:00 · 1511 阅读 · 0 评论 -
掌握JDK1.5枚举类型
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public , static , final的。注意原创 2007-08-23 23:49:00 · 1602 阅读 · 0 评论 -
通用分页实现及其OO设计探讨(强烈推荐)
通用分页实现及其OO设计探讨分页是一种常用的页面数据显示技术,分页能够通过减少页面数据处理量从而提高了系统的性能。分页应该是做WEB开发必须掌握的一个小技术。而分页却是复杂的,倒不是它的技术有多复杂;而是有太多的重复代码,这些代码都难以重用。能不能实现一个通用的分页框架?每次只需要去覆写一两个方法,通过少量的代码就能实现分页的功能?一、一般分页应该要具有的功能有: 1. 灵活的设原创 2007-05-19 17:48:00 · 2862 阅读 · 2 评论 -
Java的内存泄漏
出自:ibm:developerworks中国网站 欧阳辰周欣 一 问题的提出Java的一个重要优点就是通过垃圾收集器 (Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与转载 2007-08-08 22:23:00 · 1301 阅读 · 0 评论 -
新手入门:写Java程序的三十个基本规则
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Pa原创 2007-08-10 13:14:00 · 1390 阅读 · 0 评论 -
Java中的克隆(Clone)机制
现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?1. Clone&Copy假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通常我们会有这样原创 2007-08-03 09:03:00 · 1472 阅读 · 0 评论 -
如何正确使用List中的toArray()方法
在程序中,往往得到一个List, 程序要求对应赋值给一个array, 可以这样写程序,for example: Long[] l = new Long[list.size()]; for(int i=0;il[i] = (Long) list.get(i);}要写这些code,似乎比较繁琐, 其实List提供了toArray()的方法,但是要使用不好,就会有Class原创 2007-08-02 09:53:00 · 2744 阅读 · 2 评论 -
探讨JavaClassLoader与Package机制
为了深入了解Java的ClassLoader机制,我们先来做以下实验:package java.lang;public class Test { public static void main(String[] args) { char[] c = "1234567890".toCharArray(); String s = new String(原创 2007-10-03 23:29:00 · 1323 阅读 · 0 评论 -
Java应用技巧:对于 Cookie 的操作详解
1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。 cookie.setPath("/test/test2"); 设置Cookie路径,不设置的话为当前路径(对于Serv转载 2007-10-03 23:47:00 · 1259 阅读 · 0 评论 -
运用@Transactional,自己抛出异常时不会回滚的原因,经验之谈
查看spring API可知 http://www.kuqin.com/spring2.0_doc/index.html对EJB来说,默认的行为是EJB容器在遇到系统异常(通常指运行时异常)时自动回滚当前事务。EJB CMT遇到应用异常(例如,除了java.rmi.RemoteException外别的checked exception)时并不会自动回滚。默转载 2009-12-17 12:48:00 · 5847 阅读 · 1 评论 -
Java读取Properties文件的六种方法
使用J2SE API读取Properties文件的六种方法1。使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2。使用java.util.Resourc原创 2009-04-16 09:34:00 · 52496 阅读 · 9 评论 -
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 · 3603 阅读 · 0 评论 -
Eclipse3.4的ant中的javac问题
最近项目组将Eclipse3.3升级到Eclipse3.4,用了一段时间,总体感觉还是不错,就是觉得Ant对中文的支持好像有点问题。发现问题如下: 有时脚本没有执行完,莫名其妙的就自动退出了,也没有任何提示。我发现最多的就是执行javac命令时出现这种情况。 经过我的多次测试,发现是eclipse3.4的ant对中文支持得不好,例如你的ant文件中有这么一句脚本:原创 2008-09-16 16:15:00 · 1897 阅读 · 0 评论 -
XStream别名指南
1,存在的问题设想我们的客户端定义了一个用于XStream读写的XML文件:我们将设计一些模型类并配置XStream按照这个XML文件格式执行读写操作。 first My first blog entry. tutorial Today we have developed a nice alias tutorial原创 2008-08-26 11:45:00 · 1674 阅读 · 1 评论 -
面向对象编程五大原则
单一职责原则SRP:Single Responsibility Principle开放封闭原则OCP:Open-Close PrincipleLiskov替换原则LSP:Liskov Substitution Principle依赖倒置原则DIP:Dependency Invertion Principle接口隔离原则ISP:Interface Separate Principle 在面向对象设转载 2008-04-12 23:57:00 · 1562 阅读 · 0 评论 -
中文编码问题全面分析
基于web的应用开发都会涉及到编码问题,特别是中文编码,一直是开发人员常见问题之一,也最为初学者所困扰。我们知道计算机最初是按英语单字节字符设计的,现在很多软件及系统仍然默认使用ISO8859-1编码来表示。因此,有的时候处理中文字符就会出现乱码的现象。出现乱码不只是简单的由某个软件所造成的,很可能与系统或相关软件有关联影响。 在web软件开发过程中,我们将涉及到四个可能会导致字符编码问题的转载 2008-01-25 20:25:00 · 2083 阅读 · 3 评论 -
对象的序列化和反序列化实践
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地原创 2007-11-06 23:12:00 · 1444 阅读 · 2 评论 -
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 · 1713 阅读 · 0 评论 -
详解ThreadLocal与synchronized
Java 良好的支持多线程。使用java,我们可以很轻松的编程一个多线程程序。但是使用多线程可能会引起并发访问的问题。synchronized和 ThreadLocal都是用来解决多线程并发访问的问题。大家可能对synchronized较为熟悉,而对ThreadLocal就要陌生得多了。 并发问题。原创 2007-10-27 21:14:00 · 1633 阅读 · 0 评论 -
简单介绍Java语言中内存管理的几个技巧
Java做的系统给人的印象是什么?占内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点。 其实从理论上来讲java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?两个字,陋习。 (1)别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的原创 2007-10-03 23:44:00 · 1381 阅读 · 0 评论 -
如何才算掌握Java(J2SE篇)
时常看到一些人说掌握了Java,但是让他们用Java做一个实际的项目可能又困难重重,在这里,笔者根据自己的一点理解斗胆提出自己的一些对掌握Java这个说法的标准,当然对于新手,也可以提供一个需要学习哪些内容的参考。另外这个标准仅限于J2SE部分,J2EE部分的内容有时间再另说。1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知原创 2007-07-03 17:19:00 · 1255 阅读 · 0 评论 -
java六种异常处理的陋习(吐血推荐)
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 . OutputStreamWriter out = ... 2. java.sql.Connection conn = ... 3. try { 4. State原创 2007-07-03 17:13:00 · 1373 阅读 · 0 评论 -
空(标识)接口的重要性
这是今天在一个java技术专题网站上看到的一篇文章,感觉对标识接口解说的非常好,现贴出来大家一起讨论。 标签接口真有那么重要吗?比如说很多初学者认为java.io.Serializable这样的接口,很多时候可用可不用,不用一样能执行对象系列化功能。 为此,我们通过一个通俗而有趣的示例!这个示例是设计一个猎人,其持有一把智能猎枪,这就是说这把猎枪会自动识别人类,若发现瞄准的目原创 2006-11-01 18:51:00 · 2295 阅读 · 1 评论 -
使用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 · 1732 阅读 · 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", "7", "8"原创 2006-10-28 22:27:00 · 1503 阅读 · 0 评论 -
BASE64编码
1.HttpServletRequest: 请求行分为三个部分:请求方式,资源路径和HTTP协议版本, 1)获取请求行的相关信息的几个重要的方法: getMethod():返回请求请求行的请求方法. getRequestURI():返回请求行中资源路径的名称,也就是位于端口号之后,参数部分之前的内容. getQueryString():返回请求行的参数.如果没有参数则返回空. getPro原创 2006-10-24 08:39:00 · 2128 阅读 · 0 评论 -
自己动手写数据库连接池
在前面的文章中已经说过使用连接池的很多好处和优势,也曾讨论过怎么使用数据库连接池,不过那时用的都是别人写好的一些DataSource类。现在我们自己来写一个数据库连接池,下面使用两种方法来实现,这里分别用到了两种设计模式,即Decorator(包装模式)和Proxy(代理模式)(关于其他的模式在后续的学习过程中都会一一介绍,敬请关注),首先来看第一种实现方法,也就是使用Decorator设计模式:原创 2006-10-07 22:28:00 · 1641 阅读 · 0 评论 -
使用DatabaseMetaData和ResultSetMetaData查看数据库信息
/**DatabaseMetaData接口查看数据库的整体综合信息,它位于java.sql包中, * 由数据库驱动程序供应商提供,里面定义了很多关于此数据库的信息,例如版 * 本号、此JDBC驱动程序的名称等等。ResultSetMetaData可用于获取关于 * ResultSet 对象中列的类型和属性信息的对象,也位于java.sql包中。下面 * 这个程序的主要功能是查看所有数据库、进入指原创 2006-10-07 22:26:00 · 1878 阅读 · 1 评论 -
使用数据库连接池和jdbc中调用存储过程
数据库连接池:数据库连接不仅仅是在应用服务器与数据库之间建立一个Socket Connection,连接建立之后,还需要交换若干次数据(比如验证用户密码,权限等),然后,数据库开始初始化连接会话句柄,记录联机日志,为此连接分配相应的处理进程和系统资源。系统如此繁忙,如果我们只是简单的扔过去两个SQL语句,然后就将此连接抛弃,实在可惜,数据库连接池正是解决了这个问题。其基本原理就是在内部对象池中维护原创 2006-09-22 15:21:00 · 3199 阅读 · 0 评论 -
一个jdbc连接mysql的小例子
创建数据库指定数据库字符集和校对规则:mysql> create database it315 default character set gb2312 collate gb2312_chinese_ci; 进入刚创建的数据库:mysql> use it315;Database changed 创建表:mysql> create table student原创 2006-09-15 09:35:00 · 5244 阅读 · 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 · 2053 阅读 · 0 评论 -
反射和代理
一. 关于数据库.当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果原创 2006-09-01 19:23:00 · 1431 阅读 · 0 评论 -
Collection与UML学习
一 . 属性时须注意:1. 在调用id时取的值是 1 ,但是运行ant时可以这样做:ant -Did=3 这是id的值就是 3 了.2. 假如现有一个属性文件test.property,其内容为: id=3 在build.xml里面有这么两句 最后id的值还是 1 .二. 是给main方法传参数的,譬如 : java 文件名 参数1 参数2 是给jvm传参数的,譬如 : java -原创 2006-09-01 19:19:00 · 1598 阅读 · 0 评论 -
理解接口
理解接口 好的面向对象编程要求类设计人员隐藏那些不需要类的使用人员了解的信息。对于 Java 编程语言,这样的访问可以通过使用关键字 private, protected, 和原创 2006-11-01 14:12:00 · 1815 阅读 · 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)原创 2006-10-31 13:15:00 · 1738 阅读 · 3 评论