隨筆 - 19  文章 - 0  trackbacks - 0
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

               摘要: AM上午總結(jié): 1 package com.java.kudy.day17_2.ObjectReview; 2 3 public class ObjectTest { 4 5 /** 6 *虛擬機(jī)做了什么事情? 7 *1.在棧內(nèi)存中定義了一個(gè)變量p 8 *2.在類加載器中加載Person.class 9 *...  閱讀全文
          posted @ 2012-08-19 18:54 、小細(xì) 閱讀(158) | 評(píng)論 (0)編輯 收藏

          所有的流在使用完畢時(shí),都需要調(diào)用close方法進(jìn)行關(guān)流,釋放資源。
          由于流操作都會(huì)有異常,如果發(fā)生異常就有可能導(dǎo)致close方法不能被調(diào)用
          所以,IO異常一定要處理,close方法寫(xiě)在finally語(yǔ)句中
          1.InputStream : 輸入字節(jié)流 方法: read()從流(關(guān)聯(lián)的設(shè)備)中讀一個(gè)字節(jié)
          ** int read(buf):從流中讀取n個(gè)字節(jié)放入緩沖區(qū),方法會(huì)返回一個(gè)讀取字節(jié)的個(gè)數(shù) ips-->buf
          讀到一個(gè)-1,說(shuō)明讀到了流的末尾
           ------------------------------------------------------------------------------------------
          |---FileInputStream: 重載的構(gòu)造函數(shù)  (String fileName)  (File file)

          2.OutputStream: 輸出字節(jié)流 :方法 write(int c)將一個(gè)字節(jié)寫(xiě)入流  (byte)c
          write(buf,offset,len)將指定字節(jié)數(shù)組的一部分寫(xiě)入流。 buf-->ops
           -------------------------------------------------------------------------------------------
          |---FileOutputStream: 重載的構(gòu)造函數(shù) (Strng fileName) (String fileName, boolean append)
           append:指定數(shù)據(jù)是否追加到文件的末尾,默認(rèn)是false,覆蓋原有的數(shù)據(jù),
           設(shè)置為true,將數(shù)據(jù)追加到文件的末尾
          3.Reader:輸入字符流 int read() 讀一個(gè)字符   int read(buf)  buf是char[]類型
          |---FileReader:  FileReader = InputStreamReader(FileInputStream) 只做了一件事:解碼(父類在做)
          4.Writer:輸出字符流 write(int c) (char)c \  write(String str)
          |---|---FileWriter:  FileWriter = OutputStreamWriter(FileOutputStream) 只做了一件事:編碼

          理解(會(huì)用):
          1.裝飾設(shè)計(jì)模式: 對(duì)原有的類的進(jìn)行包裝,對(duì)方法進(jìn)行增強(qiáng)
          BufferedReader:實(shí)現(xiàn)緩沖的功能   創(chuàng)建包裝流對(duì)象的時(shí)候,必須組合一個(gè)被包裝的底層流
              增加了一個(gè)新方法 String readLine() 讀一行
          |--LineNumberReader: 增加了行號(hào)功能,getLineNumber() 、setLineNumber()
          BufferedWriter:實(shí)現(xiàn)了緩沖功能  new BufferedWriter(new FileWriter("1.txt");
              增加了新方法  newLine() 另起一行
          BufferedInputStream:實(shí)現(xiàn)緩沖的功能
          BufferedOutputStream:實(shí)現(xiàn)緩沖的功能

          2.InputStreamReader: 轉(zhuǎn)換流   : 包裝,實(shí)現(xiàn)了編碼解碼的功能
          new InputStreamReader(new FileInputStream("1.txt"));

          3.使用包裝流包裝System.in,讀鍵盤方便,可以讀一行
          BufferedReader br =
           new BufferedReader(new InputStreamReader(System.in));
          String line = br.readLine();
           
           
          IO需要會(huì)寫(xiě)的程序: BufferedReader和BufferedWriter包裝InputStream和OutputStream,讀一行寫(xiě)一行

            BufferedReader和BufferedWriter包裝Reader和Writer
            BufferedInputStream和BufferedOutputStream包裝InputStream和OutputStream
            用基礎(chǔ)流讀寫(xiě),自定義數(shù)組作為緩沖區(qū),實(shí)現(xiàn)拷貝
            
          -------以下做一個(gè)總結(jié):

          io流:數(shù)據(jù)傳輸?shù)闹修D(zhuǎn)站-->IO流-->目的地

           IO流一般都是成對(duì)出現(xiàn)的,也就是說(shuō)按照流的分向:輸入流-->輸出流
           IO流按照操作來(lái)分: 字節(jié)流-->字符流
           
          一.字符流
          基類:Reader(讀)Writer(寫(xiě))
          |-Reader
           |--BufferedReader:對(duì)Reader進(jìn)行了包裝,提供了緩沖區(qū)(8192),有ReadLine()方法
            構(gòu)造函數(shù):BufferedReader(Reader r);
           |--InputStreamReader:轉(zhuǎn)換流:將字節(jié)流轉(zhuǎn)換成字符流:new InputStreamReader(System.in);
            |--FileReader:讀取文件的字符流,FileReader(File file) FileReader(String fileName);
          |-Writer
           |--BufferedWriter:包裝流:常用的方法write(String s)、flush()刷新  newLine()換行
            構(gòu)造函數(shù):BufferedWriter(Writer w);
           |--OutputStreamWriter:轉(zhuǎn)換流: new OutputStreamWriter(System.out);
            |--FileWriter:寫(xiě)入文件,FileWriter(File file)  FileWriter(String fileName)
             FileWriter(File file,boolean append),FileWriter(String fileName,boolean append)
             當(dāng)append為true,將寫(xiě)入到文件的末尾處,當(dāng)為false時(shí),從文件開(kāi)頭開(kāi)始寫(xiě).就會(huì)覆蓋原來(lái)的.默認(rèn)為false
             
          二.字節(jié)流:
          |-InputStream(輸入流)
           |--FileInputStream:讀取文件的字符流,和FileReader基本是一樣
           |--FilterInputStream:過(guò)濾流,一般不使用,只是針對(duì)了InputStream進(jìn)行了包裝
            |--BufferedInputStream:包裝類:BufferedReader(InputStream in),提供緩存功能
            
          |-OutputStream(輸出流)
           |--FileOutputStream:寫(xiě)入文件的字符流,和FileWriter基本一樣
           |--FilterOutputStream
            |--BufferedOutputStream:包裝類:BufferedWriter(OutputStream out);
            
          三.使用IO流必須要捕獲異常,原因在于我們必須要還資源(關(guān)閉流)

           1 FileWriter fw = null;
           2 try
           3 {
           4     fw = new FileWriter("src/1.txt");
           5 }
           6 catch(IOException e)
           7 {
           8     e.printStractTrace();
           9 }
          10 finally
          11 {
          12     try{if(fw!=null)fw.close();}catch(IOException){e.printStackTrace();}
          13 }

          四.File文件類
          1.構(gòu)造方法:
          File(File parnt,String child)
          根據(jù)prent抽象路徑名和child路徑名字符串創(chuàng)建一個(gè)新的file實(shí)例.
          File(String pathname)
          通過(guò)將給定的路徑名字來(lái)創(chuàng)建一個(gè)新的file實(shí)例.
          File(String parent, String child)
          根據(jù) parent 路徑名字符串和 child 路徑名字符串創(chuàng)建一個(gè)新 File 實(shí)例.

          2.常用方法:
          isFile:判斷對(duì)象是否是一個(gè)標(biāo)準(zhǔn)文件
          isDirectory:判斷對(duì)象是否為一個(gè)文件夾
          isAbsolute:判斷是否為一個(gè)絕對(duì)路徑
          exists:判斷對(duì)象指定的文件是否存在
          createNewFile:根據(jù)對(duì)象的描述創(chuàng)建一個(gè)對(duì)象
          getName:獲得文件名
          getPath:獲得路徑名
          getParent:獲得文件的父級(jí)抽象路徑
          getAbsolutepath:獲得文件的絕對(duì)路徑名
          mkdir:創(chuàng)建此抽象路徑指定的目錄,(只能在存在的文件夾下創(chuàng)建一個(gè)目錄)
          mkdirs:創(chuàng)建此抽象路徑指定的目錄,包括所有必須但不存在的目錄.創(chuàng)建多級(jí)目錄(c:/a/b/c)
          list(FilenameFilter filter):根據(jù)指定過(guò)濾器遍歷文件夾中的所有文件,返回String[]
           如果對(duì)象為標(biāo)準(zhǔn)文件,則返回null,如果對(duì)象是一個(gè)空文件夾,則返回空數(shù)組。length為0
           FilenameFilter是一個(gè)接口,只有一個(gè)方法accept,我們需要實(shí)現(xiàn)接口的accept方法。
           實(shí)現(xiàn)類是給list方法自動(dòng)調(diào)用的
           方法的參數(shù)是list方法傳給我們的,返回的結(jié)果也是給list方法去用。
          listFiles:和list基本一樣,返回值類型不一樣,返回File[]。
          常用案例:遍歷目錄下所有的文件和文件夾   拷貝一個(gè)文件夾  .

          五:RandomAccessFile 文件流,可以讀寫(xiě)
          1.RandomAccessFile(File file,String mode)、RandomAccessFile(String fileName,String mode)
           mode:常用的: r,只讀 rw讀寫(xiě)
          2.有很多read和write方法.
           seek方法,指定從那個(gè)位置開(kāi)始讀seek(0) ,從原有的位置覆蓋掉
          skipBytes(int n):跳過(guò)多少個(gè)字節(jié)

          六:PrintStream、PrintWriter打印流
          有一個(gè)特殊的方法print可以實(shí)現(xiàn)打印
          write方法是直接將字節(jié)和字符寫(xiě)出去
          print:首先調(diào)用對(duì)象的toString方法轉(zhuǎn)成字符串(如果是基本數(shù)據(jù)類型,會(huì)先自動(dòng)裝箱)
           再將字符串編碼成字節(jié)數(shù)組,調(diào)用write方法寫(xiě)出去

          七:SequenceInputStream序列流
          可以將多個(gè)字節(jié)流組合起來(lái)
          構(gòu)造方法:SequenceInputStream(Enumeration<? extends InputStream> e) 
            //Enumeration可以通過(guò)Vector來(lái)獲得,如果用的是ArrayList,如何獲得呢?
               SequenceInputStream(InputStream in1,InputStream in2)

          八:ObjectInputStream、ObjectOutputStream操作對(duì)象的字節(jié)流
          一般成對(duì)出現(xiàn)
          使用writeObject方法寫(xiě)入的對(duì)象,只能由readObject方法讀出來(lái)
          操作的對(duì)象必須實(shí)現(xiàn)java.io.Serializable序列化接口,該對(duì)象才可以被序列化和反序列化。
          序列化: Java中規(guī)定的一種保存對(duì)象的數(shù)據(jù)格式

          九:DataInputStream、DataOutputStream操作基本數(shù)據(jù)類型,格式化數(shù)據(jù)
          readInt、writeInt等方法。
          writeInt寫(xiě)入一個(gè)整數(shù),文件大小為4字節(jié)。證明就是把基本數(shù)據(jù)類型對(duì)應(yīng)的字節(jié)寫(xiě)出去了,沒(méi)有丟失精度

          十:ByteArrayInputStream、ByteArrayOutputStream對(duì)Byte數(shù)組進(jìn)行讀寫(xiě)的字節(jié)流,針對(duì)內(nèi)存進(jìn)行讀寫(xiě)
          源和目的地都是內(nèi)存,一般用于對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行處理。

          十一:PipedInputStream、PipedOutputStream管道流
          1、輸入管道流
          構(gòu)造方法:PipedInputStream(PipedOutputStream pos)實(shí)現(xiàn)拼接
          也可以通過(guò)connect(PipedOutputStream pos)方法進(jìn)行拼接

          2、輸出管道流
          構(gòu)造方法:PipedOutputStream(PipedInputStream pis)實(shí)現(xiàn)拼接
          也可以通過(guò)connect(PipedInputStream pis)方法進(jìn)行拼接

           1 --Test:序列化與反序列化..
           2 package com.java.kudy_Say;
           3 
           4 import java.io.FileNotFoundException;
           5 import java.io.FileOutputStream;
           6 import java.io.IOException;
           7 import java.io.ObjectOutputStream;
           8 import java.io.Serializable;
           9 import java.util.ArrayList;
          10 import java.io.ObjectInputStream;
          11 import java.io.FileInputStream;
          12 /*
          13     序列化與反序列化的過(guò)程
          14 */
          15 public class Test {
          16     
          17     public static void main(String[]args) throws FileNotFoundException, IOException,ClassNotFoundException
          18     {
          19             
          20 /*        Student s1 = new Student("張三",18);
          21         Student s2 = new Student("王五",19);
          22         Student s3 = new Student("李四",20);
          23         Student s4 = new Student("大毛",21);
          24         ObjectOutputStream oos = 
          25                 new ObjectOutputStream(new FileOutputStream("f:/a.txt"));
          26         ArrayList<Student> al = new ArrayList<Student>();
          27         al.add(s1);
          28         al.add(s2);
          29         al.add(s3);
          30         al.add(s4);
          31         oos.writeObject(al);
          32         oos.close();//關(guān)閉流
          33         //首先我們把內(nèi)容放到一個(gè)集合里面去
          34 */
          35         ObjectInputStream ois = 
          36                 new ObjectInputStream(new FileInputStream("f:/a.txt"));
          37         ArrayList<Student> al = (ArrayList<Student>)ois.readObject();
          38         for(Student s :al)
          39             System.out.println(s);
          40         ois.close();
          41     
          42     
          43         
          44     }
          45 }
          46 
          47 //必須要實(shí)現(xiàn)一個(gè)類
          48 class Student implements Serializable
          49 {
          50     private String name;
          51     private int age;
          52     Student(){}
          53     Student(String name,int age)
          54     {
          55         this.name = name;
          56         this.age = age;
          57     }
          58     public String toString()
          59     {
          60         return name+"@"+age;
          61     }
          62 }

           

          posted @ 2012-08-18 19:51 、小細(xì) 閱讀(269) | 評(píng)論 (0)編輯 收藏

          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

               Abstract Window Toolkit(AWT)抽象窗口工具集
            一個(gè)用本地圖形組件實(shí)現(xiàn)的圖形接口。這些組件提供了大部分的本地組件。這個(gè)接口正逐步被Swing組件所替代,參見(jiàn)Swing Set.

            Abstract 抽象的
            一個(gè)Java語(yǔ)言中的關(guān)鍵字,用在類的聲明中來(lái)指明一個(gè)類是不能被實(shí)例化的,但是可以被其它類繼承。一個(gè)抽象類可以使用抽象方法,抽象方法不需要實(shí)現(xiàn),但是需要在子類中被實(shí)現(xiàn)

            abstract class 抽象類
            含有一個(gè)或多個(gè)抽象方法的類,不能被實(shí)例化。定義抽象類的目的是使其他類能夠從它繼承,并且通過(guò)實(shí)現(xiàn)抽象方法使這個(gè)類具體化

            abstract method 抽象方法
            沒(méi)有實(shí)現(xiàn)的方法

            access control 訪問(wèn)控制
            控制用戶或程序訪問(wèn)資源的權(quán)限,保證資源的一致性的方法

            API 應(yīng)用程序接口
            Application Programming Interface的縮寫(xiě)。指導(dǎo)應(yīng)用程序開(kāi)發(fā)人員訪問(wèn)類方法和類狀態(tài)的說(shuō)明

            applet 小應(yīng)用程序
            通常在Web瀏覽器中執(zhí)行的一個(gè)Java組件,同樣可以在其他的支持applet模型的應(yīng)用程序或設(shè)備中執(zhí)行
           
            Applet container applet容器
            一個(gè)支持applet的容器

            argument 參數(shù)
            在函數(shù)調(diào)用中使用的數(shù)據(jù)項(xiàng)。一個(gè)參數(shù)可以是常量、變量或表達(dá)式
           
            array 數(shù)組
            相同類型的數(shù)據(jù)的集合,每一個(gè)數(shù)據(jù)項(xiàng)通過(guò)一個(gè)整數(shù)唯一標(biāo)識(shí)

            ASCII
            American Standard Code for Information Interchange的縮寫(xiě)。一個(gè)標(biāo)準(zhǔn)的7位字符編碼,參見(jiàn)Unicode

           

                 Bean
            一個(gè)可以重用的組件,可以通過(guò)組合Bean來(lái)創(chuàng)建應(yīng)用程序

            bean-managed persistence
            當(dāng)一個(gè)實(shí)體bean實(shí)例和資源管理器交換數(shù)據(jù)的時(shí)候,由實(shí)體bean實(shí)例來(lái)管理

            bean-managed transaction
            Enterprise Bean定義事務(wù)的界限的時(shí)候

            binary operator 二值操作符
            有兩個(gè)操作數(shù)的操作符

            bit 位
            計(jì)算機(jī)中表示信息的最小單位,只有0和1兩個(gè)值

            bitwise operator 位操作符
            并行的對(duì)一個(gè)或多個(gè)操作數(shù)的位進(jìn)行單獨(dú)的操作。比如二進(jìn)制邏輯運(yùn)算符(&,|,^),二進(jìn)制移位符(<<,>>,>>>)和求補(bǔ)運(yùn)算符(~)

            block 塊
            在Java語(yǔ)言中,任何被大括號(hào)括起來(lái)的程序段。

            boolean 邏輯型
            指一個(gè)表達(dá)式或一個(gè)變量只能有true或者false兩種類型。Java語(yǔ)言提供了boolean類型以及true和false兩個(gè)常量

            break
            一個(gè)Java的關(guān)鍵字,用來(lái)改變程序執(zhí)行流程,立刻從當(dāng)前語(yǔ)句的下一句開(kāi)始執(zhí)行從。如果后面跟有一個(gè)標(biāo)簽,則從標(biāo)簽對(duì)應(yīng)的地方開(kāi)始執(zhí)行

            business logic 商業(yè)邏輯
            實(shí)現(xiàn)某個(gè)應(yīng)用功能的代碼。在Enterprise JavaBeans模型中,這種邏輯是由某個(gè)Enterprise Javabean的方法實(shí)現(xiàn)的。

            business method 商業(yè)方法
            某個(gè)Enterprise Javabean的方法用來(lái)實(shí)現(xiàn)商業(yè)邏輯或者某個(gè)應(yīng)用的規(guī)則。

            Byte 字節(jié)
            順序的8位bit,Java語(yǔ)言中有對(duì)應(yīng)的byte類型

            bytecode 字節(jié)碼
            由Java編譯器生成的跟機(jī)器相關(guān)代碼,由Java解釋器執(zhí)行

            callback methods 回調(diào)方法
            組件的方法,由存放該組件的容器來(lái)調(diào)用的,用來(lái)在組件生命周期中通知它重要的事件

            case
            Java語(yǔ)言的關(guān)鍵字,用來(lái)定義一組分支選擇,如果某個(gè)值和switch中給出的值一樣,就會(huì)從該分支開(kāi)始執(zhí)行。

            casting
            強(qiáng)制類型轉(zhuǎn)化換
           
            catch
            Java的一個(gè)關(guān)鍵字,用來(lái)聲明當(dāng)try語(yǔ)句塊中發(fā)生運(yùn)行時(shí)錯(cuò)誤或非運(yùn)行時(shí)異常時(shí)運(yùn)行的一個(gè)塊。

            char
            Java語(yǔ)言的一個(gè)關(guān)鍵字,用來(lái)定義一個(gè)字符類型

            class 類
            在Java語(yǔ)言中定義一個(gè)特定類的實(shí)現(xiàn)。一個(gè)類的定義包含成員變量,成員方法,還有這個(gè)類實(shí)現(xiàn)的接口,以及這個(gè)類的父類。如果沒(méi)有顯式指明父類,那么它的父類會(huì)隱式的被認(rèn)為是Object。

            class method 類方法
            不需要引用特定對(duì)象就可以使用的方法,類方法的作用域是全局的,而不是某個(gè)特定的類實(shí)例,也被稱作靜態(tài)方法static method,參看instance method

            classpath 類路徑
            Classpath是一個(gè)環(huán)境變量,用來(lái)向Java虛擬機(jī)和基于Java的應(yīng)用程序指明系統(tǒng)類庫(kù)和用戶類庫(kù)的位置(比如,工具包在JDK1.1.X/bin目錄中)

            class variable 類變量
            一個(gè)和整個(gè)類相關(guān)的數(shù)據(jù)項(xiàng),而不是只和某個(gè)實(shí)例,類變量在類定義中定義,也被稱作static field,參看instance variable.

            codebase
            和<APPLET>標(biāo)簽中的Code屬性配合給出找到applet類的完整路徑:Code給出文件的名字,Codebase指出包含該文件的URL路徑

            comment 注釋
            在編程語(yǔ)言中被編譯器忽略的解釋性語(yǔ)句。在Java中注釋使用//或/*…*/定界

            compiler 編譯器
            一個(gè)把源代碼翻譯成機(jī)器可以執(zhí)行的代碼的程序。Java編譯器把Java源碼翻譯成Java虛擬機(jī)能夠識(shí)別的字節(jié)碼,參見(jiàn)interpreter

            component 組件
            一種被容器所支持的應(yīng)用級(jí)的軟件單元。組件在使用的時(shí)候是可配置的。J2EE平臺(tái)定義了四種類型的組件:Enterprise Bean,Web components,applets和application client。

            component contract
            組件和它的容器之間的規(guī)范。這種規(guī)范包括:組件的生命周期的管理,一個(gè)上下文的接口,組件可以通過(guò)它獲得容器的信息和服務(wù),以及每個(gè)容器必須提供的一系列服務(wù)。

            component environment
            應(yīng)用程序組件提供商定義的一個(gè)集合,使組件在J2EE組件的名字空間中可見(jiàn)。環(huán)境選項(xiàng)由組件的使用描述符指明。每一個(gè)組件命名并訪問(wèn)它的環(huán)境配置值通過(guò)使用java:comp/evn JNDI上下文。這些值可以是組件所依賴的一個(gè)對(duì)象,比如JDBC DataSouce,或者一個(gè)簡(jiǎn)單值,比如一個(gè)稅率。

            Connector 連接器
            一個(gè)標(biāo)準(zhǔn)的擴(kuò)充機(jī)制使容器可以提供到EISs的連接。一個(gè)連接器連接到特定的EIS,由資源適配器和針對(duì)EIS的應(yīng)用開(kāi)發(fā)工具組成。一個(gè)資源適配器插入到一個(gè)容器通過(guò)在連接器體系結(jié)構(gòu)中定義的系統(tǒng)級(jí)的聯(lián)系。

            connector architecture
            一個(gè)集成J2EE和EISs的體系結(jié)構(gòu)。這個(gè)體系結(jié)構(gòu)中有兩大部分:一個(gè)EIS廠商提供的資源適配器和一個(gè)允許這個(gè)適配器插入的J2EE服務(wù)器。這個(gè)體系結(jié)構(gòu)定義了一系列資源適配器為了能插入J2EE服務(wù)器而必須支持的規(guī)范,比如事務(wù),安全,資源管理。

            Constructor 構(gòu)造函數(shù)
            一個(gè)創(chuàng)建對(duì)象的偽方法。在Java語(yǔ)言中構(gòu)造函數(shù)是和類同名的成員函數(shù)。構(gòu)造函數(shù)一般用在new操作符之后。

            Container 容器
            一個(gè)為組件提供生命周期管理,安全,配置,和運(yùn)行時(shí)服務(wù)的實(shí)體。每一個(gè)類型的容器(EJB, Web, JSP, servlet, applet, 和application client)也會(huì)提供各自組件相關(guān)的服務(wù)

            container-managed persistence
            當(dāng)一個(gè)實(shí)體bean實(shí)例和資源管理器交換數(shù)據(jù)的時(shí)候,由資源管理器來(lái)管理

            container-managed transaction
            當(dāng)一個(gè)EJB容器定義一個(gè)事務(wù)的邊界的時(shí)候,一個(gè)Bean必須使用這種事務(wù)類型

            continue
            一個(gè)Java的關(guān)鍵字,用來(lái)打斷當(dāng)前循環(huán)過(guò)程,從當(dāng)前循環(huán)的最后重新開(kāi)始執(zhí)行,如果后面跟有一個(gè)標(biāo)簽,則從標(biāo)簽對(duì)應(yīng)的地方開(kāi)始執(zhí)行。

            core class 核心類
            一個(gè)Java平臺(tái)上的標(biāo)準(zhǔn)的公共類或接口。Java平臺(tái)的核心類,至少在所有的能支持Java的操作系統(tǒng)的平臺(tái)上都是可用的。一個(gè)完全用Java編寫(xiě)的程序只需要Java核心類就可以運(yùn)行了,這意味著它能夠在任何地方運(yùn)行,參看100% Pure Java(TM).

            Core Packages 核心包
            在任何Java平臺(tái)和任何兼容平臺(tái)上必須被支持的API的集合。

            Declaration 聲明
            一個(gè)在標(biāo)識(shí)符和屬性之間建立聯(lián)系的語(yǔ)句,不需要必要的存儲(chǔ)分配或具體實(shí)現(xiàn)。參見(jiàn)definition

            default 缺省的
            一個(gè)Java語(yǔ)言的關(guān)鍵字,作為在switch語(yǔ)句中的所有case之后的可選項(xiàng),如果所有的case條件都沒(méi)有被滿足,就會(huì)執(zhí)行default語(yǔ)句
           
            delegation 授權(quán)
            一種某個(gè)負(fù)責(zé)人批準(zhǔn)另外一個(gè)負(fù)責(zé)人在一定限制下使用它的身份或特權(quán)的行為

            deprecation
            指不再推薦的類,接口,構(gòu)造函數(shù),方法或成員變量,可能在以后的版本中會(huì)消失

            derived from
            類X "derived from" 類Y就是指類X是從類Y繼承過(guò)來(lái)的,參見(jiàn)subclass, superclass

            distributed 分布的
            在多于一個(gè)的地址空間內(nèi)運(yùn)行
            
            distributed application 分布式應(yīng)用
            由不同的運(yùn)行于分離的運(yùn)行環(huán)境下的組件構(gòu)成的應(yīng)用程序,通常是在不同的平臺(tái)上通過(guò)網(wǎng)絡(luò)互聯(lián)起來(lái)。典型的分布式應(yīng)用是二端(Client/Server),三端(client/middleware/server)和n端(client/multiple middleware/multiple server)

            do
            一個(gè)Java語(yǔ)言的關(guān)鍵字,用來(lái)聲明一個(gè)循環(huán),這個(gè)循環(huán)的結(jié)束條件可以通過(guò)while關(guān)鍵字設(shè)置

            DOM
            Document Object Model的縮寫(xiě)。一棵由擁有包含遍歷這棵樹(shù)并且生成相應(yīng)XML文檔的接口的對(duì)象構(gòu)成的樹(shù),符合W3C的規(guī)范

            double
            一個(gè)Java語(yǔ)言的關(guān)鍵字,用來(lái)定義一個(gè)double類型的變量

            EJB container EJB容器
            一個(gè)實(shí)現(xiàn)了J2EE體系結(jié)構(gòu)中EJB組件規(guī)范的容器。這個(gè)規(guī)范指定了一個(gè)Enterprise bean的運(yùn)行時(shí)環(huán)境,包括安全,一致性,生命周期,事務(wù),配置,和其他的服務(wù)。一個(gè)EJB容器可以由EJB或者J2EE服務(wù)器提供。

            EJB Container Provider EJB容器提供商
            提供EJB容器的廠商

            EJB context EJB上下文
            一個(gè)允許Enterprise Bean使用容器提供的服務(wù)和獲得客戶-請(qǐng)求(client-invoke)方法調(diào)用者信息的對(duì)象

            EJB home object
            一個(gè)提供關(guān)于Enterprise Bean生命周期操作(創(chuàng)建,刪除,查找)的對(duì)象。這個(gè)對(duì)象的類型是由容器的配置工具產(chǎn)生的。EJB home object實(shí)現(xiàn)了Enterpeise Bean的home接口。客戶通過(guò)引用一個(gè)EJB home object來(lái)進(jìn)行生命周期的操作??蛻羰褂肑NDI來(lái)定位一個(gè)EJB home object

            EJB .jar file
            一個(gè)包含EJB模塊的JAR文件

            EJB module
            一個(gè)由一個(gè)或多個(gè)Enterprise bean和一個(gè)EJB配置描述符組成的軟件單元。

            EJB object
            實(shí)現(xiàn)了enterprise bean的remote接口的對(duì)象??蛻舨荒苤苯右靡粋€(gè)enterprise bean的實(shí)例;客戶總是引用一個(gè)EJB object。EJB object的類型是由容器的配置工具生成的。

            EJB server
            為EJB容器提供服務(wù)的軟件。比如,典型的,一個(gè)EJB容器總是依靠一個(gè)作為EJB Server一部分的事務(wù)管理器來(lái)進(jìn)行雙向的確認(rèn)在所有參與的資源管理器之間。J2EE體系結(jié)構(gòu)假設(shè)EJB容器和EJB Server是由同一廠商提供的,所以沒(méi)有制定這兩個(gè)實(shí)體之間的規(guī)范。一個(gè)EJB Server可以包含一個(gè)或多個(gè)EJB Container

            EJB Server Provider
            提供EJB Server的廠商

            EIS resource
            一個(gè)為客戶提供符合EIS規(guī)范的功能的實(shí)體。例子有:一條或多條數(shù)據(jù)庫(kù)中的記錄,在一個(gè)ERP系統(tǒng)中的一個(gè)business object,在一個(gè)事務(wù)處理系統(tǒng)中的一個(gè)事務(wù)程序

            else
            一個(gè)Java語(yǔ)言的關(guān)鍵字,如果if語(yǔ)句的條件不滿足就會(huì)執(zhí)行該語(yǔ)句。

            encapsulation 封裝
            一個(gè)模塊中的內(nèi)部屬性,因?yàn)閷?duì)象會(huì)封裝數(shù)據(jù)和實(shí)現(xiàn),使用者可以把對(duì)象看作一個(gè)能提供服務(wù)的黑匣子。實(shí)例變量可以被添加,刪除,或改變。只要這個(gè)對(duì)象所提供的服務(wù)是不變的,使用這個(gè)對(duì)象的代碼就可以繼續(xù)使用而不需要修改,參見(jiàn)instance variable, instance method.

            enterprise bean
            實(shí)現(xiàn)商業(yè)任務(wù)和商業(yè)實(shí)體的組件;或者是一個(gè)entity bean,或者是一個(gè)session bean

            Enterprise Information System (EIS)
            一個(gè)包含企業(yè)已經(jīng)存在的獲取企業(yè)級(jí)信息的系統(tǒng)的應(yīng)用程序,這些應(yīng)用程序?yàn)槠髽I(yè)提供了一個(gè)信息結(jié)構(gòu)。一個(gè)EIS系統(tǒng)提供很好定義的服務(wù)的集合給它的客戶。這些服務(wù)在客戶看來(lái)是本地的和/或者遠(yuǎn)程的接口。EIS的例子有:一個(gè)ERP系統(tǒng),一個(gè)事務(wù)處理系統(tǒng)的主框架,一個(gè)遺留的數(shù)據(jù)庫(kù)系統(tǒng)。

            Enterprise Bean Provider Enterprise Bean提供商
            生產(chǎn)enterprise bean,remote和home接口,配置描述符文件,并把這些打包入JAR文件的應(yīng)用程序開(kāi)發(fā)人員

            Enterprise JavaBeans(TM) (EJB)
            一個(gè)用于開(kāi)發(fā)和使用面向?qū)ο蟮模植际降模髽I(yè)級(jí)應(yīng)用程序的組件體系結(jié)構(gòu)。使用Enterprise JavaBeans體系結(jié)構(gòu)編寫(xiě)的軟件是可擴(kuò)展的,面向事務(wù)的,多用戶的,安全的。

            entity bean
            一個(gè)代表由數(shù)據(jù)庫(kù)維護(hù)的持久數(shù)據(jù)的enterprise bean。一個(gè)entity bean可以管理它自己的持久性,或者把這個(gè)功能授權(quán)給它的容器。一個(gè)  entity bean由一個(gè)主鍵來(lái)標(biāo)識(shí)。如果存放entity bean的容器崩潰了,那么這個(gè)entity bean,它的主鍵,以及任何遠(yuǎn)程的引用都能從崩潰中幸存下來(lái)。

            ebXML
            ebXML建立在XML(Extensive Markup Language)之上,目的是提供一系列模塊化的規(guī)范,使任何地方的任何規(guī)模的企業(yè)都能夠通過(guò)Internet指導(dǎo)商業(yè)活動(dòng)。它提供了公司和組織一個(gè)標(biāo)準(zhǔn)的方法來(lái)交換數(shù)據(jù),指導(dǎo)商業(yè)關(guān)系,交流數(shù)據(jù)通過(guò)公共的形式,定義并注冊(cè)商業(yè)過(guò)程

            exception 異常
            一個(gè)在程序執(zhí)行過(guò)程中阻止程序正常執(zhí)行的事件,通常是一個(gè)錯(cuò)誤。Java語(yǔ)言通過(guò)try,catch和throw關(guān)鍵字支持異常的處理,參見(jiàn)exception
          handler

            exception handler
            一段處理特定類型的異常的代碼。如果程序能夠從異常中恢復(fù)過(guò)來(lái),那么在處理完異常之后程序可以繼續(xù)執(zhí)行。

            executable content
            在HTML文件中執(zhí)行的應(yīng)用程序,參見(jiàn)applet。

            extends 繼承
            類X 通過(guò)extend 類Y來(lái)添加功能,或者添加變量,或者添加方法,或者覆蓋類Y的方法。一個(gè)接口extends另外一個(gè)接口來(lái)添加方法。類X稱為類Y的一個(gè)子類,參見(jiàn)derived from

            field 域
            一個(gè)類的數(shù)據(jù)成員。除非顯式指明,否則一個(gè)field不是static的

            final
            一個(gè)Java語(yǔ)言的關(guān)鍵字。你只能定義一個(gè)實(shí)體一次,以后不能改變它或繼承它。更嚴(yán)格的講:一個(gè)final修飾的類不能被子類化,一個(gè)final修飾的方法不能被重寫(xiě),一個(gè)final修飾的變量不能改變其初始值。

            finally
            一個(gè)Java語(yǔ)言的關(guān)鍵字,用來(lái)執(zhí)行一段代碼不管在前面定義的try語(yǔ)句中是否有異?;蜻\(yùn)行時(shí)錯(cuò)誤發(fā)生。

            float
            一個(gè)Java語(yǔ)言的關(guān)鍵字,用來(lái)定義一個(gè)浮點(diǎn)數(shù)變量

            for
            一個(gè)Java語(yǔ)言的關(guān)鍵字,用來(lái)聲明一個(gè)循環(huán)。程序員可以指定要循環(huán)的語(yǔ)句,推出條件和初始化變量。

            FTP
            基本的Internet文件傳輸協(xié)議(File Transfer Protocol)。FTP是基于TCP/IP協(xié)議的,它允許在主機(jī)之間通過(guò)Internet傳送文件。參見(jiàn)TCP/IP

            formal parameter list
            在一個(gè)方法的定以中指定的參數(shù)。參見(jiàn)actual parameter list

            handle
            一個(gè)標(biāo)識(shí)enterprise bean的對(duì)象??蛻艨梢源谢痟andle,以后從串行化中恢復(fù)handle來(lái)得到一個(gè)對(duì)enterprise bean的引用

            hexadecimal 十六進(jìn)制的
            使用16作為基的計(jì)數(shù)系統(tǒng)。記號(hào)0-9和a-f(或者A-F)代表了數(shù)字0到15。在Java中16進(jìn)制數(shù)必須帶有0x前綴。參見(jiàn)octal

            hierarchy
            關(guān)系的一種分類,除了最高層的對(duì)象(通常稱作root),每一個(gè)對(duì)象有一個(gè)專門的上層對(duì)象。每個(gè)對(duì)象可以由一個(gè)或多個(gè)下層對(duì)象在層次關(guān)系中。在Java中,root對(duì)象是Object

            home interface
            enterprise bean兩個(gè)接口中的一個(gè)。home接口定義了0個(gè)或多個(gè)方法來(lái)創(chuàng)建和刪除一個(gè)enterprise bean。對(duì)于session bean,home接口定義了創(chuàng)建和刪除方法,然而對(duì)于entity bean,home接口定義了創(chuàng)建,查找和刪除的方法。

            home handle
            一個(gè)對(duì)象,能夠用來(lái)得到對(duì)一個(gè)home接口的引用。一個(gè)home handle能夠被串行化寫(xiě)入持久存儲(chǔ)器中,通過(guò)反串行化來(lái)得到這個(gè)引用。
           
            HTML
            HyperText Markup Language的縮寫(xiě)。這是一個(gè)文件格式,基于SGML,為了超文本在Internet上的傳輸。它十分簡(jiǎn)單,允許嵌入圖片,聲音,視頻流,表單域和簡(jiǎn)單的文本格式。對(duì)其他對(duì)象的引用被嵌入到URLs中。

            HTTP
            HyperText Transfer Protocol的縮寫(xiě)。Internet的協(xié)議,基于TCP/IP,用來(lái)獲得遠(yuǎn)程主機(jī)上的超文本。參見(jiàn)TCP/IP。

            HTTPS
            建立在SSL協(xié)議之上的超文本傳輸協(xié)議(HTTP)

            IDL
            接口定義語(yǔ)言(Interface Definition Language)的縮寫(xiě),使用Java(TM)編寫(xiě)的API提供基于標(biāo)準(zhǔn)的和CORBA的交互性和連接性。

            identifier 標(biāo)識(shí)符
            在Java程序中一個(gè)對(duì)象的名稱

            IIOP
            Internet Inter-ORB Protocol的縮寫(xiě)。一個(gè)用來(lái)在CORBA對(duì)象請(qǐng)求代理之間交流的協(xié)議。

            if
            Java編程語(yǔ)言的一個(gè)關(guān)鍵字,用來(lái)生成一個(gè)條件測(cè)試,如果條件為真,就執(zhí)行if下的語(yǔ)句。

            implements
            Java(TM)編程語(yǔ)言的一個(gè)關(guān)鍵字,在類的聲明中是可選的,用來(lái)指明當(dāng)前類實(shí)現(xiàn)的接口。

            import
            Java(TM)編程語(yǔ)言的一個(gè)關(guān)鍵字,在源文件的開(kāi)始部分指明后面將要引用的一個(gè)類或整個(gè)包,這樣就不必在使用的時(shí)候加上包的名字。

            inheritance 繼承
            一個(gè)概念:一個(gè)類型會(huì)自動(dòng)包含其父類型(supertypes)的變量和方法。參見(jiàn)superclass, subclass。

            initialization parameter
            初始化Servlet上下文的參數(shù)。

            instance 實(shí)例
            一個(gè)特定類型的對(duì)象。在Java(TM)語(yǔ)言中,一個(gè)對(duì)象是由new操作符創(chuàng)建的。
            
            instance method 實(shí)例方法
            任何跟一個(gè)類的實(shí)例相關(guān)的方法,也稱作method。參見(jiàn)class method。

            instance variable 實(shí)例變量
            任何和一個(gè)特定對(duì)象相關(guān)的數(shù)據(jù)項(xiàng)。每一個(gè)類的實(shí)例有一份類定義中聲明的實(shí)例變量的拷貝,也稱作field。參見(jiàn)class variable。

            instanceof
            一個(gè)二操作數(shù)的Java(TM)語(yǔ)言關(guān)鍵字,用來(lái)測(cè)試第一個(gè)參數(shù)的運(yùn)行時(shí)類型是否和第二個(gè)參數(shù)兼容。

            int
            Java(TM)的一個(gè)關(guān)鍵字,用來(lái)定義一個(gè)整形變量

            interface
            Java(TM)的一個(gè)關(guān)鍵字,用來(lái)定義一系列的方法和常量。它可以被類實(shí)現(xiàn),通過(guò)implements關(guān)鍵字。

            Internet
            一個(gè)由全球各個(gè)組織,各個(gè)國(guó)家的數(shù)百萬(wàn)的主機(jī)組成的巨大的一個(gè)網(wǎng)絡(luò)。它是由很多小網(wǎng)絡(luò)物理的連接在一起而成的,數(shù)據(jù)通過(guò)公共的一組協(xié)議傳輸。

            IP
            Internet Protocol的縮寫(xiě),Internet的基本協(xié)議,它提供不可靠的主機(jī)間的數(shù)據(jù)包的傳送。它不保證是否數(shù)據(jù)包能夠正確傳送,需要多久的時(shí)間來(lái)傳送,或者當(dāng)有多個(gè)包時(shí)是否按順序到達(dá)。建立在該協(xié)議之上的協(xié)議提供連接和可靠性的概念。參見(jiàn) TCP/IP.

            interpreter 解釋器
            一個(gè)可選解碼并且執(zhí)行代碼中的每一句語(yǔ)句的模塊。Java(TM)解釋器解碼并執(zhí)行為符合Java虛擬機(jī)規(guī)范的字節(jié)碼。參見(jiàn)compiler, runtime system。

            ISV
            Independent Software Vendor的縮寫(xiě)

          本篇文章來(lái)自Java中文網(wǎng):http://javaweb.cc/other/english/2212.shtml

          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

                 J2EE application
            任何可配置的J2EE功能單元??赡苁怯梢粋€(gè)或多個(gè)軟件模塊與一個(gè)J2EE應(yīng)用程序配置描述符打包成.ear文件。J2EE應(yīng)用程序通常設(shè)計(jì)成在多機(jī)環(huán)境下運(yùn)行的分布式應(yīng)用。
           
            J2EE product
            一個(gè)遵循J2EE平臺(tái)規(guī)范的實(shí)現(xiàn)。

            J2EE Product Provider
            提供J2EE產(chǎn)品的生產(chǎn)商。

            J2EE server
            J2EE Product的運(yùn)行時(shí)部分。一個(gè)J2EE提供Web和/或EJB容器。

            JAE
            Java(TM) Application Environment的縮寫(xiě)。Java Development Kit (JDK(TM))的源代碼。

            JAR Files (.jar)
            Java ARchive的縮寫(xiě)。一種把許多文件聚合到一個(gè)文件的一種文件格式。

            JAR file format
            JAR是一種把許多文件聚合到一個(gè)文件的平臺(tái)無(wú)關(guān)一種文件格式。許多個(gè)用Java編寫(xiě)的applet以及它們所需要的組件(.class文件,圖片,聲音和其他資源文件)能夠被打包到一個(gè)JAR文件中,以便以后在單獨(dú)一個(gè)HTTP請(qǐng)求中就能夠下載到客戶端。它同樣支持文件壓縮和數(shù)字簽名。

            Java(TM)
            是Sun公司的商標(biāo),標(biāo)識(shí)了一系列在獨(dú)立的和網(wǎng)絡(luò)化的環(huán)境中創(chuàng)建并安全的運(yùn)行程序的技術(shù)。

            Java Application Environment (JAE)
            Java Development Kit (JDK(TM))的源代碼。

            Java(TM) 2 Platform, Standard Edition (J2SE platform)
            核心的Java技術(shù)平臺(tái)

            Java(TM) 2 Platform, Enterprise Edition (J2EE platform)
            一個(gè)用來(lái)開(kāi)發(fā)和配置企業(yè)應(yīng)用程序的環(huán)境。J2EE平臺(tái)由一系列的服務(wù),應(yīng)用程序接口(APIs)和提供開(kāi)發(fā)多級(jí)的,基于Web的功能的協(xié)議組成。

            Java(TM) 2 SDK, Enterprise Edition
            Sun公司的對(duì)J2EE平臺(tái)的一個(gè)實(shí)現(xiàn)。這個(gè)實(shí)現(xiàn)提供了一個(gè)可操作的J2EE平臺(tái)的定義。

            JavaBeans(TM)
            一個(gè)可移植的,平臺(tái)無(wú)關(guān)的,可重用的組件模型。

            Java Blend(TM)
            一個(gè)通過(guò)映射數(shù)據(jù)庫(kù)數(shù)據(jù)到Java編程環(huán)境中的對(duì)象(Object)和映射對(duì)象到數(shù)據(jù)庫(kù)使程序員能夠簡(jiǎn)化數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)的產(chǎn)品。

            Java Card(TM) API
            一個(gè)和ISO 7816-4兼容的應(yīng)用開(kāi)發(fā)環(huán)境,集中在smart card上。

            JavaCheck(TM)
            一個(gè)工具,用來(lái)檢查一個(gè)應(yīng)用程序或一個(gè)applet是否符合某個(gè)規(guī)范。

            Java(TM) Compatibility Kit (JCK)
            一個(gè)測(cè)試包,一組工具,和其它的一些需求,用來(lái)檢查一個(gè)實(shí)現(xiàn)是否和Java平臺(tái)規(guī)范和軟件參考實(shí)現(xiàn)兼容。

            Java Database Connectivity (JDBC(TM))
            一個(gè)Java平臺(tái)和大量數(shù)據(jù)庫(kù)平臺(tái)之間互聯(lián)的平臺(tái)無(wú)關(guān)的工業(yè)標(biāo)準(zhǔn)。JDBC(TM)提供了調(diào)用級(jí)的API來(lái)操作支持SQL語(yǔ)言的數(shù)據(jù)庫(kù)。

            Java Developer Connection(SM)
            一個(gè)為個(gè)人開(kāi)發(fā)者設(shè)計(jì)的服務(wù),提供在線訓(xùn)練,產(chǎn)品打折,專題文章,錯(cuò)誤信息和一些早期的版本兼容性信息。

            Java Development Kit (JDK(TM))
            一個(gè)軟件開(kāi)發(fā)平臺(tái),支持使用Java語(yǔ)言編寫(xiě)Applet或應(yīng)用程序。

            Java(TM) Enterprise API
            這個(gè)API使編寫(xiě)大型的,可能在一個(gè)組織中或Internet上與其它應(yīng)用程序共享多媒體數(shù)據(jù)的商業(yè)或數(shù)據(jù)庫(kù)應(yīng)用程序變得簡(jiǎn)單。在Java(TM)
          Enterprise API家族中已經(jīng)有四個(gè)APIs被設(shè)計(jì)出來(lái)。

            Java(TM) Foundation Classes (JFC)
            一個(gè)擴(kuò)展,把圖形用戶接口加入到抽象窗口工具集(AWT)中。

            Java(TM) IDL
            一個(gè)提供J2EE平臺(tái)與CORBA交互能力和互聯(lián)能力的技術(shù)。這些兼容性使J2EE應(yīng)用程序能夠通過(guò)OMG IDL和IIOP調(diào)用遠(yuǎn)程網(wǎng)絡(luò)上的操作。

            Java(TM) Interface Definition Language (IDL)
            用Java編寫(xiě)的APIs,提供標(biāo)準(zhǔn)化的與CORBA(Common Object Request Broker Architecture)的交互能力和互聯(lián)能力。

            Java(TM) Message Service (JMS)
            使用企業(yè)級(jí)消息系統(tǒng)的API,比如IBM MQ Series,TIBCO Reanezvous等。

            Java Naming and Directory Interface(TM) (JNDI)
            一組用來(lái)提供多重命名和目錄服務(wù)的APIs的集合。

            JavaOS(TM)
            一個(gè)基于Java的操作系統(tǒng),對(duì)各種計(jì)算和用戶平臺(tái)進(jìn)行了優(yōu)化。JavaOS(TM)操作環(huán)境提供了一個(gè)運(yùn)行時(shí)規(guī)范,使Java程序能夠直接運(yùn)行在硬件平臺(tái)之上而不需要宿主操作系統(tǒng)。

            Java(TM) Platform
            由Java編程語(yǔ)言,一組APIs,類庫(kù),其它在開(kāi)發(fā),編譯,錯(cuò)誤檢查中要用到的程序,和一個(gè)能夠裝載并執(zhí)行class文件的Java虛擬機(jī)組成。

            除此之外,Java平臺(tái)的目標(biāo)是提供一組一致的兼容的實(shí)現(xiàn)。符合兼容性規(guī)范的實(shí)現(xiàn)能夠得到Sun公司的兼容性標(biāo)志。

            Java 2是當(dāng)前的一代Java平臺(tái)。
           


            Jini(TM) Technology
            一組Java APIs,可能是任何一個(gè)Java 2平臺(tái)的可選包。Jini API使網(wǎng)絡(luò)設(shè)備和服務(wù)變得透明,不再需要用戶去管理系統(tǒng)或網(wǎng)絡(luò)使其正常工作。
            Jini在目前是任何一個(gè)Java平臺(tái)版本的一個(gè)可選軟件包。

            JNDI
            Java Naming and Directory Interface(TM)的縮寫(xiě),一組用來(lái)提供重命名和目錄服務(wù)的APIs的集合。

            JPEG
            Joint Photographic Experts Group的縮寫(xiě)。 由這個(gè)小組建立的一個(gè)圖象文件壓縮標(biāo)準(zhǔn)。它通過(guò)幾乎察覺(jué)不出的圖象質(zhì)量的損失來(lái)實(shí)現(xiàn)了巨大的圖象壓縮比。

            JRE
            Java(TM) runtime environment的縮寫(xiě)。一個(gè)Java Development Kit (JDK(TM))的子集,適合最終用戶和希望重新發(fā)布運(yùn)行環(huán)境的開(kāi)發(fā)人員。Java runtime environment由Java虛擬機(jī),Java核心類和支持文件組成。

            Just-in-time (JIT) Compiler
            一個(gè)在Java運(yùn)行時(shí),把所有字節(jié)碼轉(zhuǎn)換為本地代碼的編譯器。這樣就會(huì)加速Java的執(zhí)行,相對(duì)Java虛擬機(jī)的解釋執(zhí)行。

            JVM
            參見(jiàn): Java(TM) Virtual Machine (JVM)


          本篇文章來(lái)自Java中文網(wǎng):http://javaweb.cc/other/english/2213.shtml


          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

                 lexical
            關(guān)于如何把源代碼翻譯成各種編譯器能夠識(shí)別的記號(hào)

            literal
            整數(shù),浮點(diǎn)數(shù),字符的基本表示方法。比如,字面上3.0是一個(gè)雙精度浮點(diǎn)數(shù),"a"是一個(gè)字符。

            local variable
            一個(gè)塊中可見(jiàn)的數(shù)據(jù)項(xiàng),但是對(duì)塊外面的代碼是不可見(jiàn)的。比如,任何在一個(gè)方法中聲明的變量是一個(gè)局部變量,不能在方法外面被使用。
           
            long
            Java語(yǔ)言的一個(gè)關(guān)鍵字,用來(lái)定義一個(gè)long類型的變量。
              

            member
            類的一個(gè)域或者方法,除非顯式指明,否則一個(gè)member不是靜態(tài)的。

            method
            類中定義的一個(gè)方法,參見(jiàn)instance method, class method,除非顯式指明,否則一個(gè)method不是靜態(tài)的。

            module
            一個(gè)軟件單位,由一個(gè)或多個(gè)相同容器類型的J2EE組件和一個(gè)相同類型的配置描述符組成。有三種module類型:EJB,Web,和Application Client。模塊可以被配置成獨(dú)立的單元或嵌入到應(yīng)用程序中。

            Mosaic
            一個(gè)提供簡(jiǎn)單圖形界面,使用戶能夠方便的訪問(wèn)Internet上的數(shù)據(jù)的程序。這些數(shù)據(jù)可能是簡(jiǎn)單文件,或者超文本文檔。Mosaic是由NCSA的一個(gè)小組編寫(xiě)的。

            multithreaded
            描述一個(gè)程序,它的代碼被設(shè)計(jì)成擁有多個(gè)同時(shí)被執(zhí)行的部分。參見(jiàn)thread。

                  object
            面向?qū)ο蟪绦虻闹饕囊粋€(gè)構(gòu)造塊。每一個(gè)對(duì)象是一個(gè)編程單元,由數(shù)據(jù)(instance methods)和功能(instance methods)組成,參見(jiàn)class。

            object-oriented design
            一個(gè)軟件設(shè)計(jì)方法,通過(guò)類和對(duì)象為抽象和具體的對(duì)象的特點(diǎn)建模。

            octal
            使用8作為基的計(jì)數(shù)系統(tǒng)。使用數(shù)字0-7。在Java中8進(jìn)制數(shù)必須帶有0前綴。參見(jiàn)hexadecimal。

            One
            Open Net Environment的縮寫(xiě),由Sun組織,主要工業(yè)參與商資助,描述了一個(gè)易于理解的體系結(jié)構(gòu),用來(lái)創(chuàng)建,編譯和配置Web服務(wù)。ONE是平臺(tái)無(wú)關(guān)的,基于完全開(kāi)放的標(biāo)準(zhǔn)。Sun ONE指代一個(gè)特定的由Sun和iPlanet提供的對(duì)這個(gè)體系結(jié)構(gòu)的實(shí)現(xiàn)。

            Optional Packages
            一個(gè)或多個(gè)APIs的集合,在Java平臺(tái)上,它們是可用的,并且可能在兼容平臺(tái)上也被支持。
            隨著時(shí)間推移,Optional Packages可能因?yàn)槭袌?chǎng)需要而變成必需的。

            ORB
            Object Request Broker的縮寫(xiě)。一個(gè)函數(shù)庫(kù),使CORBA對(duì)象能夠定位另一個(gè)對(duì)象且和它通訊。

            OTS
            Object Transaction Service的縮寫(xiě),一組接口定義使CORBA對(duì)象能夠處理事務(wù)。

            overloading
            在同一個(gè)作用域里面使用一個(gè)標(biāo)識(shí)符指代多個(gè)對(duì)象。在Java語(yǔ)言中,你可以overload方法,但不能是變量和操作符。

            overriding
            在子類中對(duì)在父類中定義的方法提供一個(gè)不同的實(shí)現(xiàn)。
            re-entrant enterprise bean
            一個(gè)enterprise bean,能夠被并發(fā)的,交叉的,或遞歸的調(diào)用,并且相互之間不干擾。

            reference
            一個(gè)內(nèi)容是地址的數(shù)據(jù)元素。

            remote interface
            enterprise bean兩個(gè)接口中的一個(gè)。remote接口定義了能夠被客戶調(diào)用的商業(yè)方法。

            remove method
            在home接口中定義的方法,客戶端可以調(diào)用它來(lái)刪除一個(gè)enterprise bean。

            resource adapter
            一個(gè)系統(tǒng)級(jí)的軟件驅(qū)動(dòng),被EJB容器和應(yīng)用程序客戶用來(lái)連接到一個(gè)EIS。通常一個(gè)resource adapter總是針對(duì)某一特定EIS的。它以函數(shù)庫(kù)的形式提供,運(yùn)行在使用它的服務(wù)器或客戶地址空間中。一個(gè)resource adapter插入到一個(gè)容器中。應(yīng)用程序組件配置容器,然后使用客戶端API(由adapter提供的)或者由高層抽象生成的工具來(lái)訪問(wèn)下面的EIS。resource adapter和EJB容器配合提供與EIS連接的下層機(jī)制 - 事務(wù),安全,和連接池。

            resource manager
            提供訪問(wèn)一組共享對(duì)象的能力。一個(gè)recource manager參與一個(gè)被事務(wù)管理器外部控制和調(diào)整的事務(wù)。一個(gè)resource manager通常和訪問(wèn)它的客戶運(yùn)行在不同的主機(jī)上和不同的地址空間中。

            resource manager connection
            代表一個(gè)和資源管理器的會(huì)話的對(duì)象。

            resource manager connection factory
            一個(gè)用來(lái)創(chuàng)建資源管理器對(duì)象的對(duì)象。
          本篇文章來(lái)自Java中文網(wǎng):http://javaweb.cc/other/english/2214.shtml

          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

                 role (development)
            在開(kāi)發(fā)和配置一個(gè)基于J2EE技術(shù)的應(yīng)用程序的過(guò)程中某個(gè)對(duì)象起到的作用。role有:應(yīng)用程序組件提供者,應(yīng)用程序編譯者, 應(yīng)用程序配置者
          , J2EE平臺(tái)提供者, EJB容器提供者, EJB容器提供者, Web容器提供者, Web服務(wù)器提供者,工具提供者和系統(tǒng)管理員。

            role (security)
            一個(gè)抽象的邏輯的用戶組,由Application Assembler定義。當(dāng)一個(gè)application被配置的時(shí)候,roles被映射到安全標(biāo)識(shí),比如負(fù)責(zé)人或者組,在操作和環(huán)境中。

            role mapping
            把由容器所識(shí)別的組和負(fù)責(zé)人和由配置描述符定義的安全角色聯(lián)系起來(lái)的一個(gè)過(guò)程。在組件被安裝到服務(wù)器之前,安全角色必須被配制器映射。

            rollback
            當(dāng)一個(gè)事務(wù)中所有的對(duì)數(shù)據(jù)庫(kù)的更新被取消的一個(gè)點(diǎn)。

            root
            在對(duì)象層次中的一個(gè)對(duì)象,所有對(duì)象都是從它繼承而來(lái)的,root對(duì)象在層次圖中沒(méi)有上層對(duì)象,參見(jiàn)hierarchy, class, package。

            RPC
            Remote Procedure Call的縮寫(xiě)。通過(guò)向遠(yuǎn)程主機(jī)發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包執(zhí)行,看上去就跟普通的調(diào)用過(guò)程(或方法調(diào)用)是一樣的,

            runtime system
            一個(gè)軟件環(huán)境,其中能夠運(yùn)行為Java虛擬機(jī)編譯的程序。runtime system包含了為了裝入用Java編寫(xiě)的程序,動(dòng)態(tài)連接本地方法,內(nèi)存管理,異常處理和實(shí)現(xiàn)一個(gè)Java虛擬機(jī)(可能是Java一個(gè)解釋器)所必須的代碼。SAX
            Simple API for XML的縮寫(xiě)。一個(gè)為訪問(wèn)XML文檔提供的事件驅(qū)動(dòng)的,串行訪問(wèn)的機(jī)制。

            Sandbox
            由許多的系統(tǒng)組件組成,從作為應(yīng)用程序一部分運(yùn)行的安全管理器,到Java虛擬機(jī)中的和語(yǔ)言本身的安全措施。SandBox保證一個(gè)不可信任的,可能惡意攻擊的應(yīng)用程序不能訪問(wèn)系統(tǒng)資源。

            scope
            一個(gè)特性標(biāo)識(shí),用來(lái)規(guī)定哪些地方標(biāo)識(shí)符是可見(jiàn)的。Java環(huán)境中的大多數(shù)標(biāo)識(shí)符擁有類或者局部的scope。實(shí)例變量和類變量有類的scope;它們?cè)陬惖耐獠炕蛘咦宇愔惺褂脮r(shí)必須在它們前面加上一個(gè)類名前綴(對(duì)類變量和類方法)或者類實(shí)例名。所有其他的在方法內(nèi)部定義的變量具有局部scope;它們只能在封閉的塊中使用。

            Secure Socket Layer (SSL)
            一個(gè)為了個(gè)人隱私在Web服務(wù)器和瀏覽器之間進(jìn)行加密的協(xié)議。

            security attributes
            一組和負(fù)責(zé)人相關(guān)聯(lián)的屬性。Security attributes能夠和一個(gè)負(fù)責(zé)人相關(guān)聯(lián),通過(guò)J2EE產(chǎn)品提供商制定的認(rèn)證協(xié)議。

          本篇文章來(lái)自Java中文網(wǎng):http://javaweb.cc/other/english/2215.shtml


          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

                 security constraint
            一個(gè)明確的方法來(lái)注釋想要的對(duì)Web內(nèi)容的保護(hù)。一個(gè)security constraint由一系列Web資源,一個(gè)認(rèn)證限制和用戶數(shù)據(jù)限制組成。

            security context
            一個(gè)對(duì)象,封裝了跟安全有關(guān)的兩個(gè)實(shí)體之間的共享狀態(tài)信息。

            security permission
            由J2SE定義的J2EE平臺(tái)用來(lái)表述應(yīng)用組件供應(yīng)商必須遵循的編程限制的一個(gè)機(jī)制。

            security permission set
            J2EE產(chǎn)品提供商為每一個(gè)組件類型的執(zhí)行所必須提供的安全允許的最小集合。

            security policy domain
            一個(gè)作用域,其中安全策略被定義并且由安全管理員強(qiáng)制執(zhí)行。一個(gè)security policy domain有以下的幾個(gè)特征:
             它有一組用戶(或者負(fù)責(zé)人)
             它有一個(gè)很好定義的認(rèn)證協(xié)議來(lái)認(rèn)證用戶
             它可能有組的概念來(lái)簡(jiǎn)化安全策略的設(shè)置

            security technology domain
            一個(gè)作用域,其中同樣的安全機(jī)制被用來(lái)強(qiáng)制執(zhí)行一個(gè)安全策略。在單個(gè)technology domain中可以存在多個(gè)security policy domain。

            server principal
            服務(wù)器在操作系統(tǒng)中執(zhí)行的地位。

            servlet
            一種擴(kuò)展Web服務(wù)器功能的Java程序,動(dòng)態(tài)生成文檔,并且使用使用請(qǐng)求應(yīng)答的方式和用戶交互。
           
                 stream
            Stream是一個(gè)簡(jiǎn)單的從發(fā)送著到接受者的數(shù)據(jù)字節(jié)流。有兩種基本的分類,所以java.io包包含兩個(gè)抽象類(InputStream和OutputStream)。
           
            subarray
            一個(gè)在另一個(gè)數(shù)組中的數(shù)組。

            subclass
            從某個(gè)類派生出來(lái)的類,可能是和一個(gè)或多個(gè)類之間的關(guān)系。參見(jiàn)superclass, supertype。

            subtype
            如果類型X繼承或者實(shí)現(xiàn)了類型Y,那么X是Y的一個(gè)subtype。參見(jiàn)supertype。

            superclass
            一個(gè)類,某個(gè)類是從它派生而來(lái)的,可能是和一個(gè)或多個(gè)類之間的關(guān)系。參見(jiàn)subclass, subtype。

            super
            Java語(yǔ)言的一個(gè)關(guān)鍵字,用來(lái)訪問(wèn)父類的類成員。

            supertype
            一個(gè)類型的父類型是指它所實(shí)現(xiàn)的所有接口和繼承的類型,參見(jiàn)subtype, superclass。

            switch
            Java語(yǔ)言的關(guān)鍵字,用來(lái)計(jì)算一個(gè)變量,在后面用來(lái)匹配由case語(yǔ)句指定的值,以決定執(zhí)行哪一組語(yǔ)句。

            Swing Set
            一系列圖形用戶接口GUI)組件的代碼名稱,能夠在任何支持Java虛擬機(jī)的本地平臺(tái)上一致的運(yùn)行。因?yàn)樗鼈兪峭耆肑ava語(yǔ)言編寫(xiě)的,這些組件可能提供的功能比本地平臺(tái)提供的等價(jià)功能更為強(qiáng)大。(和AWT對(duì)比)

            synchronized
            Java語(yǔ)言的關(guān)鍵字,當(dāng)它用來(lái)修飾一個(gè)方法或者一個(gè)代碼塊的時(shí)候,能夠保證在同一時(shí)刻最多只有一個(gè)線程執(zhí)行該段代碼。(
           
            TCP/IP
            Transmission Control Protocol based on IP的縮寫(xiě)。這是一個(gè)Internet協(xié)議,提供可靠的基于流的從一個(gè)主機(jī)到另一個(gè)的數(shù)據(jù)傳輸。參見(jiàn)IP。

            Technology Compatibility Kit (TCK)
            一個(gè)測(cè)試包,一組工具,和其它必需的東西,用來(lái)證明一個(gè)特定的Sun的技術(shù)的實(shí)現(xiàn)是否和應(yīng)用程序規(guī)范兼容或者是否和Sun和Sun設(shè)計(jì)的參考實(shí)現(xiàn)兼容。

            this
            Java語(yǔ)言的關(guān)鍵字,用來(lái)代表它出現(xiàn)的類的一個(gè)實(shí)例。this可以用來(lái)訪問(wèn)類變量和類方法。
           
           

            UDDI
            Universal Description Discovery and Integration的縮寫(xiě)。UDDI提供了一個(gè)全局的,公共的,基于XML的,在線的商業(yè)注冊(cè),商業(yè)用戶通過(guò)它可以注冊(cè)并宣傳它們的Web服務(wù)。UDDI定義Internet版的白頁(yè)和黃頁(yè)電話號(hào)碼本。

            Unicode
            ISO 10646定義的16位長(zhǎng)的字符集。參見(jiàn)ASCII。Java環(huán)境中所有的源代碼都是用Unicode編寫(xiě)的。

            URI
            Uniform Resource Identifier的縮寫(xiě)。一個(gè)用來(lái)標(biāo)識(shí)抽象或物理資源的簡(jiǎn)潔字符串。一個(gè)URI或者是一個(gè)URL或者是一個(gè)URN。URLs和URNs是具體的確實(shí)存在的實(shí)體。URI是一個(gè)抽象的父類。

            URL
            Uniform Resource Locator的縮寫(xiě)。一個(gè)使用文本指代WWW網(wǎng)站上任意數(shù)據(jù)的標(biāo)準(zhǔn)。一個(gè)URL通常是這樣的"protocol://host/localinfo",protocol指明傳輸對(duì)象的時(shí)候使用的協(xié)議(比如HTTP或FTP),host指明在Internet上找到一臺(tái)主機(jī)的名字,localinfo是一個(gè)傳遞給遠(yuǎn)程主機(jī)上協(xié)議處理器的字符串(常常是一個(gè)文件名)。

            URL path
            通過(guò)一個(gè)HTTP請(qǐng)求傳遞的URL,來(lái)使用一個(gè)servlet。URL由Context Path + Servlet Path + PathInfo組成,其中被請(qǐng)求的servlet是與Context Path相關(guān)聯(lián)的servlet上下文的一部分。如果這個(gè)上下文是默認(rèn)的上下文,以Web服務(wù)器的URL名字空間的基目錄為根,那么這個(gè)路徑前綴將會(huì)是一個(gè)空字符串。否則這個(gè)路徑前綴以/開(kāi)始,但是不是以/結(jié)束。Servlet Path部分直接和激活這個(gè)請(qǐng)求的映射對(duì)應(yīng)。這個(gè)路徑以/字符開(kāi)始。PathInfo是請(qǐng)求路徑的一部分,但不是Context Path或者Servlet Path的一部分。

            URN
            Uniform Resource Name的縮寫(xiě)。唯一標(biāo)識(shí)一個(gè)實(shí)體的標(biāo)識(shí)符,但是不能給出實(shí)體的位置。系統(tǒng)可以先在本地尋找一個(gè)實(shí)體,在它試著在Web上找到該實(shí)體之前。它也允許Web位置改變,然而這個(gè)實(shí)體卻還是能夠被找到。
           
            variable
            由一個(gè)標(biāo)識(shí)符命名的數(shù)據(jù)項(xiàng)。每一個(gè)variable有一種類型,比如一個(gè)整數(shù)或者一個(gè)對(duì)象,和一個(gè)作用域。參見(jiàn)class variable, instance variable, local variable。

            virtual machine
            一個(gè)抽象的計(jì)算設(shè)備規(guī)范,可以使用不同的方法實(shí)現(xiàn),軟件的或者硬件的。你把程序編譯成virtual machine的指令集和你把程序編譯成微處理器指令集是十分相似的。Java(TM) virtual machine*由字節(jié)碼指令集合,一組寄存器,一個(gè)堆棧,一個(gè)垃圾收集堆和一個(gè)存放方法的區(qū)域
          本篇文章來(lái)自Java中文網(wǎng):http://javaweb.cc/other/english/2216.shtml

          教程由JAVA中文網(wǎng)整理校對(duì)發(fā)布(javaweb.cc)

                 vocabulary
            傳統(tǒng)上,軟件程序被編寫(xiě),然后編譯成直接和計(jì)算機(jī)中驅(qū)動(dòng)微處理器工作的操作系統(tǒng)相關(guān)的機(jī)器碼。Java平臺(tái)通過(guò)提供一個(gè)程序編寫(xiě)編譯,然后能夠通過(guò)網(wǎng)絡(luò)傳輸并且在任何由足夠兼容性的虛擬機(jī)的平臺(tái)上運(yùn)行的模型減輕了這種依賴型。

            這個(gè)模型提供了額外的好處,高安全性,即因?yàn)槌绦蚩梢员惶摂M機(jī)驗(yàn)證一致性在通過(guò)網(wǎng)絡(luò)傳輸之后,也因?yàn)樘摂M機(jī)運(yùn)行在安全的"sandbox"的中,能夠阻止一些特定的破壞性的行為。

            軟件開(kāi)發(fā)人員已經(jīng)投入Java語(yǔ)言的懷抱,因?yàn)樗鼫p少了編寫(xiě)程序和支持軟件代碼的費(fèi)用和時(shí)間。他們不再需要為不同的操作系統(tǒng)和不同的微處理器重新編寫(xiě)功能相同的代碼。正在配置應(yīng)用程序的公司和組織喜歡Java,因?yàn)樗鼫p少了購(gòu)買和修改不同版本的應(yīng)用程序使其適應(yīng)各自網(wǎng)絡(luò)環(huán)境中各種類型的計(jì)算機(jī)和服務(wù)器的費(fèi)用。

            void
            Java語(yǔ)言的關(guān)鍵字,用在Java語(yǔ)言的方法聲明中說(shuō)明這個(gè)方法沒(méi)有任何返回值。"void"也可以用來(lái)表示一句沒(méi)有任何功能的語(yǔ)句。

            volatile
            Java語(yǔ)言的關(guān)鍵字,用在變量的聲明中表示這個(gè)變量是被同時(shí)運(yùn)行的幾個(gè)線程異步修改的。
            一個(gè)UNIX命令,使用它將會(huì)等待所有的后臺(tái)進(jìn)程結(jié)束,并且報(bào)告他們的結(jié)束狀態(tài)。

            Web application, distributable
            用J2EE技術(shù)編寫(xiě)的應(yīng)用程序,所以它可以被配置到一個(gè)分布運(yùn)行在一臺(tái)或多臺(tái)主機(jī)的多個(gè)Java虛擬機(jī)中的Web容器中。這種類型的應(yīng)用程序的配置描述符使用可分布的元素。

            Web component
            一個(gè)通過(guò)相應(yīng)為請(qǐng)求提供服務(wù)的組件,或者是一個(gè)Servlet或者是一個(gè)JSP頁(yè)面。

            Web container
            實(shí)現(xiàn)J2EE體系結(jié)構(gòu)中Web組件協(xié)議的容器。這個(gè)協(xié)議規(guī)定了一個(gè)Web組件運(yùn)行時(shí)的環(huán)境,包括安全,一致性,生命周期管理,事務(wù),配置和其它的服務(wù)。一個(gè)提供和JSP和J2EE平臺(tái)APIs界面相同服務(wù)的容器。一個(gè)Web container 由Web服務(wù)器或者J2EE服務(wù)器提供。

            Web container, distributed
            一個(gè)Web容器,能夠運(yùn)行一個(gè)標(biāo)記為分布式的,在同一臺(tái)主機(jī)或不同主機(jī)上的多個(gè)Java虛擬機(jī)中運(yùn)行的Web應(yīng)用程序。

            Web server
            提供訪問(wèn)Inetrnet,Intranet或者Extranet服務(wù)的軟件。一個(gè)Web server運(yùn)行在Web站點(diǎn)上,提供對(duì)HTTP和其它協(xié)議的支持,并且運(yùn)行服務(wù)器端的程序(比如CGI腳本或者servlets)來(lái)實(shí)現(xiàn)一定的功能。在J2EE體系結(jié)構(gòu)中,Web Server為Web容器提供服務(wù)。比如,一個(gè)Web容器通常依靠Web Server來(lái)處理HTTP消息。J2EE平臺(tái)假設(shè)一個(gè)Web容器總是運(yùn)行在同一個(gè)廠商提供的Web Server之上,所以沒(méi)有制定這兩個(gè)實(shí)體之間的協(xié)議。一個(gè)Web Server可以運(yùn)行一個(gè)或多個(gè)Web容器。

           

          posted @ 2012-08-18 19:48 、小細(xì) 閱讀(133) | 評(píng)論 (0)編輯 收藏
               摘要: IO包中的其他流:   1.打印流 a)PrintWriter(寫(xiě)-->print打印) 與PrintStream  (字符流) 1 PrintWriter用法一:其實(shí)它是對(duì)一個(gè)Writer進(jìn)行了封裝 2 package com.javami.kudyTest; 3 import java.io.FileNotFoundExce...  閱讀全文
          posted @ 2012-08-14 13:10 、小細(xì) 閱讀(145) | 評(píng)論 (0)編輯 收藏
               摘要: File類:用來(lái)將文件或者文件夾封裝成對(duì)象方便對(duì)文件或者文件夾的操作File對(duì)象可以作為參數(shù)傳遞給一個(gè)流.遞歸:函數(shù)自己調(diào)用自己應(yīng)用場(chǎng)景:當(dāng)某一個(gè)功能需要重復(fù)調(diào)用..1.遍歷一個(gè)文件,并且讓讓這個(gè)文件寫(xiě)入到一個(gè)文本里面,(需要樹(shù)狀的排序) 1 package com.javami.kudy.CodeAM; 2 import java.io.BufferedWriter; 3 imp...  閱讀全文
          posted @ 2012-08-11 22:48 、小細(xì) 閱讀(185) | 評(píng)論 (0)編輯 收藏
               摘要: 字節(jié)流的抽象基類: InputStream(輸入)  OutPutStream(輸出) 字符流的抽象基類: Reader(讀)       Writer(寫(xiě)) 這四個(gè)類派生出來(lái)的子類都是由父類的名作為子類名的后綴.   IO需要了解的問(wèn)題: 1.有了垃圾回收站為什么還要調(diào)用close方法去進(jìn)行關(guān)閉 解答...  閱讀全文
          posted @ 2012-08-08 13:06 、小細(xì) 閱讀(409) | 評(píng)論 (0)編輯 收藏

          IO(Input OutPut)流

          IO流用來(lái)處理設(shè)備之間的數(shù)據(jù)傳輸

          JAVA對(duì)數(shù)據(jù)的操作是通過(guò)流的方式

          JAVA用于操作流的對(duì)象都在IO包中

          流按操作對(duì)象分為兩種: 字節(jié)流,字符流

          流按流向分為: 輸入流,輸出流.

          其它的內(nèi)容還是比較簡(jiǎn)單的,注意的是以下這幾個(gè)自定義包裝類:

          實(shí)現(xiàn)1.

          MyBufferedReader.class

           1 package com.javami.kudy.Code13;
           2 import java.io.IOException;
           3 import java.io.Reader;  //讀取字符流的抽象類
           4 import java.io.IOException;
           5 /*
           6  * 自定義MyBufferedReader包裝Reader,提供了一個(gè)緩沖區(qū)的功能.提供了ReadLine功能.
           7  * 1.用一個(gè)次組合,拿到被包裝的Reader對(duì)象
           8  * 2.定義一個(gè)字符數(shù)組作為緩沖區(qū)
           9  * 3.實(shí)現(xiàn)一個(gè)read方法,填充緩沖區(qū),從緩沖區(qū)那里返回一個(gè)字符
          10  * 4.定義一個(gè)readLine方法,內(nèi)部調(diào)用read方法,循環(huán)讀取一行,進(jìn)行返回
          11  * 5.定義一個(gè)close方法,關(guān)閉地底層所包裝的流
          12  */
          13 public class MyBufferedReader  extends Reader{
          14     private Reader r;
          15     char[] buf = new char[1024];
          16     int len =0;
          17     int pos = 0;
          18     public MyBufferedReader(Reader r)
          19     {
          20         this.r = r;
          21     }
          22     /*
          23      * 實(shí)現(xiàn)read()方法,實(shí)現(xiàn)緩存的功能
          24      * 分析:
          25      * 1.當(dāng)別人第一次調(diào)用該方法的時(shí),一次性的去填充緩沖區(qū)
          26      * 2.定義一個(gè)len變量記住緩沖區(qū)的可用字符的數(shù)量
          27      * 3.將數(shù)組的第一個(gè)元素返回
          28      * 4.當(dāng)別人第二次調(diào)用的時(shí),將數(shù)組的二個(gè)元素返回
          29      * 5.每次返回元素 len --
          30      * 6.當(dāng)len為零時(shí),說(shuō)明數(shù)組沒(méi)有可用字符啦,那么這時(shí)候返回一個(gè)-1
          31      * 
          32      * 思路:
          33      * 1.定義兩個(gè)成員變量,len記住可用字符數(shù)量,pos記住當(dāng)前字符的角標(biāo)
          34      * 2.判斷l(xiāng)en是否為0,如果為零要填充緩沖區(qū).并且pos為零
          35      * 3.判斷l(xiāng)en,如果為-1,則返回-1
          36      * 4.將pos位置的元素返回.pos++
          37      */
          38     public int read() throws IOException
          39     {
          40         if(len ==0)
          41         {
          42             len = r.read(buf);
          43             pos = 0;
          44         }
          45         if(len==-1)
          46             return -1;
          47         len--;
          48         return buf[pos++];
          49     }
          50     
          51     /*
          52      * 實(shí)現(xiàn)readLine方法,實(shí)現(xiàn)讀一行的功能,
          53      * 1.循環(huán)調(diào)用自己的方法的read方法,讀取字符
          54      * 2.知道回車的字符,方法就結(jié)束
          55      */ 
          56     public String readLine() throws IOException
          57     {
          58         StringBuilder sb = new StringBuilder();
          59         int ch;
          60         while((ch=read())!=-1)
          61         {
          62             if(ch=='\r')
          63                 continue;
          64             if(ch=='\n')
          65                 break;
          66             sb.append((char)ch);
          67             if(ch==-1&&sb.length()==0)
          68                 return null;
          69         }
          70         return sb.toString(); //轉(zhuǎn)換成字符串
          71     }
          72     @Override
          73     public void close() throws IOException {
          74         r.close();
          75     }
          76 
          77     @Override
          78     public int read(char[] cbuf, int off, int len) throws IOException {
          79         int count=0;
          80         for(int i=0; i<off+len; i++)
          81         {
          82             int ch = read();
          83             if(ch==-1)
          84                 break;
          85             count++;
          86             buf[i] = (char)ch;
          87         }
          88         return count;
          89     }
          90 
          91     
          92     
          93 }

          MyBufferedWriter.class  這個(gè)主要是寫(xiě)入

           1 package com.javami.kudy.Code13;
           2 import java.io.IOException;
           3 import java.io.Writer;
           4 
           5 public class MyBufferedWriter  extends Writer{
           6     
           7     private Writer w;
           8     private char[] buf = new char[1024];
           9     private int pos = 0;
          10     
          11     public MyBufferedWriter(Writer w)
          12     {
          13         this.w = w;
          14     }
          15     /*
          16      * 定義Writer方法,實(shí)現(xiàn)寫(xiě)一個(gè)字符,實(shí)現(xiàn)緩存的功能
          17      * 1.定義一個(gè)變量pos記住當(dāng)前的寫(xiě)入位置
          18      * 2.每次調(diào)用都使用這個(gè)方法都會(huì)傳入一個(gè)字符,將字符緩存到數(shù)組pos位置里面去
          19      * 3.pos++
          20      * 4.每次上來(lái)就判斷,如果pos =1024,刷新緩沖區(qū) ,pos = 0
          21      */
          22     public void Writer(int ch)throws IOException
          23     {
          24         if(pos == 1024)
          25         {
          26             flush(); //刷新一下緩沖區(qū).并且初始化為零
          27             pos = 0;
          28         }
          29         buf[pos++] = (char)ch;
          30     }
          31     @Override
          32     public void close() throws IOException {
          33         flush();
          34         w.close();
          35     }
          36 
          37     @Override
          38     public void flush() throws IOException { 
          39         w.write(buf,0,pos); //把buf0-pos位置的內(nèi)容寫(xiě)入進(jìn)去
          40     }
          41     public void writer(String data)throws IOException
          42     {
          43         char[] chars = data.toCharArray(); //轉(zhuǎn)換成字符
          44         for(char c : chars)
          45             write(c);
          46     }
          47     public void newline()throws IOException
          48     {
          49         write("\r\n"); //所謂的換行就是一個(gè)
          50     }
          51     @Override
          52     public void write(char[] cbuf, int off, int len) throws IOException {
          53         for(int i=0; i<off+len; i++)
          54         {
          55             w.write(buf[i]);
          56         }
          57         
          58     }
          59 
          60 }

          由于每次都要關(guān)閉流啊~~無(wú)奈.只好使用一個(gè)類來(lái)實(shí)現(xiàn)它們

          CloseUtil.class

           1 package com.javami.kudy.Code13;
           2 import java.io.IOException;
           3 import java.io.Reader;
           4 import java.io.Writer;
           5 public class CloseUtil {
           6     private CloseUtil(){}
           7     public static void close(Reader r,Writer w)throws IOException
           8     {
           9         try
          10         {
          11             if(r!=null)
          12                 r.close();
          13         }
          14         finally
          15         {
          16             if(w!=null)
          17             w.close();
          18         }
          19     }
          20 }

          一個(gè)簡(jiǎn)單的測(cè)試類:

           1 package com.javami.kudy.Code13;
           2 import java.io.FileReader;
           3 import java.io.FileWriter;
           4 import java.io.IOException;
           5 
           6 public abstract class BufferedTest {
           7 
           8     /**
           9      * @param args
          10      */
          11     public static void main(String[] args)
          12     {
          13         MyBufferedReader mr = null;
          14         MyBufferedWriter mw = null;
          15         try
          16         {
          17             mr = new MyBufferedReader(new FileReader("src/a.txt"));
          18             mw = new MyBufferedWriter(new FileWriter("src/b.txt"));
          19             int len;
          20             while((len=mr.read())!=-1)
          21             {
          22                 mw.Writer(len);
          23             }
          24         }
          25         catch(IOException e)
          26         {
          27             e.printStackTrace();
          28         }
          29         finally
          30         {
          31             try
          32             {
          33                 CloseUtil.close(mr, mw);
          34             }
          35             catch(IOException e)
          36             {
          37         }
          38         }
          39     }
          40 }

          BufferedReader 與 BufferedWriter 的存儲(chǔ)圖:

          以上這幾個(gè)都是比較難理解的..~~

           

          加油啦..

           

          posted @ 2012-08-08 01:40 、小細(xì) 閱讀(93) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 时尚| 辽阳县| 玉溪市| 固阳县| 奎屯市| 荔浦县| 柯坪县| 承德县| 南丹县| 虹口区| 新密市| 肃南| 平度市| 淳化县| 黎平县| 三原县| 镇原县| 广元市| 阿坝县| 潍坊市| 铜陵市| 顺平县| 迭部县| 湛江市| 灌云县| 旬阳县| 霞浦县| 班玛县| 清丰县| 沧州市| 监利县| 离岛区| 确山县| 班戈县| 瓦房店市| 东安县| 吉隆县| 府谷县| 承德县| 唐山市| 界首市|