免费实用的宝藏网站 - 广州大学城网点亮大学生活!
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广州大学城网业务调整

[Java/JSP] 要做毕业设计了,奉献一套java经典视频 [复制链接] qrcode

查看: 20105 | 回复: 31

tinzi
发表于: 2011-2-18 14:59:03 | 显示全部楼层

JAVA 私塾第十、十一章笔记整理

JAVA 私塾第十、十一章笔记整理

第十章 AWT

    AWT(Abstract Window Toolkit)用于Java Application 的GUI(Graphical User Interface图形用户界面)编程。
    AWT所涉及的类一般在java.awt包及其子包中。
   【此处有图片,可以到JAVA 私塾官网下载完整笔记:w ww.javass.cn】

    布局管理器
        FlowLayout  (Panel和Applets的缺省布局管理器)
        对组件逐行定位,行内从左到右,一行排满后换行。默认的对齐方式是居中。
        BorderLayout   (Window, Dialog和Frame的缺省布局管理器)
        将整个容器的布局划分成东西南北中五部分,组件只能被添加到指定区域。每个区域只能加入一个组件,如加入多个,则先前的会被覆盖。
        GridLayout
        将空间划分成规则的矩形网格,每个单元区域大小相等,组件被添加到每个单元各种,先从左到右满一行后换行,再从上到下。
        CardLayout
        GridBagLayout

第十一章Swing和GUI事件处理

    GUI事件监听器接口:

事件类型 相应监听器接口监听器接口中的方法
ActionActionListeneractionPerformed(ActionEvent)
ItemItemListeneritemStateChanged(ItemEvent)
MouseMouseListenermousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mouseClicked(MouseEvent)
Mouse MotionMouseMotionListenermouseDragged(MouseEvent)
mouseMoved(MouseEvent)
KeyKeyListenerkeyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent)
FocusFocusListenerfocusGained(FocusEvent)
focusLost(FocusEvent)
AdjustmentAdjustmentListeneradjustmentValueChanged(AdjustmentEvent)
ComponentComponentListenercomponentMoved(ComponentEvent)
componentHidden (ComponentEvent)
componentResized(ComponentEvent)
componentShown(ComponentEvent)
WindowWindowListenerwindowClosing(WindowEvent)
windowOpened(WindowEvent)
windowIconified(WindowEvent)
windowDeiconified(WindowEvent)
windowClosed(WindowEvent)
windowActivated(WindowEvent)
windowDeactivated(WindowEvent)
ContainerContainerListenercomponentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
TextTextListenertextValueChanged(TextEvent)


    事件适配器:
  1. public abstract class WindowAdapter implements WindowListener {
  2.    public void windowOpened(WindowEvent e) {}
  3.    public void windowClosing(WindowEvent e) {}
  4.    public void windowClosed(WindowEvent e) {}
  5.    public void windowIconified(WindowEvent e) {}
  6.    public void windowDeiconified(WindowEvent e) {}
  7.    public void windowActivated(WindowEvent e) {}
  8.    public void windowDeactivated(WindowEvent e) {}
  9. }
复制代码

内部类
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. public class Test1{
  4.    Frame f = new Frame("Java Gui");
  5.    public Test1(){
  6.       MyInner m = new MyInner();
  7.       f.addWindowListener(m);
  8.       f.setSize(150,150);
  9.       f.setVisible(true);
  10.    }
  11.    public static void main(String args[]){
  12.       new Test1();
  13.    }
  14.    class MyInner extends WindowAdapter{
  15.       public void windowClosing(WindowEvent e){
  16.          System.exit(1);
  17.       }
  18.    }
  19. }
复制代码

    匿名内部类
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. public class Test2{
  4.    Frame f = new Frame("Java Gui");
  5.    public Test2(){
  6.       f.addWindowListener(new WindowAdapter(){
  7.          public void windowClosing(WindowEvent e){
  8.             System.exit(1);
  9.          }
  10.       });
  11.       f.setSize(150,150);
  12.       f.setVisible(true);
  13.    }
  14.    public static void main(String args[]){
  15.       new Test2();
  16.    }
  17. }
