當前位置:才華齋>英語>等級考試>

計算機二級考試:Java語言學習六大要點

等級考試 閱讀(2.66W)

  一、掌握靜態方法和屬性

計算機二級考試:Java語言學習六大要點

靜態方法和屬性用於描述某一類物件群體的特徵,而不是單個物件的特徵。Java中大量應用了靜態方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。理解靜態方法和屬性對於理解類與物件的關係是十分有幫助的,在大量的Java規範中,靜態方法和屬性被頻繁使用。因此學習者應該理解靜態方法和屬性。Java在方法和屬性的呼叫上是一致的,區別只表現在宣告的時候,這和c++是不同的。

  二、重視介面

在面向物件早期的應用中大量使用了類繼承。隨著軟體工程理論的不斷髮展,人們開始意識到了繼承的眾多缺點,開始努力用聚合代替繼承。軟體工程解決擴充套件性的重要原則就是抽象描述,直接使用的工具就是介面。介面近年來逐漸成為Java程式設計方法的核心。另一方面,就應用而言,大部分開發是建立在規範基礎之上的,不需要自己建立複雜的繼承關係和龐大的類。因此讀懂規範和用好規範已經成為應用程式開發人員的首要任務,Java各項規範的主要描述手段就是介面。

  三、學好集合框架

Java描述複雜資料結構的主要方式是集合框架。Java沒有指標,而是通過強大的集合框架描述陣列、物件陣列等複雜的資料結構。學好這些資料結構的描述方法對於應用程式編寫,特別是涉及到伺服器方、3層結構程式設計至關重要。程式設計師在這個時候不能再用諸如資料庫結果集之類的結構描述資料了。

由於很多語言沒有這麼強大的集合框架體系,很多初學者不知所措,更不知道拿來做什麼用,因此應該引起足夠的重視。

  四、例外捕捉

Java對例外捕捉的強調是空前的,它強迫程式設計師用顯著的與邏輯方法完全不同的方式描述例外捕捉,對於程式描述的完整性和嚴謹性有很大的意義。c++也有類似的機制,但是我們看到很多c++程式設計師並不習慣使用這些機制。

Java的初學者應該充分學習好這種例外捕捉機制,養成良好的程式設計習慣。

  五、多執行緒需要理解機理

很多Java程式設計師熱衷於多執行緒程式編寫,認為是對邏輯能力的挑戰。其實在大量應用中根本就不需要編寫多執行緒程式,或者說大多數編寫應用程式的程式設計師不會去寫多執行緒程式。這是因為多執行緒機制都內建到基礎平臺當中了。

程式設計師應該瞭解的是多執行緒原理和多執行緒安全,這對於今後準確地把握程式是至關重要的。

例如JSP中編寫到不同的位置對於多個使用者環境的安全影響完全不同,又如著名的Super Servlet是每一個訪問作為一個程序,但是每一個頁面是一個執行緒,和Servlet正好相反,對程式的效能和安全的影響有天壤之別。

  六、瞭解網路程式設計

Java號稱是最強的網路程式語言,但是大多數應用程式開發人員是從來不會自己開發什麼底層的網路程式的。

需要做只是瞭解原理就夠了。網路機制的實現是靠平臺實現的,除非自己開發平臺,否則是不需要知道socket怎麼實現,怎麼監聽訪問的。因此在這方面花太多的功夫就偏離了“將來的應用開發是在成熟的`平臺上展開,而不是自己從底層開發平臺”這一假設。

  Java效能監控小技巧:

 附帶分析器

許多開發人員沒有意識到從Java 5開始JDK中包含了一個分析器。JConsole(或者Java平臺最新版本,VisualVM)是一個內建分析器,它同Java編譯器一樣容易啟動。如果是從命令列啟動,使JDK在PATH上,執行jconsole即可。如果從GUIshell啟動,找到JDK安裝路徑,開啟bin資料夾,雙擊jconsole。

當分析工具彈出時(取決於正在執行的Java版本以及正在執行的Java程式數量),可能會出現一個對話方塊,要求輸入一個程序的URL來連線,也可能列出許多不同的本地Java程序(有時包含JConsole程序本身)來連線。

使用JConsole進行工作

在Java 5中,Java程序並不是被設定為預設分析的,而是通過一個命令列引數—emote——在啟動時告訴Java 5 VM開啟連線,以便分析器可以找到它們;當程序被JConsole撿起時,您只能雙擊它開始分析。

分析器有自己的開銷,因此最好的辦法就是花點時間來弄清是什麼開銷。發現JConsole開銷最簡單的辦法是,首先獨自執行一個應用程式,然後在分析器下執行,並測量差異。(應用程式不能太大或者太小;我最喜歡使用JDK附帶的SwingSet2樣本。)因此,我使用-verbose:gc嘗試執行SwingSet2來檢視垃圾收集清理,然後運行同一個應用程式並將JConsole分析器連線到它。當JConsole連線好了之後,一個穩定的GC清理流出現,否則不會出現。這就是分析器的效能開銷。

JConsole或VisualVM?

JConsole從Java 5開始就隨著Java平臺版本一起釋出,而VisualVM是在NetBeans基礎上升級的一個分析器,在Java 6的更新版12中第一次釋出。多數還沒有更新到Java 6,因此這篇文章主要介紹JConsole。然而,多數技巧和這兩個分析器都有關。

 2.遠端連線程序

因為Web應用程式分析工具假設通過一個套接字進行連通性分析,您只需要進行少許配置來設定JConsole(或者是基於JVMTI的分析器,就這點而言),監控/分析遠端執行的應用程式。

如果Tomcat執行在一個名為“webserve”的機器上,且JVM已經啟動了JMX並監聽埠9004,從JConsole(或者任何JMX客戶端)連線它需要一個JMX URL“service:jmx:rmi:///jndi/rmi://webserver:9004/jmxrmi”。

基本上,要分析一個執行在遠端資料中心的應用程式伺服器,您所需要的僅僅是一個JMX URL。

 3.跟蹤統計

JConsole有許多對收集統計資料有用的選項卡,包括:

◆Memory:在JVM垃圾收集器中針對各個堆跟蹤活動。

◆Threads:在目標JVM中檢查當前執行緒活動。

◆Classes:觀察VM已載入類的總數。

這些選項卡(和相關的圖表)都是由每個Java 5及更高版本VM在JMX伺服器上註冊的JMX物件提供的,是內建到JVM的。一個給定JVM中可用bean的完整清單在MBeans選項卡上列出,包括一些元資料和一個有限的使用者介面來檢視資料或執行操作。(然而,註冊通知是在JConsole使用者介面之外。)