Archive for category SUN
全球經濟低迷的”證照“選擇
Posted by admin in Certification, Cisco, SUN on 2009年9月10日
自從2008年世界金融危機開始以后,全球的經濟處于低迷狀態,各行各業的發展都吞吐著蝸牛式的氣息。公車上,茶餐廳中,朋友之間的談話似乎都無法脫離現在的生意不好做。以前那么忙碌的氣息在這個城市蕩然無存。每個人都在等待著美好的機遇。殊不知,沒有努力哪有巧克力給您吃。面包是要靠自己去爭取的。全球經濟都呈現下滑的趨勢下,考取證照就成了眼下充電的唯一選擇。一語道破夢中人,讓許多等待的人有了自己新的想法。
那天在KFC簡約餐廳中,一位朋友吐露著他的煩惱。他原本在一家軟體公司做著程式工作,美國的總公司倒閉了,這個公司倒閉了,他后悔著,為什麽當時不及時進行充電。每個人都為著自己的前途奔波著。何為生活?就是讓自己不再閑下去,像蜜蜂一樣處于忙時。看著他這么難過的神情,本來準備安慰他。誰料想,還沒有等我開口,現在好了,我終于可以干自己未干完的事情——-給自己充電!現在我在準備著SCJP,SCJD, SCWCD證照,這些都是程式人員必備的證照,看著他灰灰一笑,我也感慨著自己的未來。
看著每個人都在為自己的前程充電著,自己也在感慨,趁年輕的時候多學些技術充實了自己。目前在這種情況下,擁有一份工作才是重中之重,如今用人單位一方面重視著應聘者的能力,另一方面將認證作為進入公司工作的奠基石。讓自己不再等待別人給你機會最好的方法就是讓自己充實起來。全球經濟處于低迷狀態,是一個短時間無法修復的現實。這種情況下,既是一個給自己進行充電,學習考取證照的最好機會,彌補自己以往感嘆的遺憾!在準備著CCNA證照時,對自己很沒有信心,這是決定我以后命運的轉折點。非常慎重,有些人勸我不要去奮斗,年輕人就在要在社會經歷中學會奮斗,不能安于現狀。在從多壓力中,我終于頂住壓力報考了CCNA 640-802考試。在這時, KillTest考古題網給了我通往考取CCNA證照的光明途徑。終于以980分的高分取得CCNA證照,完成了在低迷狀態下考取CCNA證照的夢想。
SUN 310-202最新認證資訊
目前 Java 相關的認證有四個,分別是 SCJP、SCWD、SCJD、SCAJ,考試時皆以英文出題,但在臺灣 SCJP 考試可以選擇使用繁體中文版考題。這幾項認證考試的特點分述如下:SCJP (Sun Certified Java Programmer ):測試 Java 程序設計的觀念和能力,內容偏重於 Java 語法和 JDK 內容。共59題復選及填充,時間2小時,答對61%是及格。
SCWD (Sun Certified Web Component Developer for J2EE Platform ):內容涵蓋 Servlet 與 JSP 。考題為 60 題復選及填充,時間 2 小時,答對 70% 是及格標準。SCJD (Sun Certified Java Developer ):測試 Java 軟件開發的進階技能,考試分成兩階段, 第壹階段是程序設計題,時間無限制,答對 80% 以上就可以進入第二階段應試。SAS10 310-202最新考古題下載 第二階段是 5-10 題簡答題,時間 90 分鐘,答對 70% 以上即可得到 SCJD 認證。SCAJ (Sun Certified Enterprise Architect for J2EE ):測試對於 J2EE 架構的熟悉程度以及系統整合的能力。本考試分成三個階段,第壹個階段是 48 題復選題,時間 75 分鐘,答對 68% 以上方可進入下階段。第二階段是系統設計專題,無時間限制,答對 70% 以上方可進入下壹階段。第三階段是四題申論題,應試時間 90 分鐘。
SUN 310-200題庫更新資訊
據臺灣知名人士透露,自從報道SUN被Oracle兼并后,越來越多的IT工作者想考SUN認證來充實自己的技術,也為自己的前途奠定了一個基礎的,SUN證照也成了越來越多的招聘單位為難應聘者的攔路石。為了能進更好的就業單位,他們拼命的考SUN證照。最近SCJP,SCWCD證照很多。程式發展還是臺灣IT軟體發展一大趨勢。8月9日 SUN 310-200考古題已經變題了。這令許多考生開始緊張起來,其實還是那句老話:心態決定一切,心態最重要。
一直關注著幾個題庫網站,急著尋訪一下310-200題庫的事情。終于找到了一家最新310-200題庫網(www.killtest.net),因為考過310-200失敗后,了解了考試試題,心里還是蠻開心的,09年8月9日更新的,300道題目,軟體和PDF版本均有。覆蓋率100%,我考過了。很感謝KillTest考古題的幫助!當時第一次考的時候,有好多題都變了,當時就愣住了,我慌了,呆了,完全不知所措,幸好第二次在KillTest考古題的幫助下過了。
分享SCJP證照考試心得
SCJP考中文或英文版?考5.0或6.0?有網友mail詢問我這個問題。剛好最近有一個朋友去考SCJP中文版,在此分享一下他的SCJP考試心得。
一、就我長期蒐集考古題的心得,網路上分享的考題只有英文版或簡體版,並沒有繁體中文(知道有的朋友讓我知道哪邊有)。
二、我的認知是,考試是考試,不要完全想用實力不準備就去考,所以練一下『很準』的題庫是必要的,畢竟證照不值得投資太多時間在『準備』上–把時間用在磨練技術比較實際。
三、若準備英文版的試題而去考中文版的考試,在真正考試時會很不習慣(有幾個專有名詞翻譯可能和你看的中文JAVA書不大一致)。
四、好幾本書及SUN的網站都告訴你報名『中文考試』時,考試的時候可以隨時切換成英文的考題。不過,我周遭考中文版的人都告訴我根本找不到可以切換中英文的功能,我看網路上的討論區好多人也這麼說。
五、重點是,既然要考國際證照,既然要走JAVA這條路,熟悉英文是必要的,要不然以後你寫程式的時候怎麼查JDK的文件?不會查英文文件一定沒辦法成為好的設計師的(程式語言何其浩瀚,工程師都是需要的時候才去查語法)。
結論:建議還是考英文版吧!
至於考5.0或6.0,業界找人才若需要證照證明你有這個技能,5.0或6.0沒甚麼差啦,版本不會有任何影響。倒是若堅持要考最新版的6.0,建議還是先找到確認【很準的考題】再去考心理會踏實一點。在網路中尋訪了許多關于SCJP考古題資料,覺得KillTest考古題網的310-065考古題覆蓋率比較高,通過率絕對可以相信,而且客服人員服務態度非常好,定期將更新的考古題至函您的郵箱,310-065考古題是最新的,7月20日進行更新。
KillTest 310-065最新考古題下載:SCJP 310-065 考古題
SCJP考古題讓我無法釋懷
記憶如片片小舟一般漂浮在腦海里。當你不經意時,其中的一葉小舟,就會浮現在窗口中,讓自己的心與腦不停的運轉。往日的前景浮現,無法讓人釋懷。生活是由一片片碎片組成,或許無法把整張紙都回憶起來,其中的一些碎片卻能清楚地呈現在你的面前。不經意間碰到熟悉的書本會想起過往的一些事情,無法從腦海中抹去。今天,隨便翻開書廚中的幾本書,一些畫面從指間中不輕易的流淌出來。那是一個技術研討會,應邀參加。著名的JAVA專家們向我們提出了好多建議,他們認為SUN證照對于自己的事業是非常有幫助的。專家們都指出:您要想進入您理想中的單位,除了有非常高超的技術職能,還需要具備他們所需要的硬性條件,所謂的硬件條件就是您具備了SCJP,SCJD,SCWCD這些非常有說服力的證照。當時一點都不以為然,認為現在的一切還可以吧。懂得滿足也許沒有煩惱吧。
SCJP的證照真的決定我的一切。兩年前我是因為它才與她失之交臂,兩年后我又是因為它找回了她。兩年前在一次偶然的同學聚會中,我與她相識,當時就深深的被她的一切所吸引,壓抑著自己的情緒,她就像個快樂的小公主,那么光環四射。也許在別人眼中,她算不上什麽,可是她的可愛性質深深的打動了我的心。我想盡辦法,與她接近,可是卻總是被她拒絕。當時她已經有了一個男朋友,從與她的接觸中,她欣賞有才華的男士。我深知我的能力配不上她的美。于是我就問她:“我怎麼才能追到你?”可能有些直接,她愣了一下,她說:“如果你在兩個月中考上SCJP,我就給你一次追求我的機會。”這對于我只懂得了一些簡單的JAVA技術的蝦兵來說,簡直是天方夜譚。為了她,我只有花廢所有的力氣去拼。這個世界上難得遇到一個我喜歡的人,為了她我愿意做任何事情。我參加了一個培訓班,花了當時一個月的工資,去拼命的學,可是在兩個月后的考試中,我失敗了。無臉見她,她注定與我無緣,沉悶了好久,鼓足了勇氣打了一個電話給她:“我失敗了,你注定不屬于我。”她笑了笑說:“我很欣賞你的這種為愛犧牲的精神,我決定出去兩年,如果兩年后,我們再次重逢,那就說明我們有緣吧。”兩年之約,讓我的心重起了光明。
兩年之間我一直在努力的考SCJP證照,就算不為她,為了以后的前途,我也要考上SCJP,我一直為之努力著。其實我一直在期待著與她的相逢。一次朋友聚會,我明白了她當初為什麽要提出這樣的條件,她是為了刺激我的上進心,她只是和朋友說我人很不錯。當時她已和男朋友處于分手的邊緣。我真的很愛她,就算現在仍不能釋懷。公司有一個機會讓我當上了項目管理,必須要懂一些JAVA編程基礎,于是我拼命的去考,可是自己畢竟僅憑那一點寒微的基礎,通過SCJP證照肯定是有困難的。這時,聽同事說他考過了CCNA,用的是KillTest考古題網(www.killtest.net)考古題,似乎這個信息給了一只無頭的蒼蠅一些希望的曙光。于是在剩余的兩個星期內,首先去同事介紹的KillTest考古題網(www.killtest.net)購買了SCJP 310-065的考古題,客服人員服務態度非常好,不僅為我提供免費考古題更新服務,而且在購物車直接輸入killtest字樣,就獲得了九五折的折扣。更讓我喜出望外的是,KillTest考古題網承諾一次性不通過,全額退款。他們已經幫助數千位SCJP成功的取得SCJP證照。接下來的時間里,我苦讀了SCJP 310-065考古題,將上面的每一道題都看會了,作好充分準備去參加考試。進入考場時還是有一些緊張,畢竟這場考試對我來說具有雙重意義。兩個小時的欲血奮戰,讓我露出了笑臉。讓我意外的是,當我走出考場時,竟讓我與心目中的她相逢。這算是上蒼對我的眷顧吧。多虧了KillTest的310-065的考古題,不僅讓我得到了心中之愛,還讓我成功的獲得了事業的成功。SCJP考古題,真的讓我這一輩子無法釋懷。
淺談Java網站開發過程中的優勢
Java是壹種被廣泛使用的網絡編程語言。隨著Internet的發展,Java語言以其強大的生命力得到了越來越廣泛的應用。Java語言之所以受人推崇,是因為它確實稱得上是壹種新壹代編程語言,具有面向對象、可移植性好、與硬件無關、系統強健安全、提供了並發機制、性能高的眾多優點,並提供了茶葉網站分布性、多線程、動態性的支持。Java SUN 310-065 繁體版 考古題 作為壹種重要的開發工具,它具有七個主要特性:安全性、核心API、開放式標準、分布式和動態結構、面向對象、多線程、內存管理。
(1)安全性
安全性是Internet開發者面臨的最重要的問題。用戶最怕兩件事:保密信息被竊取或計算機系統被黑客破壞。Java的內置式安全性解決了這兩個問題。Java的安全性模型有三個基本組成部分:類裝入器、字節代碼驗證器和安全管理器。字節代碼驗證器確保Java程序的茶葉網站編譯正確,遵循VM的訪問限制。下壹層安全性是由類裝入器提供的。類裝入器從網絡上獲取類時把來自不同服務器的類相互分開並與本地類區別開來。通過這樣分離,類裝入器就可以防止網上裝入的類假裝成標準的內置/內置式類,或幹擾從其它服務器裝入類的操作。
安全管理器實現VM的安全性策略。安全性策略確定VM可以進行什麽活動,在什麽條件下進行。例如文件的輸入/輸出(I/O)中存儲和裝人磁盤文件中的文檔。VM有能力讀取或寫人文件,但首先要經過茶葉網站源碼安全管理器I/O 檢查。這使安全管理器能確定Java程序是否可以訪問磁盤文件而不會對文件系統造成惡意傷害。
安全管理器通常用於防止警告性錯誤。例如在Java允許使用的瀏覽器netscape navigator中,安全性策略甚至不允許文件訪問。安全管理器本身也是用Java編寫的(是壹個Java類文件),所以必要時可以覆蓋。同時,Java也有措施來防止敵意的Java程序寫入自己的安全策略。這些措施將防止web瀏覽器運行時將其它安全管理器加人系統。總之,Java的安全性措施保證Java程序在VM規則下操作,防止未授權的程序訪問包含專有信息的系統資源或危及客戶機的完整性。
(2)核心API
API即應用程序編程接口,是應用程序開發者為了更快地構造軟件而使用的功能庫。Java的核心API提供了壹組系統平臺上常用的功能。API分成多個軟件包。它們是分別完成相關功能的類。這些軟件包之壹包含壹些核心語言功能,如文字處理和錯誤處理,沒有這個庫,Java程序的編寫幾乎是不可能的。其它軟件包中包含實用程序、聯網、i/o、圖形用戶接口工具和與web瀏覽器的接口。
(3)開放式標準
Java VM已經出現在十幾種不同的硬件與操作系統組合中。Java跨平臺能力的最大優勢在於Java類文件不需要預先針對每個平臺進行編譯。在系統中編寫的Java應用程序可以運行在所有支持Java的系統平臺上。Java的另壹個成為跨平臺開發工具的關健是每個平臺上有專用的核心功能集。核心Java? API對Java的所有實施都是壹樣的,它無需對桌面應用程序編寫本地碼。
Java學習筆記
大約在兩周前,正式開始學習Java了,視頻講座,資料,插件,工具什麽的下了壹大堆,還不忘拷貝給同事。因為老楊說過公司可能要應用JSF + Hibernate. 先看了JSF的視頻,覺得真好玩,就先玩起了JSF.不過第壹個程序讓它跑起來還真不是那麽容易的。ok,讓我記錄下這個過程吧。
第壹步,創建web工程
J2ee SCJP 310-065 下創建web project,這沒什麽說的了,不過以前在eclipse中總是不知道怎麽創建web應用,夠傻的,原來需要插件,在myeclipse提供了全套的插件。不過Myeclipse需要破解。中國程序員似乎很少用正版的。言歸正傳,Myeclipse中需要在Open Perspective中選擇J2ee enterprse視圖。然後創建web project.這跟delphi的New壹個project不太壹樣,delphi把所有可以new的都放在壹個窗口中,而eclipse有不同的視圖來提供管理,這算壹種進步吧,插件化的進步。接下來需要 Add JSF Capability,因為這個類庫(不知道是否應該稱為類庫)支撐了JSF開發需要的組件。
第二步,創建bean
在New-àother中的Myeclipse-àweb-JSF下有managed bean,創建bean可以連Java類文件壹起創建,且可以將需要的屬性壹起完成,myeclipse可以自動完成屬性的get,set方法。是個比較酷的功能。
第三步,創建,編輯jsp文件
在工程的webroot——>web-inf下面有壹個facesconfig.xml文件,這個文件是Javabean的管理文件,同時它管理了頁面之間的切換關系,起到導航頁面的作用。有趣的是這個文件居然有個漂亮的design界面,可以在上面創建新的jsp文件,且可以用拖拽方式定義頁面之間的關系,讓所有頁面的關系看起來很直觀。感覺這裏是個很酷的設計。頁面的導航是根據壹個字符串來作為判斷依據的,所以在配置導航關系時,只要設定From outcome的值為調用bean方法的返回值即可。值得註意的是,JSF對於導航值只允許string類型。
Jsp頁面的編寫其實很方便,即使不太懂,因為myeclipse提供了拖拽式的頁面設計,如果熟練直接寫代碼也很好玩吧。我以前壹直很討厭html的代碼,因為覺得太機械了,且不好記憶,這會得硬著頭皮學了,不過在這種拖拽式的設計中可以省不少力氣。記得jsp中使用Java采用“”的方式,這會是:“#{}” 直接以bean來調用。
第四步,本地化
如果需要考慮國際化的問題,那麽需要創建壹個。properties的文件,否則可以跳過這裏。。properties文件需要創建到源碼文件的目錄下,否則在指定位置時便會找不到它。。properties文件的配置非常簡單,如同壹個ini文件。如:”username=user name”, 如果要顯示中文的話,這裏需要轉化為unicode,jdk帶了壹個native2ascii的小工具可以輕松轉換,不過這個玩意每次復制的時候都要先將編輯設為“標記”。不知道有沒有更方便的工具。
SunSpectrum Support
At Sun, our vision is to eliminate the “Digital Divide” that prevents people from getting an education because they don’t have access to the right technology. Bridging this divide will accelerate everyone’s ability to join the Participation Age, enabling us to learn, share, interact, and solve problems together. To fulfill that vision, Sun’s mission is to help customers build the Digital Campus, a unified campus network in which individuals can interact and collaborate—no matter where they are—in a seamless, secure, personalized environment for learning and achievement.
SunSpectrum Support helps companies around the world retain competitive advantage, run more efficiently and deliver on customer commitments. With offerings ranging from basic hardware and software service plans to enterprise-wide IT infrastructure support, Sun provides the expertise, fast response, product updates and tools you need to excel in IT Operations and in your business. No wonder the top 10 companies in many of the world’s most technology-intensive industries trust Sun to help them maintain their IT infrastructure and get the most of their assets.
At a Glance
Award-winning quality-of-service
Prevention and rapid problem resolution
Alerts, technical resources and product updates
Services tuned for specific Sun products
Support for 8,000+ multivendor systems
Choice of service levels / price points
Single-contract simplicity
考過SCJP心得體會
今天上午,我去考了scjp(Sun Certified Java Programmers),passed with 98%,有一道题没对,其它都对了。 如大家所说,scjp考试比较简单,但是我还是花了1个多月去准备,因为考试费用太贵¥1250,我想尽可能考过SCJP。本着资源共享的原则,我将我当初下载的东西整理出来,很多东西都来源其他的网站,可能没有一一注明,因为我也记不得当初从什么地方来的了。如果没有困难,建议最好看原站点的东西。有些东西是PDF格式的,如果没装PDF,可用Adobe PDF软件浏览。如果KillTest网站能给考SCJP的人一点帮助,我对JAVA只有一些基础,但是真的没有任何实力考过,于是我只能借助SCJP学习资料!先简单介绍一下Java认证考试,对于Java程序设计员,Sun推出两项认证:Sun Certified Java Programmer (SCJP)和Sun Certified Java Developer(SCJD)。 SCJP测验您的Java程序设计概念及能力,内容偏重于Java语法及 JDK的内容;SCJD则进一步测试您用Java 开发应用程序的能力,您必须先完成一个程序的设计方案,再回答与此方案相关的一些问题。
PDF文件下載:310-065
考试科目 考试编号 考试型式 及格分数 考试时间 费用(RMB) 相关培训课程 应考资格要求SCJP(Sun Certified Java6 Programmer) 310-065 59道选择题、简答题 答对61%以上 120分钟 1250 SCJD(Sun Certified Java2 Developer) 到SUN教育培训中心报名 程序设计题 通过程序设计 不限 2100 SL-065 Java Progeamming Language Workshop 通过SCJP310-027 5-10道简答题 答对70%以上 90分钟 1250 通过SCJP及SCJD程序设计题
大家都是高人,不要去参加什么培训了,你要培训课程,网上找得到。SCJP的培训课程没什么大用。SCJP基本上都是选择题,简答题最多1,2题,我没碰到。具体信息可以到 http://www.sun.com.cn/education/sun-auth.html去仔细看,考点,样题都可以找到,建议最先看考点。而且直到考试都应该时时看……
SCJP 310-065考試要點
Sun 310-065 Exam Java平臺標準版本6認證程序員 Sun Java平臺標準版6程序員認證考試面向有使用Java程序設計語言經驗的程序員。如果能通過這門認證,則證明此程序員理解Java程序設計語言的基本語法和結構,並且可以使用Java SE 6創建運行於服務器和桌面系統的Java技術應用。
第1節:聲明、初始化和範圍
編寫代碼,聲明類(包括抽象類和各種形式的嵌套類)、接口和枚舉,並包含包和import語句(包括static imports)的適當使用。
編寫代碼,聲明接口。編寫代碼,實現或擴展壹或多個接口。編寫代碼,聲明抽象類。開發代碼,擴展抽象類。
編寫代碼,以靜態、實例和局部變量方式聲明、初始化和使用基本類型、數組、枚舉和對象。並使用正確的變量名標識符。
編寫代碼,聲明靜態和非靜態的方法,如果可以的化,使用符合JavaBean命名標準的方法名稱。編寫代碼,聲明和使用變量長度參數列表。
給定示例代碼,確定某個方法是否正確地重載了另壹個方法,確定方法正確的返回值(包括共變返回)。
給定壹組類和父類,為壹個或多個類編寫構造函數。給定壹個類聲明,確定是否要創建壹個默認的構造函數,如果是這樣,確定構造函數的行為。給定壹個嵌套的或非嵌套的類列表,編寫代碼將類實例化。
第2節:流控制
編寫代碼實現if或switch語句,認識這些語句的正確的參數類型。
編寫代碼實現所有各種形式的循環和叠代,包括使用for、增強循環(for-each), do, while, labels, break和continue;並講解在循環執行過程中和循環執行完成後,循環變量的取值情況。
編寫代碼,使用斷言,區分斷言的正確和錯誤使用。
編寫代碼,使用異常和異常處理語句(try, catch, finally),聲明有拋出異常的方法和重載方法。
了解在代碼段中某個點拋出異常的結果。註意,異常可能是運行時異常、檢查異常或錯誤。
了解可能導致下列異常發生的情況:ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError或NoClassDefFoundError。理解虛擬機會拋出哪個異常,了解程序拋出這些異常的情形。
第3節:API內容
編寫代碼,使用基本封包類 (如Boolean, Character, Double, Integer等),和/或自動裝箱、拆箱。討論String, StringBuilder和StringBuffer這幾個類之間的區別。
給定壹個涉及以下操作的情形:涉瀏覽文件系統、讀寫文件或與用戶交互,從java.io中使用下列類(有時候要組合使用)編寫正確的解決方案:BufferedReader、BufferedWriter、File、FileReader、FileWriter、PrintWriter和Console。
使用到java.io中的下列API編寫用於實現對象序列化和/或去序列化的對象:DataInputStream、DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream和Serializable。
使用java.text包中的標準J2SE API,正確地對某個文化中的日期、數字和貨幣值進行格式化或解析;並且,給定壹個情景,如果要用默認文化或某種特定的文化,確定適當的所需使用的方法。講解java.util.Locale類的目的和使用方式。
編寫代碼,使用java.util.regex包中的標準J2SE API,對字符串或流進行格式化或解析。為字符串編寫代碼,使用Pattern和Matcher類以及String.split方法。認識和使用正則表達式的匹配(限於:.(dot), * (star), + (plus), ?, \d, \s, \w, [], ()). *, +, 和?的使用 將限於貪婪方法,括號只用於組機制,而不是匹配過程中的捕獲內容。為流編寫代碼,使用Formatter和Scanner類以及PrintWriter.format/printf方法。認識和使用格式化字符串中的格式化參數(限於: %b, %c, %d, %f, %s)。
第4節:並發
編寫代碼,使用java.lang.Thread和java.lang.Runnable定義、初始化並啟動新的線程。
認識線程能退出的狀態,了解線程狀態從壹個轉到另壹個的途徑。
給定壹個情景,編寫代碼,適當使用對象鎖定方式,保護靜態或實例變量不發生並發訪問問題。
給定壹個情景,編寫代碼,正確使用wait, notify, 或notifyAll。
從C++轉到Java需注意的地方
1.Java在虛擬機上運行
Java源代碼並不是被編譯成為普通的機器代碼。而是被翻譯成為虛擬機可以執行的代碼。一個Java解釋器最終執行這些代碼。這其中沒有連接的過程;解釋在需要的時候動態的加載一些類;
2.Java是完全面向對象的
Java是一種完全面向對象的語言。這意味著你對任何一個Java對象所做的動作都是通過一個方法實現的。第一點就是,再也沒有沒有主函數這樣的孤立的東西了。取而代之的是,你必須開始用一個對象的看法看待一個程序,一個類的對象。但是這個對象又什麼對象呢?大多數Java程序只是簡單的通過繼承Java基礎類Object來實現所需要的東西,但是你可以通過創建程序基礎類用於多個特性相似的應用程序來節省時間。
嚴格的面向對象的規定意味著理用原有的C/C++代碼不可以直接不加改動的使用;系統調用也是這樣的。 C++中,你可以通過在C++正常的命名空間外聲明extern”C”來使用原有的C的過程調用,包括系統調用
在Java中,只有一個類似的安全回溯的方法,但是並不是十分簡單的方法。你必須定義一個本地方法,其目的是為C語言提供接口,然後提供連接的介質。 Java環境提供了完成這種任務的工具,但是整個過程和C++中提供的extern比微不足道,完成使用C++類的過程則更加複雜,因為這樣會引入對C的藉口和C函數和C++成員函數的問題。
幸運的是,許多常用的系統實用工具函數已經在系統類中的方法中提供出來,但是這些明顯沒有包含經過許多年來你所創建的那些類和過程。所以,在你需要的時候你應該去鑽研一下。
3.Java中沒有獨立的頭文件
在Java中,關於類的一切東西都被放到一個單獨的文件中。方法的位置只可能在一個地方出現,一個方法的實現必須在它的定義過程中同時進行。這樣做得優點是在實現程序的時候不容易因為文件的非同步錯誤而失敗,或者獲取到一個沒有實現的聲明。類的聲明可以被Java解釋器利用甚至是從一個編譯過的單元中獲取,所以不再需要有頭文件,只要有編譯過的文件。
這樣做的缺點與我們編程的過程有關。許多C++程序員喜歡用頭文件來代替文檔。要看一個成員函數的接口參數,只需要看頭文件中的聲明即可。你可以經常的看頭文件即可了解怎樣去使用這個類。在Java中,沒有這樣的總結。因為實現類方法的代碼必須在方法定義的時候出現,而且,對於一個單獨的函數的代碼來說就經常佔據了一整頁乃至更多。這樣,很難通過看Java的代碼就初步了解類是怎樣使用的。你必須為你需要的類準備足夠多的文檔。不言而喻,再處理非商業類庫的時候文檔是極度缺乏的。
在當先的Java環境中提供了兩個工具來補償這些,javap來打印類標識,javadoc為嵌入式程序提供HTML文檔。
4.用Package來分解Java命名空間
在大的C++工程中經常遇到的一個問題是命名空間–怎樣保證工程的一些程序員不會創建和另一些程序員一樣名字的類?更糟糕的是,供應商可能會提供一個包含和你的類一樣名字的類的庫。有許多方法可以解決這一問題,但是很可能在問題發現之前工程已經啟動,改正錯誤是需要付出許多痛苦的。
Java通過”Package”這個概念解決了這個問題,Package有效地通過通過集合類劃分了命名空間。在不同包內的兩個同名的類仍然是不同的。關鍵問題就變成了類是否放置到相應的包中。
記住,Java並沒有解決命名衝突的問題。擴展一個基類而引起了派生類的衝突。比如說,如果你最喜歡的供應商提供了一些類,然後你把它們用做基類並且派生有一個foo方法的類,當供應商提供一個新版本的類的時候就可能出現,如果供應商業也在新類中提供了一個foo的方法。
5.異常是Java的重要特性
在C++中,異常和異常處理是十分深奧的事情;許多C++程序員從沒有處理過它們甚至不知道它們是何物。異常是在正常的過程中出現的未預料的錯誤,因此,它們不會從方法中返回,或者作為參數傳入;但是,它們不能被忽略!這裡的一個例子是計算一個書的方根的方法。正常的接口形式是將一個正數作為參數傳入方法,然後方法會返回一個正實數作為結果,方法可以檢驗這些並且在異常產生的時候拋出異常。在大多數係統中,程序員並不是必須這樣做,這樣,一個沒有考慮到的異常可以使程序不正常的退出。
在Java中,異常已經成為語言中非常成熟的部分。方法的說明中就包含了異常的信息,程序處理器也強制檢驗如果你使用了一個能夠產生異常的方法,你就必須檢查異常是否發生。幾乎所有的Java程序員都會遇到異常的情況,因為許多非常有用的庫中的類都會拋出異常。處理異常並不難,但是在一些時候是需要注意的。一個方法的文檔會指明方法拋出的異常的類型。如果你忘了,不要緊,編譯器會提醒你的。
6.字符串不再是字符數組
Java中包括了一個字符串的對象,並且是個常量。字符串不像字符數組一樣,雖然可以簡單的從一個字符數組構造一個字符串。你應該盡可能的用字符串代替字符數組,因為他們不會因為誤操作而被覆蓋。
7.Java限制了常量對象和方法
在C++中,你可以正式的聲明一個函數參數或者函數返回值為const類型,這樣可以有效的防止對參數或者返回值的不正當修改。另外,你可以聲明一個成員函數為const,表明它不可以修改任何他操作的對象。
Java支持常量操作符,只讀變量,這些通過final關鍵字實現。但是Java沒有支持強制的使一個可寫變量在函數傳遞、返回的過程中變為只讀。或者定義一個不操作修改對象的常量方法。
在Java中,這個省略帶來的影響和在C++中相比就非常小了,這很大程度上因為字符串變量和字符數組的不同,但是這也帶來一個引起錯誤的隱患。特別地,沒有辦法檢驗一個方法是否可以改動對象。
8.Java沒有指針
理解指針的概念是一個C或C++程序員最難應付的問題。指針也是錯誤產生的一大根源。 Java中沒有指針,對象的句柄直接作為參數傳遞,而不是傳遞指針。另外,你必須通過索引使用數組。這些都不是什麼大問題。然而,沒有指針是在寫含有函數指針或者成員函數指針的系統的時候引起很大麻煩。這個問題在處理回調函數的時候更加顯著。
9.Java沒有參數化類型
參數化類型提供了用一段程序處理許多相似程序的方法。一個例子就是開平方根的方法,它可以對int或者float操作。在C++中,這一特性是由模板提供的。
Java中不包含C++中的模板的等價物。如果你經常使用模板來簡化程序,比如說構造許多使用相似參數類型的函數,這簡直就是災難。這意味著更多使用複制、粘貼的過程來手動的完成。然而,如果你使用模板來生成類的話,沒有簡單的方法。
10.Java使用垃圾回收
在垃圾回收的語言中,運行時環境一直監測哪些內存不被使用。當一塊內存不用的時候,系統自動的回收內存。比如說,一個對像在一個方法中生成,但是沒有被調用著返回或者沒有儲存為全局變量,不能在方法外部使用。系統自己會知道哪些變量是你用不到的,哪些是可以用到的。因此,你不必再為破壞對象回收內存而擔心。在C++中,很多的調試時間都被使用到檢查內存漏洞中。 Java的這種方法很大程度上降低了這種錯誤的可能。但是他依然不能處理邏輯混亂的程序,他們不能夠被回收。許多C++的類中的析構函數是用來釋放對象引用的內存的。 Java使垃圾回收的事實說明在Java中不是必需寫析構函數了。但是並不意味著你可以忘記為你的類寫析構函數。比如,一個對像打開了網絡連接就必須被恰當的清理來關閉這個連接。在Java中,析構函數被稱作”finalization”方法。
11.Java不支持多重繼承
在任何一個複雜的面向對象的系統中,實現一個有更多方法的新類是十分經常遇到的事情。比如說,一個Manager類,需要被作為一個連表的表頭,但是一個Manager又必須是一個Employee。有許多方法來處理這樣的問題。一個方法是允許從多個類繼承。在這個例子中,Manager需要從Linked List和Employee繼承。
Java沒有多重繼承。但是你可以聲明接口–來描述實現一些功能的編程接口。一個類可以由多個接口實現,包括他唯一的功能。不同的類可以由同樣的接口實現。方法的參數既可以聲明為類,也可以聲明為接口。如果是接口的話,實現接口的類就可以作為參數傳入方法。
接口的概念要比多繼承容易理解一些,但是他有一定的局限性。特別地,你必須在類中實現接口的時候編碼去重新實現類的功能。
12.Java支持多線程
多線程可以使你寫出在同一時刻完成多種任務的程序。比如說,你可以在完成讀取一個大文件之間允許用戶對已經讀取的部分進行編輯。你需要把程序分為多線程來執行。為安全起見。你的程序要被精心的設計,因為可能不止一個線程需要對數據進行訪問、修改。
Java開始就支持多線程。類和接口用來分解一個程序成為不同的線程。語言簡單的對重要的數據作同步或者鎖定處理。
13.Java以一些預定義的類為基礎
默認的Java環境中包括一些從Java基礎類實現而來的一些包。這些允許你很快的寫出一些有用的程序,這些包如下:
java.awt:當今許多應用程序都非常依賴GUI,java提供了一個Abstract Window Toolkid,這可以讓你在不考慮運行平台的前提下處理GUI對象。
java.applet:applet的主要目的是提供瀏覽有關的內容。它本身是awt組件的字類並且支持其他一些特性,比如聲音、渲染等。
java.io:java.io提供了對流、文件、管道的讀寫操作。
java.lang:提供了java的基礎類Objcet,Integar,Float……;
java.net:提供對網絡編程的支持。包括處理socket,URL,Internet尋址等。
java.util:為數據結構提供的通用實用工具集
Sun 310-065 information
This foundation certification is for programmers interested in demonstrating proficiency in the fundamentals of the Java programming language. To achieve this certification, candidates must successfully complete one exam. It is not necessary to be a Sun Certified Java Associate prior to taking this exam.
The Sun Certified Programmer for Java Platform, Standard Edition 6 certification exam is for programmers experienced using the Java programming language. Achieving this certification provides clear evidence that a programmer understands the basic syntax and structure of the Java programming language and can create Java technology applications that run on server and desktop systems using Java SE 6.
Follow links for detailed information, exam objectives and to purchase:
Sun Certified Programmer for the Java Platform, Standard Edition 6 (CX-310-065) – NEW
Upgrade Exam: Sun Certified Programmer for the Java Platform, Standard Edition 6 (CX-310-066) – NEW
Sun Certified Programmer for the Java Platform, Standard Edition 5.0 (CX-310-055)
Upgrade Exam: Sun Certified Programmer for the Java Platform, Standard Edition 5.0 (CX-310-056)
Certification Preparation
Sun is pleased to take the guesswork out of preparing for certification. Learn about prerequisites, practice exams, coaching and recommended training options to help you achieve this certification. Certification exams and training products must be purchased in the country where you reside. For inquiries outside this country, please select your local training office.