复制代码

    什么是双缓冲?
       在后台进行界面的更新,然后在前台进行界面交换
       功能:双缓冲可以改善一个被频繁改变的组件的外观

    *Swing和AWT的区别?
       Swing提供了更完整的组件,引入了许多新的特性和能力。Swing API是围绕着实现            
       AWT 各个部分的API 构筑的。
       AWT 采用了与特定平台相关的实现,而绝大多数Swing 组件却不是这样做的,因此Swing 的外观和感觉是可客户化和可插的。
tinzi
发表于: 2011-2-21 14:02:05 | 显示全部楼层

JAVA 私塾第十三章笔记整理

JAVA 私塾第十三章笔记整理

第十三章  I/O流

    JDK所提供的所有流类型,都位于java.io包内都分别继承自以下四种抽象流类型:
字节流字符流
输入流InputStreamReader
输出流OutputStream Writer


    节点流和处理流
        节点流可以从一个特定的数据源读写数据。
        处理流是连接在已存在的流之上,通过对数据的处理为程序提供更强大的读        
        写功能。
        【此处有图片,可以到JAVA 私塾官网下载完整笔记:ww w.javass.cn】

        继承自InputStream的流都是用于向程序中输入数据的,且数据的单位为字节(8bit),上图中深色为节点流,浅色为处理流

        InputStream的方法:
             三个read方法
                int read():读取一个字节,以整数的形式返回,如返回-1,则表示以到输入流的末尾。
                int read(byte[]):读取一系列字节,返回读取的字节数,如返回-1,则表示以到输入流的末尾。
                int read(byte[], int, int):读取一系列字节,返回读取的字节数,如返回-1,则表示以到输入流的末尾。Int,int用于定义读取字节数组的范围。

  void close():关闭流
                skip(long):跳过n个字节不读,返回实际跳过的字节数。

       继承自OutputStream的流适用于程序输出数据的,且数据的单位为字节(8bit),上图中深色为节点流,浅色为处理流
       【此处有图片,可以到JAVA 私塾官网下载完整笔记:ww w.javass.cn】

        void write(int)
        void write(byte[])
        void write(byte[],int,int)
        void close()
        void flush()将缓冲区的数据全部写到目的地。

        继承自InputStream的流都是用于向程序中输入数据的,且数据的单位为字节(16bit),上图中深色为节点流,浅色为处理流
       【此处有图片,可以到JAVA 私塾官网下载完整笔记:ww w.javass.cn】

        Reader的方法:
            三个read方法
                int read():读取一个字节,以整数的形式返回,如返回-1,则表示以到输入流的末尾。
                int read(byte[]):读取一系列字节,返回读取的字节数,如返回-1,则表示以到输入流的末尾。
         int read(byte[], int, int):读取一系列字节,返回读取的字节数,如返回-1,则表示以到输入流的末尾。Int,int用于定义读取字节数组的范围。

                void close():关闭流
                skip(long):跳过n个字节不读,返回实际跳过的字节数。

       继承自Writer的流适用于程序输出数据的,且数据的单位为字节(16bit),上图中深色为节点流,浅色为处理流
       【此处有图片,可以到JAVA 私塾官网下载完整笔记:ww w.javass.cn】

        void write(int)
        void write(byte[])
        void write(byte[],int,int)
        void close()
        void flush()将缓冲区的数据全部写到目的地。

FileInputStream
  1. import java.io.*;
  2. public class TestFileInputStream {
  3.    public static void main(String[] args) {
  4.       int b = 0;
  5.       FileInputStream in = null;
  6.       try {
  7.          in = new FileInputStream("e:/TestFileInputStream.java");
  8.       } catch (FileNotFoundException e) {
  9.          System.out.println("找不到指定文件");
  10.          System.exit(-1);
  11.       }
  12.    
  13.       try {
  14.          long num = 0;
  15.          while((b=in.read())!=-1){
  16.             System.out.print((char)b);
  17.             num++;
  18.          }
  19.          in.close();  
  20.          System.out.println();
  21.          System.out.println("共读取了 "+num+" 个字节");
  22.       } catch (IOException e1) {
  23.         System.out.println("文件读取错误"); System.exit(-1);
  24.       }
  25.    }
  26. }
