java开发
jiangfeng861016
这个作者很懒,什么都没留下…
展开
-
数组和List之间的转换
直接给出代码:package datastructure;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class listArray { public String[] list2Array() { List list = new ArrayList(); list.add("张三丰"); list.add("张无忌"); list.add("张翠山"); String[] arra原创 2010-11-23 01:12:00 · 634 阅读 · 0 评论 -
Java中的自定义异常
<br />关键字: 自定义异常 <br />自定义异常有两种,分别是继承Exception和Throwable 类,因为Throwable是exception的父类,所以,继承Exception和继承Throwable效果差不多,下面是继承Exception的自定义的类的实现和用法。package com.cvicse.exception;<br />1、自定义异常<br />/**<br /> * <br /> * @功能自定义异常 ObjAlreadyExistException<br /> * @a转载 2010-08-24 00:44:00 · 855 阅读 · 0 评论 -
HashMap,String[],List 转换
HashMap String[] : Map m = new HashMap(); m.put(1,"one"); m.put(2,"two"); m.put(3,"three"); String o[] =m.values().toArray(); for(int i=0;i System.out.println(o[i]);List String[]:List -->String[]List list = new ArrayList();list.add("1");list.add("原创 2010-08-04 00:42:00 · 3045 阅读 · 0 评论 -
java集合中对象排序
概述:本示例实现对象按年龄升序 人气升序排序功能 姓名升序 降序排序功能 package ch02;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @author YaoShiyou 实现对象排序 *转载 2010-05-29 11:29:00 · 2096 阅读 · 3 评论 -
java.math.BigDecimal类的用法
在java中提供了大数字的操作类,即java.math.BinInteger类和java.math.BigDecimal类。这两个类用于高精度计 算,其中BigInteger类是针对大整数的处理类,而BigDecimal类则是针对大小数的处理类。下边我们介绍BigDecimal类:BigDecimal的实现利用到了BigInteger,不同的是BigDecimal加入了小数的概念。一般的float型和Double型数据只可 以用来做科学计算或者是工程计算,由于在商业计算中,要求的数字精度比较高,所以要用到j转载 2010-07-20 17:34:00 · 2689 阅读 · 0 评论 -
java导出Excel表格信息
公司用的一个导出Excel表格的类,贴出来和大家共享下import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.HashSet;import java.util.Map;import java.util.Set;import java.util.原创 2010-04-07 14:01:00 · 4111 阅读 · 3 评论 -
Struts拦截器简单实用--用户是否有效
在用户登录以后,用户一段时间不进行任操作,session已经失效了,但是用户又想在当前操作界面上继续操作,此时我们的拦截器就有用武之地了:首先编写拦截器实现类:package jf;import java.util.Map;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.原创 2010-04-07 13:45:00 · 632 阅读 · 0 评论 -
关于java的集合类,以及HashMap中Set的用法!
package com.tiantian;import java.util.*;public class JAVAContainer { public static void main(String[] args) throws Exception { // ArrayList { ArrayList arrayl转载 2010-01-12 14:30:00 · 2302 阅读 · 0 评论 -
dom4j解析xml
public static void exe(){ Map classMap = new HashMap(); SAXReader reader = new SAXReader(); Document document = null; File file = new File("f:/sql.xml"); try { org.dom4j.Docume转载 2010-03-17 23:46:00 · 1243 阅读 · 0 评论 -
一篇好文--DAO设计模式
一 .有关DAO模式的介绍 业务对象只应该关注业务逻辑,不应该关心数据存取的细节。数据访问对象必须实现特定的持久化策略(如,基于JDBC或Hibernate的持久化逻辑), 这样就抽出来了DAO层,作为数据源层,而之上的Domain Model层与之通讯而已,如果将那些实现了数据访问操作的所有细节都放入高层Domain model(领域模型)的话,系统的结构一定层次上来说就转载 2009-12-22 09:50:00 · 807 阅读 · 0 评论 -
java不错的验证方法
package com.shxy.util;/** * 常用验证方法 * @author shxy * */public class CheckVerify { /*** * 判断参数是否为null * @param param * @return 如果为null返回true 如果不为null 返回false */ public static boolean isNullObject(Ob原创 2009-12-12 23:56:00 · 352 阅读 · 0 评论 -
Java中static、this、super、final用法
本篇旨在帮助准备学习Java以及刚接触Java的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Java博大精深,我也是一位正在学习和使用Java的爱好者,文中难免有不妥之处,欢迎指正。一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args转载 2009-12-10 00:04:00 · 315 阅读 · 0 评论 -
java 对字符串DES加密与解密
package m09.model.EduSocEmpChangeDate;import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import sun.misc.BASE64Decoder;import sun.转载 2009-12-09 17:41:00 · 671 阅读 · 0 评论 -
对于序列化的一次认识
其实这个问题简单思考一下就可以搞清楚,方法是不带状态的,就是一些指令,指令是不需要序列化的,只要你的JVM classloader可以load到这个类,那么类方法指令自然就可以获得。序列化真正需要保存的只是对象属性的值,和对象的类型。 <br /><br />这些知识找一本Java基础编程的书,或者Java手册就可以查到,我以为是不应该犯这种基本概念错误的。 <br /><br />我们可以做一个简单的小试验,来证实一下: <br /><br />Java代码 package com.javaeye;转载 2010-08-24 00:54:00 · 401 阅读 · 0 评论 -
java序列化问题
<br />谈到java的序列化,记得以前刚入职的时候,问同事,为啥要序列化,给的最多的答案是序列化是为了反序列化。<br />关于序列化有下面的解释,还是比较好理解的。<br /> 1、 序列化是什么?<br /> 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。<br /> 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基转载 2010-08-24 00:47:00 · 471 阅读 · 0 评论 -
java切割字符串,获得文件名
<br />在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上传文件的文件名,由于ie会把整个文件路径都作为文件名上传,需要用java.lang.String中的replaceAll或者split来处理。如:<br /><br />上传文件路径为:C:/Documents and Settings/collin/My Documents/111-lazyloading.gif,欲取出文件名:111-lazyloading.gif。可以<br /><br />String temp[] = nam转载 2010-08-28 13:18:00 · 1894 阅读 · 0 评论 -
数据精确 四舍五入
有一个困扰了我好久的问题,就是在java里面,double型之间的计算经常出现0.999999999之类的数字。研究了半天BigDecimal的文档,还是不能很好解决。后来像某人请教了一下,得到一个小技巧: 比如一个数:89.595只要精确到分,即89.6或者89.60都可以,于是:double menney = (new BigDecimal(89.595).setScale(2原创 2011-05-26 00:26:00 · 645 阅读 · 0 评论 -
ThreadLocal&InheritableThreadLocal解惑
什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景1. To keep statewith a thread (user-id, transact原创 2012-03-17 09:40:36 · 1493 阅读 · 0 评论 -
数据同步案例分析
项目:某物流公司物品定价管理背景:(定价灌档)读取excel数据,实现入库操作,需要在5分钟以内处理完并反馈结果 前提:对于每次定价灌档,需遵循事物的原子性(对数据库的操作要么全部执行,要么完全不执行),灌档Excel数据量在0~10000之间,对于每条数据进行以下业务逻辑1) 查询料品表获取捕获代码;2) 查询公司表获得税率;3)原创 2012-03-17 09:39:08 · 558 阅读 · 0 评论 -
商业应用中Java浮点数的精确计算及表示
(1)、浮点数精确计算 胜利油田三流合一项目中一直存在一个问题,就是每次报表统计的物资金额和实际的金额要差那么几分钱,和实际金额不一致,让客户觉得总是不那么舒服,原因是因为我们使用java的浮点类型double来定义物资金额,并且在报表统计中我们经常要进行一些运算,但Java中浮点数(double、float)的计算是非精确计算,请看下面一个例子: System.out.pr转载 2011-06-07 22:44:00 · 469 阅读 · 0 评论 -
JAVA 如何创建/删除/修改/复制目录及文件
<br />import java.io.*; <br />public class FileOperate { <br /> public FileOperate() { <br /> } <br /> /** <br /> * 新建目录 <br /> * @param folderPath String 如 c:/fqf <br /> * @return boolean <br /> */ <br /> public void newFolder(String folderPat转载 2011-04-08 11:10:00 · 431 阅读 · 0 评论 -
Java反射经典实例
<br />Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制. 1. 得到某个对象的属性public Object getProperty(Object owner, String fieldName) throws Exception { Class ownerClass = owner.getClass转载 2010-11-10 00:02:00 · 543 阅读 · 0 评论 -
quartz的原理
<br />深入解读Quartz的原理<br /> <br />Quartz是一个大名鼎鼎的Java版开源定时调度器,功能强悍,使用方便。<br /> <br />一、核心概念<br /> <br />Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。<br /> <br />1、Job<br />表示一个工作,要执行的具体内容。此接口中只有一个方法<br />void execute(JobExecutionContext context)<br /> <br /转载 2010-10-28 01:18:00 · 1858 阅读 · 0 评论 -
使用Quartz实现定时功能
Quartz是一个完全由java编写的开源作业调度框架,具体的介绍可到http://www.opensymphony.com/quartz/官方网站查看。 Quartz的几个核心的接口和类为: Job接口:自己写的“定时程序”实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口,如果我们需要在上一个作业执行完后,根据其执行结果再进行下次作业的执行,则需要实现此接口。Trigger抽象类:调度类(S转载 2010-10-28 00:37:00 · 505 阅读 · 0 评论 -
Java获取各种常用时间方法
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TimeTest { //用来全局控制上一周,本周,转载 2010-10-28 15:09:00 · 526 阅读 · 0 评论 -
Tomcat 启动不了
Error starting Tomcat 6.x server A configuration error occurred during startup,Please verify the preference field with the prompt: Tomcat JDK name各位帮忙解决一下,到底要怎么解决?昨天我用都是好好的,今天开电脑,用myEclipse,启动tomcat时就报了这样的。<br />问题补充:我把那个server重新部署,还是不行,也就是把myec原创 2010-12-07 10:45:00 · 1372 阅读 · 1 评论 -
代码复用的规则
<br />代码复用是绝大多数程序员所期望的,也是OO的目标之一。总结我多年的编码经验,为了使代码能够最大程度上复用,应该非凡注重以下几个方面。<br /> 1、 对接口编程 <br /> "对接口编程"是面向对象设计(OOD)的第一个基本原则。它的含义是:使用接口和同类型的组件通讯,即,对于所有完成相同功能的组件,应该抽象出一个接口,它们都实现该接口。具体到Java中,可以是接口(interface),或者是抽象类(abstract class),所有完成相同功能的组件都实现该接口,或者从该抽象类继续转载 2010-09-03 00:32:00 · 631 阅读 · 0 评论 -
Spring,hibernate,struts的问题
Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2.转载 2009-12-06 21:10:00 · 267 阅读 · 0 评论 -
将数据库中查询得到的信息集转化为List
废话不说,直接上代码://传入sql语句查询数据信息public ResultSet selectSetInfoSQL(String sql) throws MyException { CachedRowSetImpl crs = null; PreparedStatement ps = null; ResultSet rs = null; try{ crs = ne原创 2009-12-03 11:06:00 · 1303 阅读 · 0 评论 -
Quartz浅学
Quartz浅学之一这里要介绍的是一个开源项目:Quartz . Quartz 定义了两种 基本接口 Job 和 Trigger . 看名字也就知道,我们的任务必须实现 Job, 我们的时间触发器定义在 Trigger 内。 看一个例子也许能更快的了解他的使用方法:package com.yourcompany.scheduling; import org.quartz.*转载 2009-12-02 00:40:00 · 649 阅读 · 0 评论 -
什么是J2EE,包括哪些规范!
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述):JDBC(Java Database Connectivity): JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,转载 2009-10-04 00:50:00 · 3637 阅读 · 0 评论 -
Struts,MVC 的一种开放源码实现
2001 年 2 月 23 日本文介绍 Struts,它是使用 servlet 和 JavaServer Pages 技术的一种 Model-View-Controller 实现。Struts 可帮助您控制 Web 项目中的变化并提高专业化水平。尽管您可能永远不会用 Struts 实现一个系统,但您可以将其中的一些思想用于您以后的 servlet 和 JSP 网页的实现中。简介小学转载 2009-09-28 00:52:00 · 303 阅读 · 0 评论 -
JAVA中数据库连接池的动态实现
(一)程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销。可是对于现在的Web应用,尤其是大型电子商务网站,同时有几百人甚至几千人在线是很正常的事。在这种情况下,频繁的进行数据库连接操作势必占用很多的系统资源,网站的响应转载 2009-09-24 15:55:00 · 865 阅读 · 2 评论 -
经典面试技巧
16个经典面试问题回答思路问题一:"请你自我介绍一下"思路: 1、这是面试的必考题目。 2、介绍内容要与个人简历相一致。 3、表述方式上尽量口语化。 4、要切中要害,不谈无关、无用的内容。 5、条理要清晰,层次要分明。6、事先最好以文字的形式写好背熟。问题二:"谈谈你的家庭情况"思路:1、 况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单转载 2009-09-21 22:16:00 · 485 阅读 · 0 评论 -
Java经典面试题
Java基础方面:1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×不写时默认为friendly2、String 和StringBuffer的区别java.lang.St转载 2009-09-21 22:02:00 · 321 阅读 · 1 评论 -
java解析xml文件四种方式
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存转载 2009-09-18 10:31:00 · 268 阅读 · 0 评论 -
Java基础知识
Java作为一门优秀的面向对象的程序设计语言,正在被越来越多的人使用。本文试图列出作者在实际开发中碰到的一些Java语言的容易被人忽视的细节,希望能给正在学习Java语言的人有所帮助。 1,拓宽数值类型会造成精度丢失吗? Java语言的8种基本数据类型中7种都可以看作是数值类型,我们知道对于数值类型的转换有一个规律:从窄范围转化成宽范围能够自动类型转换,反之则必须强制转换。请看下图: by转载 2009-09-13 18:17:00 · 263 阅读 · 0 评论 -
100行Java代码构建一个线程池
本示例程序由三个类构成,第一个是TestThreadPool类,它是一个测试程序,用来模拟客户端的请求,当你运行它时,系统首先会显示线程池的初始化信息,然后提示你从键盘上输入字符串,并按下回车键,这时你会发现屏幕上显示信息,告诉你某个线程正在处理你的请求,如果你快速地输入一行行字符串,那么你会发现线程池中不断有线程被唤醒,来处理你的请求,在本例中,我创建了一个拥有10个线程的线程池,如果线程转载 2009-09-13 23:16:00 · 257 阅读 · 0 评论 -
实战体会Java多线程编程精要
为什么会排队等待?下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ? 打印机、磁盘、数据库和显示屏 — 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种拙劣使用。改转载 2009-09-13 21:34:00 · 233 阅读 · 0 评论 -
Eclipse快捷键大全(转载)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En转载 2009-05-07 00:01:00 · 370 阅读 · 0 评论