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

來源:文萃谷 2.58W

  一、掌握靜態方法和屬性

計算機二級考試: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用户界面之外。)

熱門標籤