复制代码

共读取了 700 个字节

FileOutputStream
  1. import java.io.*;
  2. public class TestFileOutputStream {
  3.    public static void main(String[] args) {
  4.       int b = 0;
  5.       FileInputStream in = null;
  6.       FileOutputStream out = null;
  7.       try {
  8.          in = new FileInputStream("e:/TestFileInputStream.java");
  9.          out = new FileOutputStream("e:/1.java");
  10.          while((b=in.read())!=-1){
  11.             out.write(b);
  12.          }
  13.          in.close();
  14.          out.close();
  15.       } catch (FileNotFoundException e2) {
  16.          System.out.println("找不到指定文件"); System.exit(-1);
  17.       } catch (IOException e1) {
  18.          System.out.println("文件复制错误"); System.exit(-1);
  19.       }
  20.       System.out.println("文件已复制");
  21.    }
  22. }
复制代码

FileReader
  1. import java.io.*;
  2. public class TestFileReader {
  3.    public static void main(String[] args) {
  4.       FileReader fr = null;
  5.       int c = 0;
  6.       try {
  7.          fr = new FileReader("e:/TestFileReader.java");
  8.          int ln = 0;
  9.          while ((c = fr.read()) != -1) {
  10.             System.out.print((char)c);
  11.          }
  12.          fr.close();
  13.       } catch (FileNotFoundException e) {
  14.          System.out.println("找不到指定文件");
  15.       } catch (IOException e) {
  16.          System.out.println("文件读取错误");
  17.       }
  18.    }
  19. }
复制代码

FileWriter
  1. import java.io.*;
  2. public class TestFileWriter {
  3.    public static void main(String[] args) {
  4.       FileWriter fw = null;
  5.       try {
  6.          fw = new FileWriter("e:/sunicode.dat");
  7.          for(int c=0;c<=50000;c++){
  8.             fw.write(c);
  9.          }
  10.          fw.close();
  11.       } catch (IOException e1) {
  12.      e1.printStackTrace();
  13.         System.out.println("文件写入错误");
  14.         System.exit(-1);
  15.       }
  16.    }
  17. }
复制代码

BufferedStream
  1. import java.io.*;
  2. public class TestBufferStream{
  3.   public static void main(String[] args) {
  4.     try {
  5.       BufferedWriter bw = new BufferedWriter(new FileWriter("e:/2.java"));
  6.       BufferedReader br = new BufferedReader(
  7.              new FileReader("e:/1.java"));
  8.       String s = null;
  9.       for(int i=1;i<=100;i++){
  10.         s = String.valueOf(Math.random());
  11.         bw.write(s);
  12.         bw.newLine();
  13.       }
  14.       bw.flush();
  15.       while((s=br.readLine())!=null){
  16.         System.out.println(s);
  17.       }
  18.       bw.close();
  19.       br.close();
  20.     } catch (IOException e) { e.printStackTrace();}
  21.   }
  22. }
复制代码

简述File类的基本功能
处理文件和获取文件信息,文件或文件夹的管理
除了读写文件内容其他的都可以做

代码示例:如何使用随机文件读写类来读写文件内容
    RW表示文件时可读写的
       读:
  try{
    RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
    long len = 0L;
    long allLen = f.length();
    int i = 0;
    while (len < allLen) {
      String s = f.readLine();
      if (i > 0) {
          col.add(s);
      }
      i++;
      //游标
      len = f.getFilePointer();
    }
  }catch(Exception err){
    err.printStackTrace();
  }
  
  写:
  
  try{
    RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
    StringBuffer buffer = new StringBuffer("n");
    Iterator it = col.iterator();
    while (it.hasNext()) {
      buffer.append(it.next() + "n");
    }
    f.writeUTF(buffer.toString());
  }catch(Exception err){
     err.printStackTrace();
  }

