JSP中连接SQL 2000数据库的问题总结
下面说明如何连接到SQL 2000数据库,首先当然是要下载JDBC驱动程序,最好去微软官方网站下载,然后将下载到的三个JAR包放入你的WEB应用的WEB-INF/lib/下。接下来编写程序进行测试/*********************************************** /* /*DBTest.java /* /******************************************* */ import java.sql.*; public class DBTest { Connection con; Statement sta; ResultSet rs; String driver; String url; String user; String pwd; public DBTest() { driver = "com.microsoft.jdbc.sqlse
为JAVA性能而设计(一)
第一部分: 接口事宜 概要 许多通常的 Java 性能问题都起源于在设计过程早期中的类设计的思想, 早在许多开发者开始考虑性能问题之前. 在这个系列中, Brian Goetz讨论了通常的 Java性能上的冒险以及怎么在设计时候避免它们. 许多程序员在开发周期的后期才可是考虑性能管理. 他们常常把性能优化拖延到最后, 希望能完全避免 -- 有时候这种策略是成功的. 但是早期的设计思想可以影响性能优化的需求及其成功. 如果性能是你的程序的一个重要指标, 那么性能管理应该从第一天起就和设开发周期整合在一起. 这个系列探索
为JAVA性能而设计(三)
第三部分: 远程接口 概述 许多 Java 的通常性能问题来源于设计过程早期的类设计想法中, 早在开发者开始考虑性能问题之前. 在这个系列中, Brian Goetz 讨论了一些通常的 Java 性能的冒险, 解释了怎样在设计时间避免它们. 在这篇文章中, 它检验了远程应用程序中的特定的性能问题. 远程调用的概念 在分布式的应用程序中, 一个运行在一个系统中的对象可以调用另一个系统中的一个对象的方法. 这个通过很多使远程对象表现为本地的结构的帮助而实现. 要访问一个远程对象,你首先要找到它, 可以通过使用目录或者命名服
为JAVA性能而设计(二)
第二部分: 减少对象创建 概要 许多通常的 Java 性能问题都起源于在设计过程早期中的类设计的思想, 早在许多开发者开始考虑性能问题之前. 在这个系列中, Brian Goetz 讨论了通常的 Java 性能上的冒险以及怎么在设计时候避免它们. 在第二部分, 他讨论了减少临时对象创建的一些技术。 虽然许多程序员把性能管理一直推迟到开发过程的最后, 性能考虑应该从第一天起就和设计周期结合在一起. 这个系列探索一些早期的设计思想能够极大影响应用程序性能的方法.在这篇文章里, 我继续探索大量临时对象创建的问题, 并且提供一些
编写高效的线程安全类
Java 编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。本文试图概述几种方法,程序员可用这几种方法来创建高效的线程安全类。 并发性 只有当要解决的问题需要一定程度的并发性时,程序员才会从多线程应用程序中受益。例如,如果打印队列应用程序仅支持一台打印机和一台客户机,则不应该将它编写为多线程的。一般说来,包含并发性的编码问题通常都包含一些可以并发执行的操作,同时也包含一些不可并发执行的操作。例如,为多个客户机和
Java 理论与实践: 关于异常的争论
关于在 Java 语言中使用异常的大多数建议都认为,在确信异常可以被捕获的任何情况下,应该优先使用检查型异常。语言设计(编译器强制您在方法签名中列出可能被抛出的所有检查型异常)以及早期关于样式和用法的著作都支持该建议。最近,几位著名的作者已经开始认为非检查型异常在优秀的 Java 类设计中有着比以前所认为的更为重要的地位。在本文中,Brian Goetz 考察了关于使用非检查型异常的优缺点。 与 C++ 类似,Java 语言也提供异常的抛出和捕获。但是,与 C++ 不一样的是,Java 语言支持检查型
编写跨平台Java程序注意事项
使用Java语言编写应用程序最大的优点在于“一次编译,处处运行”,然而这并不是说所有的Java程序都具有跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,那么如何才能编写一个真正的跨平台的Java程序呢?下面是在编写跨平台的Java程序是需要注意的一些事情: 编写Java跨平台应用程序时,你可以选择JDK1.0,1.1,1.2或支持它们的GUI开发工具如:Jbuilder,Visual Age for Java 等等,但是必须注意你的Java程序只能使用Java核心API包,如果要使用第三方的类库包,则该类库包也要由Java核心包开发完成,否
处理Java程序中的内存漏洞
Java 程序中也有内存漏洞?当然有。与流行的观念相反,在 Java 编程中,内存管理仍然是需要考虑的问题。在本文中,您将了解到什么会导致内存漏洞以及何时应该关注这些漏洞。您还有机会实践一下在您自己的项目中解决漏洞问题。 Java 程序中的内存漏洞是如何显现出来的 大多数程序员都知道,使用像 Java 这样的编程语言的一大好处就是,他们不必再担心内存的分配和释放问题。您只须创建对象,当应用程序不再需要这些对象时,Java 会通过一种称为“垃圾收集”的机制将这些对象删除。这种处理意味着 Java 已经解决了困扰其他
提高Java代码可重用性的三个措施
本文介绍了三种修改现有代码提高其可重用性的方法,它们分别是:改写类的实例方法,把参数类型改成接口,选择最简单的参数接口类型。 措施一:改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。换句话说,如果不继承整个类的所有方法和数据成员,我们无法重用该类里面的单个方法。继承总是带来一些多余的方法和数据成员,它们总是使得重用类里面某个方法的代码复杂化。另外,派生类对父类的依赖关系也使得代码进一步复杂化:对父类的改动可能影响子类;修改父类或者子类中的任
Java Excel 操作excel
从Excel文件读取数据表 Java Excel API 既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术 语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java) import java.io.*;import jxl.*;… … … …try{//构建Workbook对象, 只读Workbook对象//直接从本地文件创建Workbook//从输入流创建Workbook InputStream is = new FileInputStream(sourcefile); jxl.Workbook rwb = Workbook.getWorkbook(is);}catch (Exception
Oracle 10G 新特性——等待接口
前言 在处理被ADDM捕捉的突发的性能问题中,10g等待接口提供非常有价值的数据用于诊断。作为一个DBA,你可能遇到过很多次用户抱怨“数据库非常慢了”。那么你是如何定位这种问题的呢?你第一步要做的肯定是查看是否有会话在等待数据库内部或外部的什么资源。 Oracle提供了一个简单但是又很有效的机制来获取这些信息:视图V$SESSION_WAIT。这一视图提供了各种信息以帮助诊断如一个会话正在等待和已经等待的事件、及等待了多少、等待时间多长。例如,如果会话正在等待事件“db file sequential read”,字段P1和P2就标识会话正在等待的
Oracle 10G 新特性——审计
10g审计能力的提升 Oracle 10g的审计会在非常细节的层次上捕捉用户的动作,它可以是手动审计、基于触发器审计。 假如用户A用以下语句更新了表里面得一条记录: SQL> update SCOTT.EMP set salary = 12000 where empno = 123456; 你如何去跟踪这样的操作呢?在Oracle 9i中,审计只捕捉了谁做了操作,但不知道他做了什么?例如,它能让你知道A更新过用户scott的表emp,但是却无法知道他更新了工号为123456的员工的薪水信息。它同样在改变字段salary之前无法显示处它的值——要捕捉这样的信息,你只能通过编写自己的触发器来在值
Oracle 10G 新特性——SQL*PLUS的改进
在Oracle 10G中,SQL Plus这一小小而又强大的DBA工具已经得到了显著的改进,包括十分有用的提示和高级文件操作。 SQLPlus的改进 哪个工具是DBA每天最常用的?除了很多DBA使用图形界面的工具外,使用最多的就是SQL Plus这个命令行方式的工具了。 尽管在oracle 10G中由于企业管理器的大大增强可能使SQL Plus的地位有所改变,但这个普遍使用的小工具仍然被保留下来了——它对于初学者和有经验的DBA都适用。我们下面将会探讨一下SQL*Plus 10.1.0.2中一些有用的新特性。但是你必须要有随Oracle 10G软件安装的SQL Plus,而不能使用9i客户端连
Oracle 10G 新特性——RMAN
RMAN增量备份方案、增量备份的离线恢复、恢复预览、从resetlogs中恢复、文件压缩等被重新设计后变得更加强大了。 大多数人都赞同RMAN就是Oracle事实上的数据库备份工具。尽管早期版本的RMAN已经很强大,但是人们对它的期待还是有很多。很多DBA对于一些很希望有但实际上没有的特性很烦恼。很幸运,在10g中解决了很多问题并且增加了很多受期待的特性,下面就一起看一下。 增量备份 RMAN有一项增量备份的功能。但实际上你是否经常用它呢?或许偶尔,或许从来没有。 这项功能使RMAN备份上一次同级别或者更低级别的增量备份以后发生变化的数
Oracle 10G 新特性——增强的CONNECT BY子句
为了更好的查询一个树状结构的表,在Oracle的PL/SQL中提供乐一个诱人的特性——CONNECT BY子句。它大大的方便了我们查找树状表:遍历一棵树、寻找某个分支……,但还是存在一些不足。在Oracle 10G,就对这个特性做了增强。下面就举例说明一下: CONNECT_BY_ROOT 一张表,有多颗子树(根节点为0),现在我想知道每个节点属于哪个子树。举例:铃音目录结构下有多个大分类:中外名曲、流行经典、浪漫舞曲……,每个大类下面又有多个子类,子类下面还可以细分。那现在想要知道每个子类分属哪个大类,或者要统计每个大类下面有多少个子类。
Oracle 10G 新特性——闪回表
删除表的恢复 如果某个用户不小心删除了一个十分重要的表,后果将非常严重。在9i中提供的闪回特性只能恢复DML语句造成的影响,而无法恢复DDL语句的影响。DBA只能通过重建一张表,然后从备份数据中导入。 利用Oracle 10G中的闪回表的特性,DBA可以轻松完成这项工作,并将影响降到最小。下面就举一个例子说明: 创建表: SQL> create table abc (f number(9)); 表已创建。 SQL> create index idx_test on abc(f); 索引已创建。 SQL> insert into abc values(1); 已创建 1 行。 SQL> insert into abc values(2);
数据段压缩(Data Segment Compression)浅析
1. 什么是数据段压缩 数据段压缩,又称为“块级压缩”,是Oracle 9.2 中出现的新特性。他对于数据仓库和那些只需要读的大表来说很有用。数据段压缩可以使存储空间减少,又可以提高查询速度(需要读入的数据块更少)。 压缩可以在创建表时指定,也可以通过修改表来激活。 CREATE TABLE CMPTest ( a number, b varchar2(20), c char(20)) TABLESPACE ASSMDEMO NOLOGGING COMPRESS PC
Oracle 10G 新特性——表空间管理
设置默认表空间 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间。导致系统表空间迅速被用户数据占满,直至宕机。 在10G中,DBA有办法避免这种问题了——在线指定系统默认表空间: ALTER DATABASE DEFAULT TABLESPACE <tsname>; 通过执行以上命令,可以设定系统的默认表空间。这样的话,在创建新用户时,如果不指定他的默认表空间,就会采用上面指定的系统默认表空间作为这个用的默认表空间。 SQL>c
Oracle 10G 新特性——物化视图
Advisor 在10g将查询重写并且引进了新的强大的调优建议者使管理物化视图变得容易多了。 物化视图(Materialized Views MVs),也被称为快照,现在已经被广泛应用了。MV将一个查询的结果存储在一个段中,并且当用户提交查询时返回查询结果,而不需要重新执行查询——如果查询会被执行多次(经常出现在数据仓库环境中),这就会非常有效。MV可以从基础表中完全刷新或通过使用快速刷新机制增量刷新。 假如你有如下定义的MV: create materialized view mv_hotel_resv refresh fast enable query rewrite as select distinct
Oracle 10G 新特性——ADDM和查询优化建议器
利用ADDM解决性能问题 从最终权威那获得SQL调优的帮助:Oracle数据库本身!通过使用SQL profiles来确定查询行为、学习如何使用ADDM快速和轻松地解决普通的性能问题。 作为一个高级DBA,你当然不愿总是被调优某条SQL语句这种杂事缠身。 在10g中,你有了自动数据库诊断监视器(Automatic Database Diagnostic Monitor ADDM),他是一个不知疲倦的收集数据库性能统计信息来定位性能瓶颈、分析SQL语句和不停的提供各种类型的建议以提高性能的机器DBA,它一般和其他“建议器”如SQL Tuning Advisor一起工作。在本文中,你将了解到它