Java面试题精选(二)线程编程、数据库理论和Jdbc部分(二)

2014-11-24 08:17:32 · 作者: · 浏览: 1
..递增规则

maxvalue ...循环最大值 minvalue ...循环最小值

cycle..循环 cache 20 数据缓冲数.

序列号循环的最后一个: select seq_name.currval from dual.

查询的下一个 : select seq_name.nextval from dual.

事务: ★★★★

四个特性:atomic(原子性) consitent(一致性) insulation(隔离性) duration(持久性)

理解 :commit 提交 rollback 回滚 savepoint 保留点

PL/SQL

打印格式: dbms_output.put_line(一个参数,类型为 字符);

set serveroutput on (在一个session里有效,重新连接需要重新设置)

数据库上的并发连接

统计server process (username) 的个数

1、 ps -ef|grep username|wc -l (在telnet/oracle环境下运行)

2、select count(*) from v$session where username is null. (在SQL环境下执行)

PL/SQL 书写格式★★★★

declare 变量声明

... ...

begin 执行部分

... ...

exception 异常处理

... ...

end; 结束块

理解 loop循环 if循环 while循环的写法

DDL语句 只能用本地动态SQL执行 execute immediate

DML语句 可静态写法和动态写法 (相对而言 静态写法效率更高)

游标 : cursor cur_name is ...

书写处理: declare(声明游标)... open(打开游标)... fetch(提取游标)... 判断部分... close(关闭游标)

关联记录; type type_name is record (... ...)

关联数组: type type_name is table of element_type index by

过程 procedure : 本身没有返回值 / 调用过程,一条语句

create or replace procedure XX...

函数 function : 本身有返回值 / 调用函数,写表达式

create or replace function XX... return values

包和包体 package / package body

create or replace package / package body XX...

异常部分: 预定义异常、非预定义异常 和 自定义异常

dbms_output.put_line(sqlcode) : 查询异常编号

dbms_output.put_line(sqlerrm) : 查询异常信息

在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。
答:一种分页方法

JDBC/XML知识:

mysql数据库使用命令:★★★

登录mysql数据库: mysql -uroot;

查询但前数据库信息: show databases;

创新新的数据库: create database 库名 default character set utf8;

使用数据库: use 库名;

注意: 必须要先敲 mysql -uroot 后 use 库名 方能执行接下来的命令,否则你会看到一系列的报错信息。

查看当前数据库存在的表: show tables;

建表 : create table (c1...auto_increment ,c2 ..., c3...) type = innodb;

(type = innodb 支持事务 auto_increment 自增长列)

查询表 : 用户和oracle一样 select * from tabname ;

插入 : 用户和oracle一样 insert into tabname(c2..., c3...) values(... ...);

注:auto_increment 表明的列无须输入。

1、JDBC:如何控制事务?

A: conn.setAutoCommit(false);

当值为false时,表示禁止自动提交。 在默认情况下,JDBC驱动程序会在每一个更新操作语句之后

自动添加commit语句,如果调用了setAutoCommit(false),则驱动程序不再添加commit语句了。

B: conn.commit();

提交事务。即驱动程序会向数据库发送一个commit语句。

C: conn.rollback();

回滚事务。即驱动程序会向数据库发送一个rollback语句。

2Class.forName的作用 如何使用jdbc的三个对象
答:

调用该访问返回一个以字符串指定类名的类的对象。

Connection: 负责建立连接,获得连接.(java程序与数据库之间的连接)
Statement:负责发送sql给数据库,创建statement.(子接口:preparedStatement)
ResultSet: 负责封装数据库返回的查询的结果.

3Jdo是什么
答:

JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。

JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。

另外,JDO很灵活,因为它可以在任何数据底层上运行。

JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。

课上讲解XML技术知识的很少,但是对于企业面试过程中这一方面的运用是很广泛的,大家一定要重视XML文本的运用操作。

4xml有哪些解析技术 区别是什么 ★★
答:

有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,

而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。

它顺序读取XML文件,不需要一次全部装载整个文件。

5、你在项目中用到了xml技术的哪些方面 如何实现的
答:

用到了数据存贮,信息配置两方面。

在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,

接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,

软件的各种配置参数都存贮在XML文件中。

6XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? ★★★★
答:

两种形式 :dtd schema。

本质区别 :schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)。

解析文档方式:有DOM,SAX,STAX等 。
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,

而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问。
SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。