代码示例:如何使用流的基本接口来读写文件内容
  1. import java.io.*;
  2. public class Test{
  3. public static void main(String args[]){
  4.    String currentLine;
  5.    try{
  6.       DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("Test.java")));
  7.       while ((currentLine = in.readLine()) != null)
  8.          System.out.println(currentLine);
  9.       }catch (IOException e) {
  10.          System.err.println("Error: " + e);
  11.       } // End of try/catch structure.
  12.    } // End of method: main
  13. } // End of class
复制代码
tinzi
发表于: 2011-2-23 13:36:19 | 显示全部楼层

JAVA 私塾资料下载

JAVA 私塾资料下载

包括初级、中级、高级和项目视频、教材、源代码等学习资料,还有一些常用工具。

ww w.javass.cn/javapeixunzlxz/zlxz.html
tinzi
发表于: 2011-2-25 14:26:47 | 显示全部楼层

JAVA 私塾第十四、十五章笔记整理

JAVA 私塾第十四、十五章笔记整理

第十四章 多线程

    线程的基本概念:
        线程是一个程序内部的顺序控制流。
        进程是正在执行的程序,一个或更多的线程构成了一个进程。

        线程和进程的区别:
    每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。
    线程作为轻量级的进程,同一类线程可以共享代码和数据空间,但每个线程有独立的运行栈和数据空间,因此线程切换的开销小。
    多进程—在操作系统中同时运行多个任务(程序),也称多任务。
    多线程—在同一应用程序中多个顺序流同时执行。

    创建线程的2中方式:
      1.定义线程实现Runnable接口
  1. public class TestThread1 {
  2.    public static void main(String args[]) {
  3.       Runner1 r = new Runner1();
  4.       Thread t = new Thread(r);
  5.       t.start();
  6.       for(int i=0; i<100; i++) {
  7.          System.out.println("Main Thread:------" + i);
  8.       }
  9.    }
  10. }
  11. class Runner1 implements Runnable {
  12.    public void run() {
  13.       for(int i=0; i<100; i++) {
  14.          System.out.println("Runner1 :" + i);
  15.       }
  16.    }
  17. }
复制代码

    2.定义一个Thread的子类,并重写其Run()方法
  1. public class TestThread1 {
  2.    public static void main(String args[]) {
  3.       Runner1 r = new Runner1();
  4.       r.start();
  5.       for(int i=0; i<100; i++) {
  6.          System.out.println("Main Thread:------" + i);
  7.       }
  8.    }
  9. }
  10. class Runner1 extends Thread {
  11.    public void run() {
  12.       for(int i=0; i<100; i++) {
  13.          System.out.println("Runner1 :" + i);
  14.       }
  15.    }
  16. }
复制代码

     线程状态:
    【此处有图,可以到JAVA 私塾官网下载完整笔记:w ww.javass.cn】

线程控制基本方法:
方法
功能
isAlive()判断线程是否还活着,即线程是否还未终止
getPriority()获得线程的优先级数值
setPriority()设置线程的优先级数值
Thread.sleep()将当前线程睡眠,并指定毫秒数
join()调用某线程的该方法,将当前线程与该线程“合并“,即等待该线程结束,再回复当前线程的运行。
wait()当前线程进入对象的wait pool
notify()/notifyAll()唤醒对象的wait pool中的一个/所有等待线程


    线程的优先级:
  1. public class TestPriority {
  2.    public static void main(String[] args) {
  3.       Thread t1 = new Thread(new T1());
  4.       Thread t2 = new Thread(new T2());
  5.       t1.setPriority(Thread.NORM_PRIORITY + 3);
  6.       t1.start();
  7.       t2.start();
  8.    }
  9. }
  10. class T1 implements Runnable {
  11.    public void run() {
  12.       for(int i=0; i<1000; i++) {
  13.          System.out.println("T1: " + i);
  14.       }
  15.    }
  16. }
  17. class T2 implements Runnable {
  18.    public void run() {
  19.       for(int i=0; i<1000; i++) {
  20.          System.out.println("------T2: " + i);
  21.       }
  22.    }
  23. }
