版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、檔案管理相關(guān)技術(shù)文獻(wnxin)綜述摘要(zhiyo): Java是SUN公司開發(fā)的適用于Internet的新型面向?qū)ο蟮某绦蛟O(shè)計語言。有人甚至(shnzh)預(yù)言“Java將是網(wǎng)絡(luò)的世界語。Java是一種適用于分布式網(wǎng)絡(luò)(客戶/服務(wù)器)環(huán)境的編程語言,是新一代面向?qū)ο蟮某绦蛟O(shè)計語言,它特別適用于Internet應(yīng)用程序的開發(fā)。 基于J2EE的檔案管理系統(tǒng)包含了很多尖端IT技術(shù),它是中型的綜合應(yīng)用系統(tǒng),在開發(fā)過程中采用模塊化設(shè)計,運用一些技術(shù)比較滿意地完成整個系統(tǒng)的開發(fā)與研制。方便、快捷的管理手段使所有管理部門的大大減輕了工作量,同時也較好的解決了安全問題。J2EE體系結(jié)構(gòu)采用組件的思想,將業(yè)
2、務(wù)邏輯層從客戶、服務(wù)器端獨立出來,從而帶來開發(fā)、使用和維護的便利.關(guān)鍵詞:Java/ 對象 /類 /J2EE1 Java基本概念入門 在開始系統(tǒng)分析時,由于要選JAVA作為首選編程語言,這時我對JAVA僅有粗淺的認識,遠遠不夠做東西的水平,我就翻閱了大量的書籍和文獻,經(jīng)過同學(xué)的介紹推薦,我仔細翻看了Bruce Eckel編著的Java編程思想中文版,從中我受益匪淺,本書有個特點介紹全面詳細,作者有Java編程方面的經(jīng)驗,學(xué)識豐富,而且作者所舉例子非常常見,容易聯(lián)想,特別是對于初學(xué)者來說作者給出了很多有用的建議和指導(dǎo)意見,我就把我從此書中所學(xué)到的做個簡單的介紹。 JAVA是有SUN公司開發(fā)的新一
3、代編程語言,它可以用在各種不同的機器、操作系統(tǒng)的網(wǎng)絡(luò)環(huán)境中進行開發(fā)。不論你使用哪種瀏覽器或者使用哪種操作系統(tǒng)(Windows、Unix等等),只要瀏覽器支持JAVA,你就可以看到生動的主頁。JAVA正在逐步成為Internet應(yīng)用的主要開發(fā)語言,它徹底改變了應(yīng)用軟件的開發(fā)模式,為迅速發(fā)展的信息世界增添了新的活力。下面我簡單介紹一下java的基本概念: “盡管以C+為基礎(chǔ),但Java是一種更純粹的面向?qū)ο蟪绦蛟O(shè)計語言”。無論C+還是Java都屬于雜合語言。但在Java中,設(shè)計者覺得這種雜合并不像在C+里那么重要。雜合語言允許采用多種編程風(fēng)格;之所以說C+是一種雜合語言,是因為它支持與C語言的向后
4、兼容能力。由于C+是C的一個超集,所以包含的許多特性都是后者不具備的,這些特性使C+在某些地方顯得過于復(fù)雜。Java語言首先便假定了我們只希望進行面向?qū)ο蟮某绦蛟O(shè)計。也就是說,正式用它設(shè)計之前,必須先將自己的思想轉(zhuǎn)入一個面向?qū)ο蟮氖澜纾ǔ窃缫蚜?xí)慣了這個世界的思維方式)。只有做好這個準備工作,與其他OOP語言相比,才能體會到Java的易學(xué)易用。在本章,我們將探討Java程序的基本組件,并體會為什么說Java乃至Java程序內(nèi)的一切都是對象。1.1、用句柄操縱對象 每種編程語言都有自己的數(shù)據(jù)處理方式。有些時候,程序員必須時刻留意準備處理的是什么類型。您曾利用一些特殊語法直接操作過對象,或處理過一
5、些間接表示的對象嗎(C或C+里的指針)?所有這些在Java里都得到了簡化,任何東西都可看作對象。因此,我們可采用一種統(tǒng)一的語法,任何地方均可照搬不誤。但要注意,盡管將一切都“看作”對象,但操縱的標識符實際是指向一個對象的“句柄”(Handle)。在其他Java參考書里,還可看到有的人將其稱作一個“引用”,甚至一個“指針”??蓪⑦@一情形想象成用遙控板(句柄)操縱電視機(對象)。只要握住這個遙控板,就相當(dāng)于掌握了與電視機連接的通道。但一旦需要“換頻道”或者“關(guān)小聲音”,我們實際操縱的是遙控板(句柄),再由遙控板自己操縱電視機(對象)。如果要在房間里四處走走,并想保持對電視機的控制,那么手上拿著的是
6、遙控板,而非電視機。 此外,即使沒有電視機,遙控板亦可獨立存在。也就是說,只是由于擁有一個句柄,并不表示必須有一個對象同它連接。所以如果想容納一個詞或句子,可創(chuàng)建一個String句柄:String s; 但這里創(chuàng)建的只是句柄,并不是對象。若此時向s發(fā)送一條消息,就會獲得一個錯誤(運行期)。這是由于s實際并未與任何東西連接(即“沒有電視機”)。因此,一種更安全的做法是:創(chuàng)建一個句柄時,記住無論如何都進行初始化:String s = asdf; 然而,這里采用的是一種特殊類型:字串可用加引號的文字初始化。通常,必須為對象使用一種更通用的初始化類型。1.2、所有對象都必須創(chuàng)建 創(chuàng)建句柄時,我們希望它
7、同一個新對象連接。通常用new關(guān)鍵字達到這一目的。new的意思是:“把我變成這些對象的一種新類型”。所以在上面的例子中,可以說:String s = new String(asdf);它不僅指出“將我變成一個新字串”,也通過提供一個初始字串,指出了“如何生成這個新字串”。當(dāng)然,字串(String)并非唯一的類型。Java配套提供了數(shù)量眾多的現(xiàn)成類型。對我們來講,最重要的就是記住能自行創(chuàng)建類型。事實上,這應(yīng)是Java程序設(shè)計的一項基本操作,是繼續(xù)本書后余部分學(xué)習(xí)的基礎(chǔ)。保存到什么地方 程序運行時,我們最好對數(shù)據(jù)保存到什么地方做到心中有數(shù)。特別要注意的是內(nèi)存的分配。有六個地方都可以保存數(shù)據(jù):(1)
8、 寄存器。這是最快的保存區(qū)域,因為它位于和其他所有保存方式不同的地方:處理器內(nèi)部。然而,寄存器的數(shù)量十分有限,所以寄存器是根據(jù)需要由編譯器分配。我們對此沒有直接的控制權(quán),也不可能在自己的程序里找到寄存器存在的任何蹤跡。(2) 堆棧。駐留于常規(guī)RAM(隨機訪問存儲器)區(qū)域,但可通過它的“堆棧指針”獲得處理的直接支持。堆棧指針若向下移,會創(chuàng)建新的內(nèi)存;若向上移,則會釋放那些內(nèi)存。這是一種特別快、特別有效的數(shù)據(jù)保存方式,僅次于寄存器。創(chuàng)建程序時,Java編譯器必須準確地知道堆棧內(nèi)保存的所有數(shù)據(jù)的“長度”以及“存在時間”。這是由于它必須生成相應(yīng)的代碼,以便向上和向下移動指針。這一限制無疑影響了程序的靈
9、活性,所以盡管有些Java數(shù)據(jù)要保存在堆棧里特別是對象句柄,但Java對象并不放到其中。(3) 堆。一種常規(guī)用途的內(nèi)存池(也在RAM區(qū)域),其中保存了Java對象。和堆棧不同,“內(nèi)存堆”或“堆”(Heap)最吸引人的地方在于編譯器不必知道要從堆里分配多少存儲空間,也不必知道存儲的數(shù)據(jù)要在堆里停留多長的時間。因此,用堆保存數(shù)據(jù)時會得到更大的靈活性。要求創(chuàng)建一個對象時,只需用new命令編制相關(guān)的代碼即可。執(zhí)行這些代碼時,會在堆里自動進行數(shù)據(jù)的保存。當(dāng)然,為達到這種靈活性,必然會付出一定的代價:在堆里分配存儲空間時會花掉更長的時間!(4) 靜態(tài)存儲。這兒的“靜態(tài)”(Static)是指“位于固定位置”
10、(盡管也在RAM里)。程序運行期間,靜態(tài)存儲的數(shù)據(jù)將隨時等候調(diào)用??捎胹tatic關(guān)鍵字指出一個對象的特定元素是靜態(tài)的。但Java對象本身永遠都不會置入靜態(tài)存儲空間。(5) 常數(shù)存儲。常數(shù)值通常直接置于程序代碼內(nèi)部。這樣做是安全的,因為它們永遠都不會改變。有的常數(shù)需要嚴格地保護,所以可考慮將它們置入只讀存儲器(ROM)。(6) 非RAM存儲。若數(shù)據(jù)完全獨立于一個程序之外,則程序不運行時仍可存在,并在程序的控制范圍之外。其中兩個最主要的例子便是“流式對象”和“固定對象”。對于流式對象,對象會變成字節(jié)流,通常會發(fā)給另一臺機器。而對于固定對象,對象保存在磁盤中。即使程序中止運行,它們?nèi)钥杀3肿约旱臓?/p>
11、態(tài)不變。對于這些類型的數(shù)據(jù)存儲,一個特別有用的技巧就是它們能存在于其他媒體中。一旦需要,甚至能將它們恢復(fù)成普通的、基于RAM的對象。Java 1.1提供了對Lightweight persistence的支持。未來的版本甚至可能提供更完整的方案。特殊情況:主要類型 有一系列類需特別對待;可將它們想象成“基本”、“主要”或者“主”(Primitive)類型,進行程序設(shè)計時要頻繁用到它們。之所以要特別對待,是由于用new創(chuàng)建對象(特別是小的、簡單的變量)并不是非常有效,因為new將對象置于“堆”里。對于這些類型,Java采納了與C和C+相同的方法。也就是說,不是用new創(chuàng)建變量,而是創(chuàng)建一個并非句
12、柄的“自動”變量。這個變量容納了具體的值,并置于堆棧中,能夠更高效地存取。Java決定了每種主要類型的大小。就象在大多數(shù)語言里那樣,這些大小并不隨著機器結(jié)構(gòu)的變化而變化。這種大小的不可更改正是Java程序具有很強移植能力的原因之一。主類型 大小 最小值 最大值 封裝器類型boolean1-bitBooleanchar16-bitUnicode 0Unicode 216- 1Characterbyte 8-bit-128+127Byteshort16-bit-215+215 1Short1int32-bit-231+231 1Integerlong64-bit-263+263 1Longfloa
13、t32-bitIEEE754IEEE754Floatdouble64-bit IEEE754IEEE754DoublevoidVoid1 數(shù)值類型全都是有符號(正負號)的,所以(suy)不必費勁尋找沒有符號的類型。主數(shù)據(jù)類型也擁有自己的“封裝器”(wrapper)類。這意味著假如想讓堆內(nèi)一個非主要對象表示那個主類型,就要使用對應(yīng)(duyng)的封裝器。例如:char c = x;Character C = new Character(c);也可以直接使用:Character C = new Character(x); 這樣做的原因?qū)⒃谝院蟮恼鹿?jié)里解釋。1. 高精度數(shù)字Java 1.1增加了兩個
14、類,用于進行高精度的計算:BigInteger和BigDecimal。盡管它們大致(dzh)可以劃分為“封裝器”類型,但兩者都沒有對應(yīng)的“主類型”。這兩個類都有自己特殊的“方法”,對應(yīng)于我們針對主類型執(zhí)行的操作。也就是說,能對int或float做的事情,對BigInteger和BigDecimal一樣可以做。只是必須使用方法調(diào)用,不能使用運算符。此外,由于牽涉更多,所以運算速度會慢一些。我們犧牲了速度,但換來了精度。 BigInteger支持任意精度的整數(shù)。也就是說,我們可精確表示任意大小的整數(shù)值,同時在運算過程中不會丟失任何信息。 BigDecimal支持任意精度的定點數(shù)字。例如,可用它進行
15、精確的幣值計算。至于調(diào)用這兩個類時可選用的構(gòu)建器和方法,請自行參考聯(lián)機幫助論文。 J2EE開發(fā)模式是潮流所趨,所以我們在做檔案管理系統(tǒng)的時候也試著去利用這一先進的技術(shù)平臺,雖然理解(lji)的不全面,但是對這個以前從沒有接觸過的技術(shù)有了粗淺的認識,相信對以后從事這方面的工作的時候是個很好的過渡。2. J2EE體系(tx)概述 J2EE是美國Sun公司剛剛推出的一種全新概念的模型,與傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型相比有著不可比擬的優(yōu)勢。當(dāng)今(dngjn)許多企業(yè)都需要擴展他們的業(yè)務(wù)范圍,降低自身經(jīng)營成本,縮短他們和客戶之間的響應(yīng)時間,這就需要存在一種簡捷,快速的服務(wù)于企業(yè),合作伙伴和雇員之間。典型的說
16、,提供這些服務(wù)的應(yīng)用軟件必須同企業(yè)信息系統(tǒng)(EIS)相結(jié)合,并提供新的能向更為廣闊的用戶提供的服務(wù)。這些服務(wù)要具備以下的特點:a 高可用性:來滿足現(xiàn)在的全球商業(yè)環(huán)境b 安全性:保護用戶的隱私和企業(yè)數(shù)據(jù)的安全c 可依賴性和可擴展性:保證商業(yè)交易的正確和迅捷 通常這些服務(wù)是由分布的應(yīng)用程序組成的,包括前端數(shù)據(jù)端和后端數(shù)據(jù)源以及它們之間的一層或幾層,這些中間層提供了把商業(yè)功能和數(shù)據(jù)與EIS相結(jié)合的功能。這些中間層把客戶端從復(fù)雜的商業(yè)邏輯中分離出來,利用成熟的INTERNET技術(shù)使用戶在管理上所花費的時間最小化。 J2EE正式降低了開發(fā)這種中間層服務(wù)的成本和復(fù)雜程度,因而使得服務(wù)可以被快速的展開,并能
17、夠更輕松的面對競爭中的壓力。1. J2EE的優(yōu)勢其表現(xiàn)如下:a J2EE Application Programming Model 一種用于開發(fā)多層次,瘦型客戶用戶程序的標準設(shè)計模型b J2EE Platform一個標準的平臺,用來整合J2EE的應(yīng)用程序,指定一系列的接口和方法c J2EE Compatibility Test Suite一套兼容測試組件,用來檢測產(chǎn)品是否同J2EE 平臺兼容d J2EE Reference Implementation用來示范J2EE的能力2J2EE 應(yīng)用程序模型 J2EE是被設(shè)計為顧客,雇員,供應(yīng)商,合作者提供企業(yè)級服務(wù),這樣的應(yīng)用程序天生具有復(fù)雜性,他們
18、要訪問各種類型的數(shù)據(jù)并分發(fā)于大量的客戶端。為了更好的控制,管理這些應(yīng)用程序,支持各種各樣用戶的商業(yè)功能要在中間層引入,中間層描述了一個被企業(yè)的信息技術(shù)部門緊緊控制的環(huán)境。J2EE應(yīng)用程序依靠于EIS層來存儲企業(yè)的商業(yè)數(shù)據(jù)。這些數(shù)據(jù)和用來管理它的系統(tǒng)是企業(yè)中的核心。最初,雙層結(jié)構(gòu)(client-server)應(yīng)用程序模型許諾將提高伸縮性與更廣闊的功能,但不幸的是,直接向用戶提供EIS服務(wù)的復(fù)雜性和再每臺用戶計算機上安裝和維護商業(yè)邏輯所引起的管理上的問題成了很大的限制。而這些再雙層結(jié)構(gòu)中的限制在三層結(jié)構(gòu)中已不存在了。如今要求既開發(fā)服務(wù)的商業(yè)功能,還要開發(fā)訪問數(shù)據(jù)庫和其他資源的代碼,這是很復(fù)雜的,因
19、為每一種多層結(jié)構(gòu)的服務(wù)器都有它自己的應(yīng)用模型,因此組建一直富有經(jīng)驗的開發(fā)隊伍將是困難的。另外,隨著服務(wù)規(guī)模的擴大,為了降低開支和加快響應(yīng)速度,也要經(jīng)常對其基層代碼進行修改。 J2EE應(yīng)用模型定義了一種建筑模型來讓多層應(yīng)用程序?qū)崿F(xiàn)服務(wù),并消除了以上的問題,提供了可伸縮的,易訪問的,易于管理的方法。 J2EE應(yīng)用模型把實現(xiàn)多層結(jié)構(gòu)服務(wù)的工作劃分為二部分:開發(fā)者實現(xiàn)商業(yè)和表達邏輯,以及由J2EE平臺提供的標準的系統(tǒng)服務(wù)。開發(fā)者可以依賴于這個平臺為開發(fā)中間層服務(wù)中遇到的系統(tǒng)級硬件問題提供解決方案 J2EE應(yīng)用模型為中間層應(yīng)用程序提供了編譯一次,任意運行的特點(write once,run anywhe
20、re),這種標準模型最小化了培訓(xùn)開發(fā)人員的費用。 J2EE應(yīng)用程序模型通過在建立多層應(yīng)用程序中最小化其復(fù)雜程度,圍簡化和加速應(yīng)用程序的開發(fā)邁出了重要的一步。3Java技術(shù)基礎(chǔ) J2EE應(yīng)用程序模型起始于Java程序語言和Java虛擬機,他們提供的不斷提高的便攜性,安全性和開發(fā)人員能力的提高是應(yīng)用程序模型的基礎(chǔ)。應(yīng)用程序模型通常包括JavaBean組件模型,JavaBean是的為普通功能編寫基于Java技術(shù)的代碼更加容易,利用JavaBean的開發(fā)工具可以可視的定制,組合這些組件。4安全性 當(dāng)其他的應(yīng)用程序模型需要在每個程序中有特定平臺的安全性時,J2EE平臺環(huán)境使在開發(fā)時安全約束便已定義了。
21、J2EE平臺定義了一種標準的公開的存取控制規(guī)則,當(dāng)程序在企業(yè)平臺上開發(fā)時就已被程序師定義和解釋了。J2EE也需要提供一個標準的注冊機制以便應(yīng)用程序不用將這些注冊機制和邏輯相混合,相同的工作要執(zhí)行于大量的不同的環(huán)境中而并不需要改變源代碼。 例如:J2EE應(yīng)用程序開發(fā)人員可以指定幾個安全級別(如,user,superuser,administrator),于是他們寫出代碼來檢查當(dāng)前用戶權(quán)限的級別當(dāng)用戶訪問數(shù)據(jù)時。在開發(fā)階段,開發(fā)人員賦予多組用戶適當(dāng)?shù)陌踩墸箲?yīng)用程序能夠容易的判斷限制級在執(zhí)行限制操作之前。5中間層 J2EE應(yīng)用程序模型的一個主要優(yōu)點便是在中間層的多層應(yīng)用程序。在J2EE平臺,中間
22、層商業(yè)功能是由企業(yè)JavaBean實現(xiàn)的。這些企業(yè)Beans允許服務(wù)開發(fā)者集中于商業(yè)邏輯,并且讓EJB Server處理傳送穩(wěn)定的,可升級服務(wù)的復(fù)雜工作。 JavaServerPages 技術(shù)和Servlets向客戶層提供了易于訪問的Internet型服務(wù)的中間層功能。Jsp技術(shù)使用戶接口開發(fā)者更加容易的提供向任何瀏覽器用戶提供動態(tài)頁面的服務(wù)。Servlets讓基于Java技術(shù)的開發(fā)者有更大的自由來在Java語言中提供完全的動態(tài)服務(wù)。6 客戶層 J2EE平臺支持幾種類型的客戶。 許多J2EE服務(wù)被設(shè)計為瀏覽器用戶服務(wù),這些服務(wù)通過動態(tài)生成Html頁和表單來同客戶端實現(xiàn)交互,而Jsp和Servl
23、ets是通過讓這些商業(yè)數(shù)據(jù)通過某種方式格式化,使客戶端更容易來同它工作。這些客戶端可以是運行于瀏覽器中的JavaApplet和基于Java技術(shù)的程序。要注意的是安全是多層結(jié)構(gòu)的關(guān)鍵部分,在J2EE中安全性總是通過平臺和管理員來解決的。在大多案例中,服務(wù)方或客戶方都不需要開發(fā)者與安全邏輯。7 基于Html頁的客戶 在Java2中可以實現(xiàn)向用戶的瀏覽器直接提供動態(tài)Html頁的服務(wù),在JavaServerPage 技術(shù)中通過在Html頁中插入Java代碼動態(tài)生成頁是一種很容易的事情。在一些例子中,某些服務(wù)需要一些綜合的代碼,者可以通過從Jsp中調(diào)用JavaBean的方法來實現(xiàn)。8 J2EE聲明 J2EE應(yīng)用程序模型的一個重要的目標就是使應(yīng)用程序最小化。實現(xiàn)這一點的一種方法是提高在J2EE平臺上運行普通任務(wù)的負擔(dān),這些普通任務(wù)包括強制一個應(yīng)用程序的安全目標
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度城市綠化鐵棚搭建與養(yǎng)護管理合同4篇
- 寶鋼集團2025年度勞動合同員工職業(yè)健康與安全協(xié)議2篇
- 2025年度生態(tài)環(huán)保住宅施工合同協(xié)議4篇
- 2025年度新型木材加工技術(shù)木方材料采購合同范本4篇
- 二零二五版摩托車行業(yè)培訓(xùn)課程開發(fā)合同范本4篇
- 2025年度車輛事故理賠與維修服務(wù)合同4篇
- 2025年農(nóng)藥廢棄物處理與資源化利用合同大全3篇
- 2025年度個人二手房交易合同模板標準化執(zhí)行版2篇
- 二零二五版農(nóng)家樂特色民宿房屋租賃與旅游度假服務(wù)合同范本4篇
- 2025年度生態(tài)木門綠色認證采購合同4篇
- 2024年高純氮化鋁粉體項目可行性分析報告
- 安檢人員培訓(xùn)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 危險性較大分部分項工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識》備考題庫(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測卷(一)試題和答案
- 2025四川中煙招聘高頻重點提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報告(智研咨詢發(fā)布)
評論
0/150
提交評論