JAVA—咖啡馆

——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。

BlogJava 首页 新随笔 联系 聚合 管理
  447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

#

     摘要: Vector 还是ArrayList――哪一个更好,为什么?
要回答这个问题不能一概而论,有时候使用Vector比较好;有时是ArrayList,有时候这两个都不是最好的选择。你别指望能够获得一个简单肯定答案,因为这要看你用它们干什么。下面有4个要考虑的因素:
l API
l 同步处理
l 数据增长性
l 使用模式
下面针对这4个方面进行一一探讨
API
在由Ken Arnold等编著的《Java Programming Language》(Addison-Wesley, June 2000)一书中有这样的描述,Vector类似于ArrayList.。所有从API的角度来看这两个类非常相似。但他们之间也还是有一些主要的区别的。  阅读全文
posted @ 2007-11-22 11:43 rogerfan 阅读(447) | 评论 (1)编辑 收藏

     摘要: 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap  阅读全文
posted @ 2007-11-22 11:42 rogerfan 阅读(280) | 评论 (0)编辑 收藏

     摘要: 软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMM/CMMI是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了国际软件产业界的认可,成为当今(企业)从事规模软件生产不可缺少的一项内容。  阅读全文
posted @ 2007-11-16 16:08 rogerfan 阅读(450) | 评论 (0)编辑 收藏

     摘要: 来自华纳电影《Must Love Dogs》中的屏保,共有4种小狗,它们会不停地舔着屏幕,蛮可爱的。看到过的人都大为感叹:真是有趣可爱的屏保。  阅读全文
posted @ 2007-11-15 17:29 rogerfan 阅读(1715) | 评论 (2)编辑 收藏

     摘要: Torque是Apache的公开源代码项目,最开始是Turbine框架的组成部分,后面被独立出来作为一个单独的组件,归入了Apache的DB项目下。目前最新的版本是3.3。Torque的主要功能是实现对数据库的访问,方式是通过生成访问数据库的资源(包括创建数据库、表和初始化表的sql语句)和java代码、提供使用这些代码访问数据库的运行时(runtime)环境。关于Torque的详细介绍请大家参考http://db.apache.org/torque/。

目前Torque支持的数据库包括mysql、oracle、sqlserver、db2等,还包括对weblogic的数据源的支持,详细的支持列表大家可以到http://db.apache.org/torque/查找到,你还可以参考http://db.apache.org/torque/db-adapters.html编写你自己的数据库支持类。
  阅读全文
posted @ 2007-11-14 14:57 rogerfan 阅读(949) | 评论 (0)编辑 收藏

     摘要: Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,首先它是自由软件,用户不用支付费用就可以使用它,并可根据自己的需要对它进行修改。另外,它具有Unix的全部功能,任何使用Unix系统或想要学习Unix系统的人都可以从中获益。

  让我们一起从每一个命令开始,走向Linux高手之路吧。  阅读全文
posted @ 2007-11-09 12:33 rogerfan 阅读(379) | 评论 (0)编辑 收藏

     摘要: 名声显赫而招摇的数据持久层框架Hibernate,通过query.setFirstResult和query.setMaxResult来实现了对数据的分页,这个分页的实质在SqlServer中是TOP N的方法,Oracle是rownum
但是,Hibernate分页,并不能得到页脚,所以尚不通用。承接Jpage分页的方便性,写了这版分页,以方便已与群众。

下面,就是在Hibernate下的通用分页,属于Jpage分页的第三项功能。思路是定义一个Dao类,让其它数据库的dao都继承这个Dao类。  阅读全文
posted @ 2007-11-01 21:32 rogerfan 阅读(1233) | 评论 (2)编辑 收藏

     摘要: 这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。

一:无返回值的存储过程

存储过程为:

CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS

BEGIN


END TESTA;
  阅读全文
posted @ 2007-09-26 08:30 rogerfan 阅读(354) | 评论 (0)编辑 收藏

     摘要: 1.日期时间间隔操作

当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual
当前时间减去7天的时间
select sysdate - interval '7' day from dual
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8 *interval '2' hour from dual
  阅读全文
posted @ 2007-09-17 09:00 rogerfan 阅读(498) | 评论 (0)编辑 收藏

     摘要: Oracle的SQL函数分为单行函数和多行函数。单行函数只对单条记录有效,多行函数对多条记录有效。


单行函数包括,字符、数字、日期、转换和普通函数。


字符函数举例:

全小写 LOWER('SQL Course') sql course
全大写 UPPER('SQL Course') SQL COURSE
首字母大写 INITCAP('SQL Course') Sql Course
拼接 CONCAT('Good', 'String') GoodString
取子串 SUBSTR('String',1,3) Str
求长度 LENGTH('String') 6
  阅读全文
posted @ 2007-09-17 09:00 rogerfan 阅读(372) | 评论 (0)编辑 收藏

     摘要: (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
(2) WHERE子句中的连接顺序.:
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
(3) SELECT子句中避免使用 ‘ * ‘:
ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间
  阅读全文
posted @ 2007-09-17 08:56 rogerfan 阅读(367) | 评论 (0)编辑 收藏

     摘要: 1. 选用适合的ORACLE优化器

ORACLE的优化器共有3种:

a. RULE (基于规则)
b. COST (基于成本)
c. CHOOSE (选择性)

设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。

为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性。

如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关。 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器。
阅读全文
posted @ 2007-09-17 08:43 rogerfan 阅读(1085) | 评论 (1)编辑 收藏

     摘要: 一、前言

  在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText。通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。

  二、iText简介

  iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

  iText的安装非常方便,在http://www.lowagie.com/iText/download.html - download 网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。  阅读全文
posted @ 2007-09-15 13:43 rogerfan 阅读(1805) | 评论 (6)编辑 收藏

     摘要: 对于singleton bean,Spring容器知道bean何时实例化结束,何时销毁,Spring可以管理实例化结束之后,和销毁之前的行为,管理bean的生命周期行为主要未如下两个时机:

Bean全部依赖注入之后
Bean即将销毁之前

(1)依赖关系注入后的行为实现:
有两种方法:A.编写init方法 B.实现InitializingBean接口
  阅读全文
posted @ 2007-09-11 20:47 rogerfan 阅读(677) | 评论 (0)编辑 收藏

     摘要: 目录

1.sql存储过程概述
2.SQL存储过程创建
3.sql存储过程及应用
4.各种存储过程使用指南
5.ASP中存储过程调用的两种方式及比较
6.SQL存储过程在.NET数据库中的应用
7.使用SQL存储过程要特别注意的问题  阅读全文
posted @ 2007-09-10 12:54 rogerfan 阅读(1582) | 评论 (0)编辑 收藏

仅列出标题
共30页: First 上一页 21 22 23 24 25 26 27 28 29 下一页 Last