复制代码

    线程同步:
    当某个对象被用synchronized来修饰时,表明该对象某一时刻只能由一个线程访问。
  1. public class TestSync implements Runnable {
  2.    Timer timer = new Timer();
  3.    public static void main(String[] args) {
  4.       TestSync test = new TestSync();
  5.       Thread t1 = new Thread(test);
  6.       Thread t2 = new Thread(test);
  7.       t1.setName("t1");
  8.       t2.setName("t2");
  9.       t1.start();
  10.       t2.start();
  11.    }
  12.    public void run(){
  13.       timer.add(Thread.currentThread().getName());
  14.    }
  15. }
  16. class Timer{
  17.    private static int num = 0;
  18.    public synchronized void add(String name){
  19.       synchronized (this) {
  20.          num ++;
  21.          try {Thread.sleep(1);}
  22.          catch (InterruptedException e) {}
  23.          System.out.println(name+", 你是第"+num+"个使用timer的线程");
  24.        }
  25.    }
  26. }
复制代码

死锁:
  1. public class TestDeadLock implements Runnable {
  2.    public int flag = 1;
  3.    static Object o1 = new Object(), o2 = new Object();
  4.    public void run() {
  5.       System.out.println("flag=" + flag);
  6.       if(flag == 1) {
  7.          synchronized(o1) {
  8.             try {
  9.                Thread.sleep(500);
  10.             }catch (Exception e) {
  11.                e.printStackTrace();
  12.             }
  13.             synchronized(o2) {
  14.                System.out.println("1");
  15.             }
  16.          }
  17.       }
  18.       if(flag == 0) {
  19.          synchronized(o2) {
  20.             try {
  21.                Thread.sleep(500);
  22.             } catch (Exception e) {
  23.                e.printStackTrace();
  24.             }
  25.             synchronized(o1) {
  26.                System.out.println("0");
  27.             }
  28.          }
  29.       }
  30.    }
  31.    public static void main(String[] args) {
  32.       TestDeadLock td1 = new TestDeadLock();
  33.       TestDeadLock td2 = new TestDeadLock();
  34.       td1.flag = 1;
  35.       td2.flag = 0;
  36.       Thread t1 = new Thread(td1);
  37.       Thread t2 = new Thread(td2);
  38.       t1.start();
  39.       t2.start();
  40.   
  41.    }
  42. }
复制代码

    wait和sleep的区别
        wait时,别的线程可以访问锁定对象。
        sleep时,别的线程不可以访问锁定对象。

第十五章:网络编程

    什么是url?基本的格式是?
        URL(统一资源定位器,Uniform Resource Locator)用于表示Internet 上资源的地址。这里所说的资源,可以是文件、目录或更为复杂的对象的引用。
        ht tp://home.netscape.com/home/welcome.html

    IP,Port,TCP的基本功能
        IP代表网络位置
        Port代表端口号
        TCP可保证不同厂家生产的计算机能在共同网络环境下运行,解决异构网通信问题,是 目前网络通信的基本协议

    Java网络模型的基本功能
        描述服务端和客户端的连接过程
        【此处有图,可以到JAVA 私塾官网下载完整笔记:w ww.javass.cn】

    Java网络编程究竟做些什么?如何做?
        1.建立连接
        2.准备输出的数据,流式输出
        3.流式输入,编程业务需要的格式
        4.关闭连接

    服务器分配一个端口号。如果客户请求一个连接,服务器使用accept()方法打开socket 连接。
    客户在host的port端口建立连接。
    服务器和客户使用InputStream和OutputStream进行通信。

    基于Socket编程
  1. import java.net.*;
  2. import java.io.*;
  3. public class TestServer {
  4.    public static void main(String args[]) {
  5.       try {
  6.          ServerSocket s = new ServerSocket(8888);
  7.          while (true) {
  8.             Socket s1 = s.accept();
  9.             OutputStream os = s1.getOutputStream();
  10.             DataOutputStream dos =
  11.             new DataOutputStream(os);
  12.             dos.writeUTF("Hello," +s1.getInetAddress() + "port#" +s1.getPort() + "nb   ye!");
  13.             dos.close();
  14.             s1.close();
  15.          }
  16.       }catch (IOException e) {
  17.          System.out.println("程序运行出错:" + e);
  18.       }
  19.    }
  20. }
