java並發體繫結構,java體繫結構

來源:互聯網
上載者:User

java並發體繫結構,java體繫結構

  • 並發編程
    • 線程通訊
      • 共用記憶體和訊息傳遞
    • 線程同步
      • 控制不同線程的執行順序
  • java並發
    • 基於共用記憶體模型
    • 指令重排序
      • 編譯器重排序
      • 處理器重排序
        • cpu重排序
        • 寫緩衝區(cache、寄存器)
    • 記憶體屏障
    • 順序一致性與Happens-before
    • 執行結果有序性
      • volatile
        • 解決記憶體可見度問題
        • lock 顯示鎖
          • 可中斷
          • 可定時
      • synchronize內建鎖
        • 作業系統底層
        • 不可中斷
      • 原子變數
      • final的原理

參考文獻

國外:http://gee.cs.oswego.edu/dl/jmm/cookbook.html

http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html

http://www.cs.umd.edu/~pugh/java/memoryModel/

國內

http://ifeve.com/java-memory-model-0/

http://www.infoq.com/cn/articles/memory_barriers_jvm_concurrency


在Java EE 的體繫結構

1.Java EE
Java EE是一套設計、開發、編譯和部署企業級應用程式的規範。
基於多層結構的WEB應用;
支援分散式運算應用程式模型 ;
以服務端計算為核心 ;
基於主鍵開發、松耦合 ;
支援流一的安全事務、負載平衡、並發處理等 。
2.Java EE體系架構
通常分為四層體系架構(客戶層,表示/WEB層,業務層,資料層)
客戶層 展示層(WEB層) 業務層 資料層
IE servlet ejb DB
jsp javabean(泛指)
3.Java EE組件技術
(1)JDBC(java Database Connectivity)資料庫系統
(2)JNDI(java Name and Directory Interface)java命名和目錄介面
(3)JSP(java server Pages)就是在HTML檔案中加入伺服器端的VB Script或jiavaScript代碼,構成動態網頁技術
(4)Servlet:servlet是Sun Microsystems公司在1997年推出的,用java程式來實現動態網頁技術
(5)EJB(Enterprise JavaBean)EJB即企業級的javaBean
(6)RMI(Remote Method Invoke)RMI即遠程方法調用
(7)IDL(java Interface Defiation Language)IDL即介面定義語言
(8)XML(Extensible Markup Language)是一種可以用來定義其他標記語言的語言,它被用來在不同的商務過程中共用資料
(9)JMS(java Message Service)JMS即javaMessage Service,是用於和面向訊息的中介軟體相互連信的應用程式介面(API)
(10)Java事務API(JTA)和java事務服務(JTS)用於使系統保持在一致的狀態
(11)JavaMail:支援POP3、SMTP服務,也支援IMAP伺服器
4.Java EE產品介紹
Tomcat(web伺服器)、Weblogic(J2EE伺服器)、Websphere(J2EE伺服器)、
Sun One Application(J2EE伺服器)、Oracle9iAS(J2EE伺服器)、JBoss(開源的EJB伺服器)
5.Web應用程式的訪問過程
a.是請求/響應的過程。
b.用戶端有請求,伺服器才會響應用戶端,沒有請求就不會有響應。
例:客服端與伺服器之間通訊:1.首先啟動伺服器(在MyEclipse中啟動)
2.在啟動瀏覽器
3.輸入127.0.0.1:8088/index.doa.在WEB-INF目錄中必須有web.xml檔案。
b.在WEB-INF的上級目錄建立jsp檔案。 c.在src下建立自己定的DAO層,SERVICE層,MODEL,ACTION,然後再對st......餘下全文>>
 
Java語言的特點,實現機制與體繫結構

中任何實體都可以看作是對象。對象之間通過訊息相互作用。另外,現實世界中任何實體都可歸屬於某類事物,任何對象都是某一類事物的執行個體。如果說傳統的過程式程式設計語言是以過程為中心以演算法為驅動的話,物件導向的程式設計語言則是以對象為中心以訊息為驅動。用公式表示,過程式程式設計語言為:程式=演算法+資料;物件導向程式設計語言為:程式=對象+訊息。 所有物件導向程式設計語言都支援三個概念:封裝、多態性和繼承,Java也不例外。現實世界中的對象均有屬性和行為,映射到電腦程式上,屬性則表示對象的資料,行為表示對象的方法(其作用是處理資料或同外界互動)。所謂封裝,就是用一個自主式架構把對象的資料和方法聯在一起形成一個整體。可以說,對象是支援封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變數,無主函數,在Java中絕大部分成員是對象,只有簡單的數字類型、字元類型和布爾類型除外。而對於這些類型,Java也提供了相應的物件類型以便與其他對象互動操作。

可移植性:就是在這個系統上作的程式經過一次編譯後可以移植到別的系統上解釋執行,只要經過簡單的粘貼和複製就行了,不影響程式的效果

安全性:在 iSeries 伺服器上啟動並執行大多數 Java(TM) 程式是應用程式,而不是 applet,所以“砂箱”安全性模型對它們不起限制作用。從安全性的觀點看,Java 應用程式所受的安全性限制與 iSeries 伺服器上的任何其它程式相同。要在 iSeries 伺服器上運行 Java 程式,您必須對整合檔案系統中的類檔案具有許可權。程式一旦啟動,它就在該使用者權限控制下運行。 您可以使用沿用許可權來訪問具有運行程式的使用者的許可權和程式擁有者許可權的對象。沿用許可權臨時地將使用者原先無權訪問的對象的許可權授予使用者。

並發性:JAVA支援多線程技術,就是多個線程並行機制,多線程是Java的一個重要方法,特別有利於在程式中實現並發任務.Java提供Thread線程類,實現了多線程的並發機制.然而,程式的並發執行必定會出現多個線程互斥訪問臨界資源的局面,因而並發系統解決的關鍵就是對臨界資源的管理和分配問題,而在進行臨界資源分派時有兩方面需要考慮,即安全性和公平性.文中首先討論了多線程並發系統中的安全性與公平性問題,指出安全性與公平性在並發系統中訪問臨界資源時的重要性.並通過火車行駛單行隧道的執行個體,示範各種條件下的行駛情況來進一步說明該問題.

可視化:不好說,像vb這樣的也是可視話的編成程式。
我借鑒了一些朋友的答案,還有一些是自己找啊,希望能給你帶來協助
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.