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

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

深入理解:全面認識JAVA

2019-11-18 13:07:48
字體:
來源:轉載
供稿:網友

  學通java語言需要一個過程,所有Java相關的概念都會在學習的過程中逐漸變得清昕。這個過程的開始就是要先學會標準的Java技術(J2SE),然后是學Java的簡單Web運用,然后分布式運用,再以后對Java的移動技術運用就很輕易理解了。
  
  以下是Java標準技術的一些要點:
  
  一、Java的跨平臺性,即一次編譯到處運行
  
  簡單地說Java的跨平臺性就是指,編譯后的Java程序可直接在不同的平臺上運行而不用重新編譯,這一特性使得Java隨著Web應用的普及而迅速普及起來。而Java的跨平臺性是如何實現的呢?這就要理解Java虛擬機和字節碼的概念。
  
  實際上,編譯后的Java代碼并不是傳統的二進制代碼(如Windows下的.exe文件),而是Java字節碼,這種字節碼文件是不能直接在操作系統上執行的。要想在一個操作系統上運行一個Java程序必須有一個中間環節來負責將Java字節碼解釋成二進制碼,這個中間環節就是Java虛擬機(簡稱JVM)。由于目前大多數操作系統已經實現了JVM,所以Java輕松實現跨平臺性。
  
  二、面象對象技術
  
  Java全面支持面象對象技術,這體現在Class(類)是Java程序構成的基本單元,一個Java程序通常由許多Class組成,而且這些Class還會有一定的繼續關系,Java支持Class的單繼續,從而使類之間的繼續關系更明確。繼續的結果產生類的多態性,類的多態本質上講就是可以用父類的引用訪問繼續類的實現(子類對象),類的這種多態性最終形成了組件對象模型的基礎,即通過接口(父類)訪問實現(子類)。
  
  三、Java中的I/O操作
  
  Java中以字節流(InputStream和OutputStream)、節符流(Reader和Writer)來分別讀寫二進制數據和字符數據,使用非常簡單有效。Java類庫中的File類不僅提供文件操作而且還包含文件夾操作,如下面這幾行代碼可以列出C盤根目錄下的所有文件:
  
  File f=new File("c://");
  String [] m_dir= f.list();
  for(int i=0;i<m_dir.length;i++)
  System.out.PRintln(m_dir[i]);
  
  四、Java中的圖形及事件處理
  
  可以用awt包或swing包的Java類來進行大部分的Java圖形界面設計,下面的幾行代碼將產生一個200*200像素的窗體:
  
  Frame f=new Frame("Welcome");
  f.setSize(200,200);
  f.setVisible(true);
  
  默認情況下,Frame窗體的關閉按鈕不起作用,這也是Java初學者迷惑的地方。為了使用戶按下關閉按鈕時能關閉Frame窗體,需要讓這個窗體響應一個WindowEvent事件,具體的做法就是給這個窗體添加一個事件監聽器對象,這個事件監聽器就是WindowListener接口的實現。在上面的代碼中插入如下代碼就可以關閉窗體:
  
  f.addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);
  }
  }
  
  這里用到一個無名內部類,無名內部類是Java中內部類的一種靈活運用方式。
  
  五、Java中線程及同步控制
  
  線程概念的引入是為了實現并行處理,從而提高程序的效率。Java中的線程實現非常簡單,可以用兩種方式來創建線程,一種是實現Runnable接口,另一種是繼續Thread類重寫run()方法。兩種方式唯一的不同就是前者保留了繼續一個類的可能(因為Java只支持類的單繼續,但接口沒有此限制)。
  
  永遠都用start()方法來啟動一個線程,線程類中的run()可以被直接調用,但決不是啟動一個線程,二者有著本質的區別。
  
  用同步控制要害字synchronized來保護線程敏感數據,synchronized塊中的內容可以保證同一時刻只能被一個線程訪問,所以其中的數據是線程安全的。
  
  用Object類中的wait()和notify()方法可以實現線程間交互,但要記住wait()和notify()方法只有發生在同一個對象上才能真正實現線程間交互。被某一對象wait()方法阻塞的線程需要另外一個調用了同一對象notify()的線程干預才能恢復運行。notify()方法一次喚醒一個被wait()方法阻塞的線程,notifyAll()方法可以一次喚醒所有被wait()方法阻塞的線程。
  
  六、Java本地方法(native方法)的實現
  
  Java不是完美的,Java的不足除了體現在運行速度上要比傳統的C++慢許多之外,Java無法直接訪問到操作系統底層(如系統硬件等),為此Java使用native方法來擴展Java程序的功能。
  
  可以將native方法比作Java程序同C程序的接口,其實現步驟:
  
 ?。薄⒃贘ava中聲明native()方法,然后編譯;
 ?。病⒂胘avah產生一個.h文件;
 ?。场懸粋€.cpp文件實現native導出方法,其中需要包含第二步產生的.h文件(注重其中又包含了JDK帶的jni.h文件);
  4、將第三步的.cpp文件編譯成動態鏈接庫文件;
 ?。?、在Java中用System.loadLibrary()方法加載第四步產生的動態鏈接庫文件,這個native()方法就可以在Java中被訪問了。
  
  上述所提及的一些Java技術具有一定的普遍性,它們基本上是在Java各個方面的運用中都需要把握的術。實際上Java的運用非常廣泛,而且每個方面都需要遵循不同的規范。以下是對Java應用的簡要介紹。
  
  (一)理解Java SDK的三個版本:
  
  Java SDK Micro Edition  (J2ME)
  
  用于開發掌上電腦、手機等移動通信設備上使用的應用程序。并不是所有的移動設備都支持Java,只有具備J2ME運行環境(JVM+J2ME API)的設備才能運行Java程序。J2ME的集成開發工具(通常都有帶有一些訪真器)有 Sun 的J2ME Wireless Toolkit 、IBM的Visul Age Micro Edition 等。
  
  Java SDK Standard Edition(J2SE)
  
  主要用于開發一般臺式機應用程序。我們平時所說的JDK就指J2SE,而我們學Java就是從學習J2SE開始的。
  
  Java SDK Enterprise Edition (J2EE)
  
  用于開發分布式的企業級大型應用程序。其中的核心是Entetprise Java Beans(EJB,分布式Java組件)的開發。
  
  (二)Java小程序 (Applet)
  
  Java小程序是一個繼續了Applet類并重寫了init()、paint()、stop()等方法的的Java類,它被布署在Web服務器(如IIS)上,當客戶端請求Web頁時,瀏覽器從Web服務器上將其下載到本地客戶端,然后,瀏覽器創建該Applet類的實例并調用其init()方法,從安全角度考慮,Applet沒有訪問本地文件的權限。由于Applet是被瀏覽器執行的,所以Applet不需要一個main()方法。實際上,除了Java application之外,所有其它Java應用都不需要一個main()方法。
  
 ?。ㄈ┓掌鞫薐ava小程序 (Servlet)
  
  Servlet也是一個Java類,和Applet形成對比,Servlet是運行于服務器端的Java小程序,而且Servlet需要一個單獨的Web服務器(如Tomcat)做容器。除此之外,Servlet中用到的一些類(如HttpServlet)并不包含在J2SE API中,所以需要將Servlet.jar(在Tomcat的common/lib文件夾下)加到環境變量中去。下面是一個簡單的Servlet例子:
  
  public class Myservlet extends HttpServlet{
  
  public void doGet(HttpServletRequest request,HttpServletResponse response)
  {
  try{
  response.setContentType("text/Html");
  PrintWriter out=response.getWriter();
  out.println("<html>");
  out.println("<body>");
  out.println("Hello world");
  out.println("</body>");
  out.println("</html>");
  }catch(IOException e){}
  }
  }
  
  將這個Class文件編譯后放至Tomcat/webapps/examples/WEB-INF/classes下,然后在瀏覽器地址欄里輸入http://127.0.0.1:8080/examples/servlet/Myservlet即可看到 Hello world出現在瀏覽器中。
  
 ?。ㄋ模㎎ava Server Page (jsp
  
  同Servlet相似的是,JSP運行于Web服務器端,并且也需要Tomcat之類的容器。不同的是,由于JSP是將Java代碼嵌在html標記里(同ASP一樣用<% ...%>),JSP的界面設計同后臺開發人員的工作可以有效分離??梢韵胂褡岄_發人員用Servlet寫一個花捎的Web頁面有多困難,所以JSP+Servlet混合Web應用是比較理想的選擇。
  
  看起來JSP同asp的實現機制大同小異,其實也存在著本質的區別。所有的ASP頁面都是解釋運行的,而JSP頁在第一次被請求時會被編譯,再以后的客戶請求都是直接運行服務器上的.class文件(在Tomcat的Work文件夾下),所以JSP要比ASP速度上快許多。
  
 ?。ㄎ澹㎎ava Beans
  
  Java Bean 是可復用的組件,對Java Bean并沒有嚴格的規范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是被容器所創建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現Serializable接口用于實現Bean的持久性。
  
 ?。〦nterprise Java Beans (EJB)
  
  Java Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和治理??蛻敉ㄟ^容器來訪問真正的EJB組件。
  
  這種模型很像COM+治理器,其實EJB容器正是起到COM+治理器的作用,只是EJB組件相對COM組件來說更易用、

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品色午夜在线观看| 亚洲视频精品在线| 九九九久久国产免费| 好吊成人免视频| 久久天天躁狠狠躁夜夜av| 亚洲精品乱码久久久久久金桔影视| 欧美有码在线观看| 日韩电视剧免费观看网站| 欧美日韩亚洲视频一区| 国产一区二区成人| 日韩欧美在线中文字幕| 国内外成人免费激情在线视频| 午夜精品www| 中文字幕亚洲欧美| 国产精品久久一| xxxxx成人.com| 亚洲欧洲在线看| 97在线免费观看| 色av吧综合网| 欧美激情精品在线| 亚洲第一精品久久忘忧草社区| 久久久久久久999精品视频| 国语自产精品视频在线看一大j8| 亚洲小视频在线| 97视频在线观看成人| 国产精品中文字幕在线观看| 91精品国产91久久久久久不卡| 国产一区二区三区在线观看视频| 7777精品视频| 福利一区视频在线观看| 亚洲成人网在线观看| 国产成人精品久久久| 久久久久久噜噜噜久久久精品| 91久久国产综合久久91精品网站| 亚洲自拍偷拍视频| 日韩av影视综合网| 亚洲最新av网址| 海角国产乱辈乱精品视频| 亚洲激情成人网| 亚洲国产精品免费| 中文字幕在线看视频国产欧美在线看完整| 日韩在线精品视频| 色综合五月天导航| 国产日韩欧美中文| 欧美丰满少妇xxxxx做受| 欧美做受高潮电影o| 欧美成人精品不卡视频在线观看| 午夜精品久久久久久久久久久久| 国产在线精品成人一区二区三区| 中文字幕精品在线| 成人午夜在线视频一区| 亚洲精品久久久久久久久久久| 亚洲色图国产精品| 日本午夜人人精品| 亚洲社区在线观看| 欧美在线视频一区二区| 日韩av在线精品| 91久久在线观看| 亚洲成av人乱码色午夜| 国产一区二区三区18| 欧美在线视频免费播放| 日韩精品在线免费观看| 国产欧美精品日韩| 亚洲第一色中文字幕| 久久69精品久久久久久国产越南| 亚洲欧美国产日韩天堂区| 久久久久久免费精品| 亚洲成人av在线| 三级精品视频久久久久| 欧美性猛交xxxx偷拍洗澡| 成人黄色大片在线免费观看| 美女视频黄免费的亚洲男人天堂| 欧美日韩国产91| 成人午夜激情网| 日本高清不卡在线| 欧美大片第1页| 一区国产精品视频| 久久综合免费视频| 91chinesevideo永久地址| 国产视频久久久| 精品欧美aⅴ在线网站| 亚洲第一免费播放区| 高清欧美一区二区三区| 国产欧美一区二区三区在线看| 国产在线精品播放| 日韩中文字幕网址| 国产精品白丝av嫩草影院| 亚洲欧美日韩在线高清直播| 欧美最近摘花xxxx摘花| 日韩av网址在线| 国产成人涩涩涩视频在线观看| 亚洲午夜色婷婷在线| 97视频在线看| 日韩欧美在线免费观看| 欧美日韩国产成人在线| 色哟哟网站入口亚洲精品| 中文字幕av一区二区| 91超碰中文字幕久久精品| 91久久国产精品91久久性色| 91国内在线视频| 人妖精品videosex性欧美| 亚洲精品国产精品乱码不99按摩| 精品日本美女福利在线观看| 中文字幕免费精品一区| 亚洲人成网站999久久久综合| 成人精品久久一区二区三区| 国产成人中文字幕| 日韩亚洲国产中文字幕| 亚洲无限乱码一二三四麻| 亚洲国语精品自产拍在线观看| 亚洲性无码av在线| 日韩欧美一区二区三区| 欧美日韩国产精品一区| 久久中文精品视频| 欧美在线不卡区| 日韩网站免费观看高清| 日韩欧美在线观看视频| 久久亚洲精品毛片| 亚洲免费小视频| 在线观看免费高清视频97| 尤物yw午夜国产精品视频明星| 亚洲美腿欧美激情另类| 尤物yw午夜国产精品视频| 成人美女av在线直播| 亚洲国产精品久久久久| 国产一区二区三区欧美| 狠狠躁夜夜躁久久躁别揉| 欧美壮男野外gaytube| 国产成人精品亚洲精品| 欧美日韩国产999| 久久久久日韩精品久久久男男| 国内揄拍国内精品少妇国语| 久久久久久久久久久成人| 日韩精品中文字幕久久臀| 88xx成人精品| 黄色一区二区在线观看| 两个人的视频www国产精品| 成人黄色网免费| 51视频国产精品一区二区| 国语自产精品视频在线看| 久久久欧美一区二区| 精品欧美一区二区三区| 在线观看免费高清视频97| 亚洲韩国日本中文字幕| www.亚洲成人| 日韩激情视频在线播放| 精品国产乱码久久久久久天美| 亚洲日本aⅴ片在线观看香蕉| 日韩电影大片中文字幕| 欧美一区二区三区艳史| 疯狂做受xxxx欧美肥白少妇| 精品久久久久久亚洲精品| 亚洲国产欧美日韩精品| 中文字幕精品一区二区精品| 欧美日韩激情美女| 欧美激情视频一区二区三区不卡| 成人免费看黄网站| 国产精品视频网址| 亚洲深夜福利网站| 日韩电影视频免费| 久久九九国产精品怡红院| 国产精品偷伦视频免费观看国产| 色偷偷av一区二区三区| 欧美特黄级在线|