复制代码

    TCP和UDP区别
        TCP能保证传输内容的完整和准确,UDP不能保证。
tinzi
发表于: 2011-2-28 15:46:09 | 显示全部楼层

java 私塾经典入门视频

java 私塾经典入门视频

全套Java视频教程是完全真实课堂录制,初级入门部分实际学习时间为十一天,深入剖析重点知识点的理论。

第一天
Java的一些学习方法、Java入门,构建Java开发环境、学习写第一个HelloWorld的程序

第二天
Java的基础语法,Java代码的基本知识、运算符、表达式,Java分支语句和循环语句

第三天
面向对象初步,,Java中如何表达对象,根据前面的抽象来具体的讲述,如何使用一个类,深入理解Java类的基本运行顺序

第四天
理解面向对象的三大特性、引用类型、按值传递和按引用传递、熟练使用内存分配示意图、包装类、类型转换、继承、讲递归

第五天
方法的覆盖和重载的知识点和规则,Java中多态的知识点,static修饰符的规则和应用,final修饰符的规则和应用,内部类的基本知识,深入理解Java的内存分配

第六天
数组,多维数组,基本的排序算法,枚举的基础知识

第七天
Object类的基础知识,再次学习如何使用JDK文档,String类的常用方法

第八天
正则表达式的基础知识,常用类的知识和使用

第九天
抽象类、接口、异常

第十天
开始模拟银行系统的小项目

第十一天
项目收尾工作,示范如何给项目添加基本的权限控制

在线学习地址:ww w.javass.cn/javapeixunzlxz/zlxzchujizaixian.html
tinzi
发表于: 2011-3-3 11:07:25 | 显示全部楼层

java 私塾JDBC笔记整理

java 私塾JDBC笔记整理

一.JDBC是什么?
Java DataBase Connection(类似于IO).

二.JDBC怎样实现传输?
    JDBC利用Driver来连接不同的数据库。如Oracle, SQL Server, MySql , DB2.
    Driver(驱动):本质上是一个程序
    1.它是JDBC技术的实现。
    2.总的来说与数据库相关(因为java部分是固定的,而数据库有很多种需要不同的驱动去适应它)
    3.Driver类型: A:JDBC-ODBC桥
                   B:纯本地实现
                   C:部分JAVA实现
                   D:纯JAVA实现

