亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

漫談EJB——Enterprise JavaBeans(一)

2019-11-18 12:34:53
字體:
來源:轉載
供稿:網友

  java語言
  Java語言最早被稱為Oak,它是為了實現嵌入式的消費類電子產品應用而產生的,它的作者是James Gosling。Ed Frank, Patrick Naughton, Jonathan Payne, Chris Warth在隨后的幾年時間中為Java語言加入了大量的特性,并把Java語言的目標做了一個重新的定位,定位于適合Internet的語言。
  
  Java語言是一種多用途的語言、并發的語言、以類為基礎,面向對象的語言。它的設計盡可能的做到和操作系統是無關的,也就是Java所宣傳的那句話:“一次編寫,到處運行?!盝ava的設計參考了C和C++語言,因此熟悉C和C++的程序員對Java語言上手很快,而Java設計的原則是能夠利用Java語言快捷的編寫應用,所以我們可以發現,在Java語言中,并沒有那些C和C++中的復雜的機制。最明顯的就是C中被大量使用的指針,由于它的隨意性,被Java以引用來代替了。而C++中的操作符重載、模板、泛型的特性也因為使用比較復雜,Java也不予采用。但是目前Java仍然不斷的推出新的特性,以滿足應用的發展。例如在新推出的JDK1.4中,Java語言就能夠支持Assertment機制和Perl語言中最有用的正則表達式機制。
  
  Java語言主要由以下五種元素組成:標識符、要害字、文字、運算符和分隔符。這五種元素有著不同的語法含義和組成規則,它們互相配合,共同完成Java語言的語意表達。
  
  1:標識符。變量,類和方法都需要一定的名稱,我們將這種名稱叫做標識符。
  
  2:要害字。要害字是Java語言本身使用的標識符,它有其特定的語法含義。所有的Java要害字將不能被用作標識符。
  
  3:數據類型。Java有著不同的數據類型。比較值得一提的是字符串數據類型,字符串數據類型是用一對雙引號括起來的字符序列,字符串數據實際上是由String類所實現,而不是C語言中所用的字符數組。每一個字符串數據將產生一個String類的新的實例,用戶不必對字符串與類這個概念發生關系而感到擔心,由于類的特性,你不必擔心如何去實現它們,它們會自己照顧好自己,需要說明的是字符串在Java里作為類只是出于安全的考慮。
  
  4:運算符。任何語言都有自己的運算符,Java語言也不例外,如+、-、*、/等都是運算符,運算符的作用是與一定的運算數據組成表達式來完成相應的運算。對不同的數據類型,有著不同的運算符。
  
  5:分隔符。分隔符用來使編譯器確認代碼在何處分隔?!?’‘:’都是Java語言的分隔符。
  
  學習 Java 語言很簡單,究竟 Java 語言也只包含五十多個要害詞(keyWord)與幾十個算符(Operator),再加上 Java 語法(syntax)也很簡單,所以一般人可以很快就學會 Java 語言。危險的是,很多人認為已經完全掌控 Java 語言,但其實對于內部的運作機制仍不能把握,這些盲點有時候會讓你無法完全掌控 Java 語言??朔@些盲點的方式是看「The Java Language Specification, 2nd Ed.」(沒有中文版)來徹底弄懂 Java 程序語言,并看「Inside the Java Virtual Machine, 2nd Ed.」來徹底把握 Java 虛擬機器的運作方式。學會了語言,并不代表就可以設計出好的對象導向系統架構。想要成為對象導向的專家,往往需要:(1) 多看相關的書,非凡是 Design Pattern 和 Refactoring 的書。(2) 多觀摩別人的程序(例如 Java API 的 design 與 implementation)(3) 多寫程序。學會 Java 語言之后,還需要學會一些 API 才能寫出有用的程序。Java 的 API 非常多,必須規劃好一個學習路徑,才不會在浩瀚的 API 大海中迷失。必備的 API 包括了:IO、New IO、Collection Framework、Network、RMI、JAXP... 等。至于其它的 API,就看你的需求而定,大致上分成:
  
  * GUI 類:JavaBean -> Swing -> JavaHelp -> Java2D -> Image IO -> JAI -> Java 3D ...
  * Enterprise 類:JDBC -> JDO -> Servlet -> jsp -> EJB -> JMS -> JTA/JTS...
  * J2ME 類(這一類不是我的專長,無法提供學習順序建議)
  
  Java語言通常都是根據Java虛擬機規范(The Java Virtual Machine Specification)中的定義,編譯為字節碼指令集和二進制格式。因此我們接下來就討論Java虛擬機(JVM)
  
  JVM
  我們已經談過Java語言的語法類似于C和C++,但是摒棄了C和C++中復雜、迷惑和不安全的特性。Java語言最早是用來構建消費類網絡設備的軟件的,因此它要支持多主機的架構,并要求能夠提供安全的軟件組件。為了滿足這些需求,編譯好的代碼就必須能夠通過網絡來傳播,能夠在任何客戶端上運行,同時還要保證客戶端是足夠安全的。
  
  Java虛擬機是Java和Java 2 平臺的基石。它能夠保證Java語言和硬件、操作系統無關,保證編譯后的代碼最小,并保護用戶不受惡意程序的攻擊。Java虛擬機到底是什么呢。其實它就是一臺不實際存在的計算機。和真實的計算機類似,它也有自己的指令集,并可以在運行環境中分配內存區域。使用虛擬機機制來實現編程語言并不是Java的創舉,這已經是非常普遍的做法了,最聞名的許你就莫過于UCSD Pascal的P-Code機。
  
  只要瀏覽器檢測到目前所處理的Web文件內容含有一個Java Applet,瀏覽器將會為這個Java小程序另外開一個JVM,執行這個Java應用小程序。在JVM中執行的Java小程序可以得到充分安全的保護。如同我們上面所說,JVM是一個自給自足的作業環境,就像是一臺獨立的計算機一樣。例如,在JVM運作的Applet,無法存取主機操作系統。優點是:
  
  1. 系統中立。Java應用程序可以在任何JVM中運作,不論該系統使用何種硬件、軟件。
  
  2. 安全。正因JVM跟操作系統沒有任何接觸,Java程序很難損害到其它檔案或應用程序。
  
  缺點是,由于在JVM運作的程序獨立在操作系統之外,也就無法享受操作系統各項非凡功能。
  
  Java技術之所以在今天得到了如此廣闊的應用,其中它的安全性是不能不提的。不同于其它技術(例如Microsoft的ActiveX)中安全性作為附加設計和補丁,Java從設計之初便考慮到了安全性。因此Java的安全性是在語言層次實現的。Java的安全性由下列三個方面保證:
  
  1、 語言特性(包括數組的邊界檢查、類型轉換、取消指針型變量)。
  
  2、 資源訪問控制(包括本地文件系統訪問、Socket連接訪問)。
  
  3、 代碼數字簽名(通過數字簽名來確認代碼源以及代碼是否完整)。
  
  Java的源代碼是先編譯成為一種字節碼的中間代碼,存放這種代碼的文件就是.class的文件。真正執行的時候是將class文件裝載到JVM(虛擬機)中,然后由JVM解釋執行的。所以數組的上下界檢查及合法的類型轉換是通過JVM得到保證的。Java通過一個類裝載器類(ClassLoader)將虛擬機代碼文件(即class文件)裝載到JVM中,當完成裝載后,一個被稱做安全治理器(SecurityManager)的類開始運行,例如當一個Applet的class文件被缺省的類裝載器裝載到JVM中后,JVM會立即為它裝載一個SecurityManager的子類AppletSecurity,由這個治理器來驗證操作。代碼的所有動作(例如文件讀寫)都要先經過驗證,只有被該安全治理器接受的動作才能完成,否則就會拋出SecurityException異常。
  
  對于JDK1.0,權限被籠統的劃分為兩大塊。一是擁有所有的權限,一個是僅擁有"沙箱//"(sandBox)權限,這也是普通的Applet所擁有的權限。這時本地文件讀寫或是與源主機(Orignal Server)以外的主機連接都是被禁止的。這種劃分的最大問題就是缺乏靈活性。例如我們希望一個Applet在用戶信任的情況下能夠對本地文件系統的某個目錄進行讀寫,但并不要通過Socket與其它主機連接。這是JDK1.0的權限劃分就不能達到要求。JDK1.1后改進了權限的劃分,引入了權限集(PermissionSet)的概念。
  
  由于我們的文章并不是討論JVM,因此,我們只是對JVM做一個簡單的介紹。假如需要具體了解的,可以參考『The JavaTM TMVirtual Machine Specification』。
  
  客觀的看待Java
  相對于其他編程語音,Java有一個無庸置疑的優點:用戶以及編譯器第一次不必了解生成可執行代碼的特定CPU細節。Java引入了一個編譯代碼中間層,叫做字節代碼,并使用一個虛擬抽象的機器,而不是一個真實的機器。當Java編譯器結束了一個源文件的編譯后,你所得到的不是可以立即在一個給定平臺上運行的代碼,而是可以在任何真實的平臺上運行的字節代碼,唯一的條件就是這個平臺要理解和支持Java。這些發展包含著一個文化的變革。作為一個開發人員,你只需要確定Java虛擬機(JVM)提供的抽象層,不同的OS銷售商負責執行代碼層,從而將中立于平臺的字節代碼映射到主機平臺的機構中。在這種情況下,Java似乎是統一分布式計算機世界的領袖候選人了?!熬帉懸淮?,永遠運行”(并且無論在哪里)就成為Java誘人但卻真實的口號。
  
  但我們平心而論,Java的跨平臺并不是一個非常誘人的特性?跨平臺理論的發展很好地證實了這一點。我們看到,將Java代碼從一個平臺移植到另一個平臺—Java這個語言最重要和最受吹捧的特點—并不象宣傳的那樣輕易。任何Java平臺都有其自己的虛擬機,它可以理解通用的字節代碼,并且及時地將其編譯為本地代碼。矛盾由此產生,不同虛擬機的執行也很不相同,這一點足以使代碼的移植比預期耗費多得多的時間,而且基本上不是自動的。在企業用戶的角度上來說,也很少會有企業會頻繁的更換平臺,因此這個特性是否能夠帶來高價值是很難評價的。
  
  那么,Java模型的好處在哪里呢?首先,Java是一種先進的、面向對象的語言,包含了預防常見錯誤的內置功能,并在僅僅一兩個對象中攜帶了許多經常需要用到的功能。與C++相比,Java更易于讀寫,不輕易出錯,而且更加美觀,但是它速度較慢也不太靈活。想實現在任何軟件和硬件平臺上都可虛擬移植,Java盡可能少地使用了公

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线免费视频| 国产精品一区二区女厕厕| 欧美日韩亚洲一区二区| 福利一区视频在线观看| 国产精品网址在线| 久久久久久12| 91精品国产沙发| 亚洲精品第一页| 91久久精品国产91久久性色| 久久精品国产欧美激情| 久久精视频免费在线久久完整在线看| 清纯唯美日韩制服另类| 在线精品播放av| 97国产精品免费视频| 少妇精69xxtheporn| 精品国偷自产在线| 2019av中文字幕| 青青草国产精品一区二区| 日本久久精品视频| 亚洲高清一二三区| 97在线看福利| 亚洲美女福利视频网站| 亚洲精品456在线播放狼人| 精品国产欧美成人夜夜嗨| 视频在线一区二区| 日韩av中文字幕在线| 91精品久久久久久| 国产精品男女猛烈高潮激情| 国产乱肥老妇国产一区二| 亚洲精品一区二区久| 亚洲精品一二区| 欧美精品在线观看91| 久久久久99精品久久久久| 久久777国产线看观看精品| 色先锋久久影院av| 日韩av电影在线网| 国产成人精品久久| 国内揄拍国内精品少妇国语| 国产小视频91| 国自在线精品视频| 欧美国产日韩中文字幕在线| 久久免费观看视频| 国产97人人超碰caoprom| 第一福利永久视频精品| 中文字幕成人在线| 欧美日韩一区二区在线播放| 欧美成人免费在线观看| 欧美亚洲视频在线看网址| 8x海外华人永久免费日韩内陆视频| 亚洲美女福利视频网站| 精品无人区太爽高潮在线播放| 日本一区二区在线免费播放| 久久精品国产v日韩v亚洲| 欧美贵妇videos办公室| 欧美性视频精品| 热久久99这里有精品| 一区二区成人精品| 久久精品人人做人人爽| 国产午夜精品麻豆| 中文字幕亚洲一区在线观看| 国产精品久久久久久亚洲影视| 久久777国产线看观看精品| 青青久久av北条麻妃海外网| 欧美国产亚洲精品久久久8v| 国产91在线高潮白浆在线观看| 亚洲高清色综合| 国产一区二区视频在线观看| 91免费的视频在线播放| 俺去亚洲欧洲欧美日韩| 国产成人精品综合久久久| 国产精品久久婷婷六月丁香| 91高清免费视频| 国产欧美一区二区三区久久人妖| 欧美华人在线视频| 亚洲欧美在线播放| 亚洲伊人一本大道中文字幕| 日韩欧美一区二区三区| 国产999在线观看| 成人久久久久久| 久久久久中文字幕| 亚洲欧美日韩精品久久亚洲区| 国产精选久久久久久| 成人有码在线视频| 欧美日韩成人在线播放| 97色在线播放视频| 性欧美在线看片a免费观看| 视频一区视频二区国产精品| 欧美成人免费va影院高清| 国产黑人绿帽在线第一区| 日韩av在线影视| 欧美亚洲在线观看| 日本精品一区二区三区在线播放视频| 中文字幕欧美精品日韩中文字幕| 亚洲国产日韩欧美在线图片| 成人久久精品视频| 精品视频久久久久久| 国产日韩欧美91| 欧美激情视频在线观看| 日本久久久久久| 亚洲天堂成人在线视频| 国产亚洲欧洲高清一区| 亚洲精品日韩av| 97精品国产97久久久久久免费| 亚洲国内精品视频| 色综合91久久精品中文字幕| 欧美精品久久久久久久| 亚洲精品一区中文| 狠狠爱在线视频一区| 国产美女久久精品香蕉69| 亚洲第一福利网| 亚洲成人精品视频| 欧美整片在线观看| 在线观看国产欧美| 欧美激情aaaa| 亚洲国产97在线精品一区| 91久久在线播放| 亚洲伊人成综合成人网| 欧洲美女7788成人免费视频| 欧美成人免费观看| 久久成人综合视频| 国产91av在线| 亚洲精品欧美一区二区三区| 亚洲高清久久网| 成人av资源在线播放| 亚洲综合大片69999| 91av视频导航| 国产有码在线一区二区视频| 欧美成人在线免费视频| 国产精品看片资源| 久久av红桃一区二区小说| 日韩av在线直播| 国产精品久久久久福利| 亚洲区一区二区| 尤物99国产成人精品视频| 亚洲国产精品99| 性色av香蕉一区二区| 欧美日韩免费观看中文| 亚洲美女中文字幕| 亚洲va欧美va国产综合久久| 欧美精品videos另类日本| 国产日韩中文字幕在线| 黄网站色欧美视频| 国产欧美日韩精品专区| 国产精品老女人视频| 欧美成年人在线观看| 日韩国产精品视频| 久青草国产97香蕉在线视频| 97视频在线免费观看| 日韩在线视频播放| 日韩欧美福利视频| 国产大片精品免费永久看nba| 久久久亚洲成人| 欧美性理论片在线观看片免费| 国产精品久久久久久久久影视| 久久久久久久久久久成人| 91亚洲精品一区二区| 亚洲精品aⅴ中文字幕乱码| 久久久久国产精品免费网站| 久久精品亚洲94久久精品| 成人字幕网zmw| 国产精品香蕉在线观看| 91九色单男在线观看| 欧洲s码亚洲m码精品一区| 97视频免费在线看|