- 浏览: 44366 次
- 性别:
- 来自: 深圳
最新评论
文章列表
单例模式单例模式是一种常见的设计模式。
常见的单例模式:懒汉式单例、饿汉式单例。
单例模式有一下特点:
1、单例类只能有一个实例。
2、单例类必须自己自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
饿汉:因为加载类的时候就创建实例,所以线程安全(多个ClassLoader存在时例外)。缺点是不能延时加载。
懒汉:需要加锁才能实现多线程同步,但是效率会降低。优点是延时加载。
懒汉式单例在类加载的时候不创建单例实例。只有在第一次请求实例的时候的时候创建,并且只在第一次创建后,以后不再创建该类的实例。
/***单例模式-懒汉式单例*/
public class Eage ...
先理解清楚线程安全和同步含义,再讨论这个充分必要条件。
线程安全的核心目标是,在多线程情况下,各线程同时操作共享数据,可以确保正确的执行结果。
线程安全有几个级别: 不可变,无条件的线程安全,有条件的线程安全,非线程安全(线程兼容),线程对立。
同步的目标是,在有条件的线程安全或非线程安全环境中,提供一种线程安全机制。
1. 同步是否一定要保证线程安全?
使用同步,目标就是一定要线程安全,但有时简单使用同步并不能保证线程安全。
2. 线程安全的是否一定需要同步?
不一定,即时在在有条件的线程安全或非线程安全环境中,也有有很多其他解决方式,如CAS,ThreadLocal等。 ...
http://hllvm.group.iteye.com/group/wiki/2877-synchronized-volatile
3、结果的处理
a)如果执行查询操作,主要对结果集ResultSet进行处理,结果集就是一个关系型的数据表,每一行就是数据库表中的一条纪录
b)如果执行更新操作,返回的是int行数据,就是影响的行数,就是说新增,修改,删除的数据的行数
4、异常的处理
在执行数据库访问时,难免会出错。如在写SQL语句时,字段、表名不小心写错,或者输入的类型不匹配。出现这种情况,我们需要有一定的保护机制。Java通过异常来处理非预期的行为。JDBC主要是通过SQLException来表示数据库访问时异常,JDBC的接口大部分会抛出SQLException,因此只需处理SQLException异常即 ...
Statement和PreparedStatement主要区别:
1、代码的可读性和可维护性。上面的例子可以看出。
2、PreparedStatement尽最大可能提高性能。
Statement每次执行sql语句,相关数据库都要执行sql语句的编译;PreparedStatement是预编译的,对于批量处理可以大大提高效率。
2)PrepareStatement(用于执行预编译的SQL语句)
PreparedStatement stmt = conn.prepareStatement("INSERT INTO Employee VALUES(?,?,?)"); //没有 ...
其中需要注意的:
查询操作会返回结果集ResultSet,也只有查询操作会返回结果集,ResultSet提供了多种getXXX方法,用于获取不类型的值,相关方法可参考jdk文档,这里不一一列举。getXXX方法的参数可以有两种,一种列的索引号,需 ...
2、执行SQL语句
SQL操作严格区分只有两种,一种就是读操作(查询操作),另一种就是写操作(更新操作),所以create、insert、update、drop、delete等对数据有改写行为的操作都是更新操作。我们要对数据库中的表进行操作,要先绑定一个语句,绑定语句可以通过Statement、PreparedStatement、CallableStatement来操作。
1)Statement(用于执行特定的SQL语句)
Statement对象是用来绑定要执行的操作的,在它上面有三种执行方法:即用来执行查询操作的executeQuery(),用来执行更新操作的executeUpdate( ...
Java连接数据库主要有两种方法:JDBC-ODBC桥、JDBC
JDBC?是一种用于执行?SQL?语句的?Java?API,JDBC常被认为是代表?“Java?数据库连接?(Java?Database?Connectivity)”)。它由一组用?Java?编程语言编写的类和接口组成。JDBC?为工具/数据库开发人员提供了一个标准的?API,使他们能够用纯Java?API?来编写数据库应用程序。
JDBC的用途,简单地说,JDBC可以做三件事:
1、与数据库建立连接
2、发送SQL语句
3、处理结果
其中分点讲解JDBC的三大操作:
1、数据库建立连接
1)加载驱动
//注册驱动, ...
精通Orace.10g.pl.SQL编程
深入了解Java虚拟机的原理
Java设计模式
Java极限编程
数据结构与算法分析(Java版)
JSP高级编程
Java2平台安全技术-结构,api设计和实现
Java语言SQL接口—JDBC编程技术
Struts in Action中文版
Java TCP-IP应用开发详解
实用J2EE设计模式编程指南
引用CDSN上的一篇文章:
http://news.csdn.net/a/20120109/310338.html
我们使用存储过程都是返回值都是单一的,有时我们需要从过程中返回一个集合。即多条数据。这有几种解决方案。比较简单的做法是写临时表,但是这种做法不灵活。而且维护麻烦。我们可以使用嵌套表来实现.没有一个集合类 ...
[size=small]select into不可乎视的问题 [/size]
我们知道在pl/sql中要想从数据表中向变量赋值,需要使用select into 子句。
但是它会带动来一些问题,如果查询没有记录时,会抛出no_data_found异常。
如果有多条记录时,会抛出too_many_rows异常。
这个是比较糟糕的。一旦抛出了异常,就会让过程中断。特别是no_data_found这种异常,没有严重到要让程序中断的地步,可以完全交给由程序进行处理。
For Exaple:
create or replace procedure procexception(p varchar2) ...
第一种使用loop 循环
loop
fetch c_postype into v_postype,v_description ;
exit when c_postype%notfound;
……
end loop
备注:exit when语句一定要紧跟在fetch之后。必避免多余的数据处理。 而处理逻辑需要跟在exit when之后。这一点需要多加小 ...