三.JDBC可以用一套固定的接口去跟不同的数据库进行交互
   需要掌握如下接口:Driver, Connection, Statement, PreparedStatement, ResultSet。
   实现:跟IO类似,一边Out,一边In。
   不同的是输出的不是流,而是SQL语句。

   思路:
   JAVA——>数据库
   1.建立跟数据库的连接
      1.1装在驱动  class.forName(“驱动名称”)
      1.2打开连接  Connection conn = DriverManeger.getConnection(URL,用户名,密码);
   2.执行SQl语句
      2.1得到执行SQL语句的接口
          Statement stmt = conn.createStatement();
          或 PreparedStatement pstmt = conn.PreparedStatement(String sql);
      2.2执行SQL语句
          stmt.executeUpdate(sql);
          或 pstmt.setString(1,值);
          pstmt.executeUpdate();
      2.3 关闭连接
          conn.close();
          stmt.close();
          pstmt.close();

   数据库——>JAVA
   1.建立跟数据库的连接
       1.1装在驱动  class.forName(“驱动名称”)
       1.2打开连接  Connection conn = DriverManeger.getConnection(URL,用户名,密码);
   2.执行SQL语句
       2.1得到执行SQL语句的接口
        Statement stmt = conn.createStatement();
        或 PreparedStatement pstmt = conn.PreparedStatement(String sql);
       2.2执行取值,获得从数据库返回的结果集
   3.从ResultSet中获取数据(rs相当于游标)
       while(rs.next())
           a.按名称取值 rs.getString(“字段名”);
           b.按索引取值 rs.getString(索引下标);
       两种方法都是对照ResultSet的。
   4.关闭连接
       conn.close();
       rs.close();
       stmt.close();
       pstmt.close();

   *用preparedStatment是指预编译的SQL语句,是静态的。
       String sql = “…………(?,?,?,?)”
    将字段名用?代替
       pstmt.setString(索引,值);
       pstmt.setInt(索引,值);
       pstmt.executeUpdate();
     而Statement是动态的。

四.事务:
    保证数据库正确
    A.原子性:事务的内部操作为一个整体,要么都成功,要么都失败。
    B.一致性:数据操作前后要满足相同的规则。
    C.隔离性:事物内部数据对外的可见性和可操作性。
    D.稳定性:无论发生任何事情,事务都要保证数据能正确保存到数据库中。
  默认情况下,JDBC将一条数据库语句是为一个完整的事务。
  可以关掉默认事务管理: conn.setAutoCommit(false);
  在执行完事务后应提交事务:conn.commit();
                            conn.rollback();
  需要时可以取消事务:conn.close();

五.批量操作
   Statement stmt = conn.createStatement();

   stmt.addBatch(sql); //将多个sql打包
   stmt.executeBatch();//批量执行

可以到java 私塾官网下载完整笔记:w ww.javass.cn
tinzi
发表于: 2011-3-7 11:49:02 | 显示全部楼层

JAVA 私塾经典视频,看完毕业设计绝对没问题

JAVA 私塾经典视频,看完毕业设计绝对没问题

JAVA 私塾课堂实录,从初级到项目,绝对是毕业设计的好资料,看完毕业设计、答辩完全不在话下、毕业设计做好了,对找工作帮助是很大很大的。

下载、在线都有:ww w.javass.cn/javapeixunzlxz/zlxz.html
lzhu12
发表于: 2011-3-28 16:21:46 | 显示全部楼层

大力推荐清华出版社的《研磨设计模式》,JAVA设计模式中

大力推荐清华出版社的《研磨设计模式》,JAVA设计模式中的宝典啊

《研磨设计模式》看了没?最初是在JavaEye上chjavach兄的博客中看到的,写作风格轻松有趣,问题说的很透彻,堪称设计模式中的宝典。现在这本经典的书出也出版了,很值得买回去研究学习。据chjavach兄说《研磨设计模式》的版权已经输出到台湾。听说这位牛人还是JAVA 私塾培训机构的老师,他的讲课风格跟写作风格一样轻松有趣,通俗易懂。不管谁写的吧,好书就是好书,实力确实很强悍啊,只是不知道这个chjavach兄啥时候能开办个业余班的设计模式班让大家能去学习一下。不想买书朋友可以先到chjavach兄的博客上学习,呵呵~~~~~

博客地址:ht tp://chjavach.javaeye.com/
80后的我们
发表于: 2011-5-1 09:15:28 | 显示全部楼层

学习了
浮马
发表于: 2011-6-2 11:06:23 | 显示全部楼层

先看看再说
buxide
发表于: 2011-6-14 11:09:50 | 显示全部楼层

东西挺多
lunaya
发表于: 2011-8-4 14:16:59 | 显示全部楼层

买手机是不是一定要买这种有JAVA的手机呢
快速回复 返回顶部 返回列表