粒粒soso
基礎 這個環(huán)節(jié)主要是懂流程的什么是MVC而已 別往深了研究 現(xiàn)在開發(fā)基本不用這個模式這個才是開發(fā)的主流技術 把每個都搞清楚 哪個框架是什么層的(最好學學 很多公司都注重這個)然后用3+4 做個例子 不是要實現(xiàn)功能 關鍵是要你知道什么時候該用什么 流程是怎樣的 面試會問及這些 如何學習 Java的問題,“我已經(jīng)學習了J2SE,怎么樣才能轉向J2EE?”,“我看完了Thinking in Java, 可以學習J2EE了么?”。于是就有了寫這篇文章的想法,希望能幫助初學者少走一些彎路。也算是對自己幾年來學習Java的一個總結吧。 在開始之前有必要再討論一下J2ME,J2SE,J2EE這些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機,PDA等等。J2SE,Java 2 Platform,Standard Edition,我們通常所說的JDK(Java Development Kit)包含在此,是J2EE的基礎。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業(yè)級Java。這些只是從API級別上的劃分,實際上Sun給J2EE的定義是:開發(fā)基于組件的多層的企業(yè)級應用的規(guī)范。也就是為各種不同的技術定義一個Java的規(guī)范,使這些不同的技術結合起來,在Java平臺上構建強壯的企業(yè)級應用。從這一點來看,J2EE這個概念應該是涵蓋J2ME,J2SE的。比如一個典型的J2EE應用,網(wǎng)上商店,它支持web方式下訂單,也支持手機下訂單。顯然必須用到J2SE,J2ME。所以也就不存在所謂的從J2SE轉向J2EE的問題了,只是后者包含的范圍更廣而已。 來看看Sun給出的J2EE 相關技術主要分為幾大塊。 1. Web Service技術 - Java API for XML Processing (JAXP) - Java API for XML Registries (JAXR) - Java API for XML-based RPC (JAX-RPC) - SOAP with Attachments API for Java (SAAJ) 2. 組件模型技術(Component Model Technologies) - Java Servlet - JavaServer Pages - JavaServer Faces - Enterprise JavaBeans - Java Message Service - J2EE Connector Architecture 3. 管理技術(Management Technologies) - J2EE Deployment Specification - J2EE Management Specification - J2EE Client Provisioning - Java Authorization Contract for Containers 4. 其他相關技術(Other J2EE Technologies) - JDBC - Java Data Objects (JDO) - CORBA (Java IDL and Java RMI-IIOP) - JavaMail - Transactions 如此之多的技術難免使初學者無所適從,望而卻步。即使是一位經(jīng)驗豐富的J2EE開發(fā)者,又有幾個人敢說J2EE相關的技術我都熟練掌握了。不過作為一名普通J2EE應用程序的開發(fā)者來說,我們只需要重點學習其中的一部分技術就可以了,對于其他部分只要做到心中有數(shù),哪天需要用到了知道跑哪里去找到資料就行了。以我個人的觀點,下面這些技術是一般J2EE應用開發(fā)人員所必須熟練掌握的。Java Server Page,Java Servlet,Enterprise JavaBean,JDBC,Transactions。還有JAXP等XML相關技術,Java Message Service,Java Mail,JDO等等是最好應該掌握的。其他Management Technologies,Connector Architecture等等主要是給容器提供商中間件提供商參考的,應用開發(fā)者不需要怎么關心,等用到了再去學習也不遲。 、、Java發(fā)展到現(xiàn)在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補充,應用范圍不同。J2SE就是Java2的標準版,主要用于桌面應用軟件的編程;J2ME主要應用于嵌入是系統(tǒng)開發(fā),如手機和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡程序的開發(fā),如電子商務網(wǎng)站和ERP系統(tǒng)。先學習j2se要學習j2ee就要先學習j2se,剛開始學習j2se先建議不要使用IDE,然后漸漸的過渡到使用IDE開發(fā),畢竟用它方便嘛。學習j2se推薦兩本書,《java2核心技術一二卷》,《java編程思想》,《java模式》。其中《java編程思想》要研讀,精讀。這一段時間是基本功學習,時間會很長,也可能很短,這要看學習者自身水平而定。不要被IDE糾纏在學習java和j2ee過程中,你會遇到五花八門的IDE,不要被他們迷惑,學JAVA的時候,要學語言本身的東西,不要太在意IDE的附加功能,JAVA編程在不同IDE之間的轉換是很容易的,過于的在意IDE的功能反而容易耽誤對語言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加強版WSAD。用好其中一個就可以了,推薦從eclipse入手j2ee。因為Jbuilder更適合于寫j2se程序。選擇和學習服務器使用配置當你有了j2se和IDE的經(jīng)驗時,可以開始j2ee的學習了,web服務器:tomcat,勿庸置疑,tomcat為學習web服務首選。而應用服務器目前主要有三個:jboss、weblogic、websphere。有很多項目開始采用jboss,并且有大量的公司開始做websphere或weblogic向jboss應用服務器的移植(節(jié)省成本),這里要說的是,學習tomcat和jboss我認為是首選,也是最容易上手的。學習服務器使用配置最好去詢問有經(jīng)驗的人(有條件的話),因為他們或許一句話就能解決問題,你自己上網(wǎng)摸索可能要一兩天(我就干過這種傻事),我們應該把主要時間放在學習原理和理論上,一項特定技術的使用永遠代替不了一個人的知識和學問。學習web知識如果你是在做電子商務網(wǎng)站等時,你可能要充當幾個角色,這是你還要學習:html,可能要用到dreamwave等IDE。Javascript,學會簡單的數(shù)據(jù)校驗,數(shù)據(jù)聯(lián)動顯示等等J2eeAPI學習學習j2eeAPI和學習服務器應該是一個迭代的過程。先學習jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設計》和《java servlet編程》,oreilly出的書總是那本優(yōu)秀,不得不佩服。學習jdbc數(shù)據(jù)庫編程,j2ee項目大多都是MIS系統(tǒng),訪問數(shù)據(jù)庫是核心。這本應屬于j2se學習中,這里拿出來強調(diào)一下。學習jndi api,它和學習ejb可以結合起來。學習ejb api,推薦書《精通ejb》經(jīng)過上面的這些的學習,大概可以對付一般的應用了。有人說跟著sun公司的《j2ee tutorial》一路學下來,當然也可以。學習ejb設計模式和看代碼(最重要)設計模式是練內(nèi)功,其重要性可以這么說吧,如果你不會用設計模式的話,你將寫出一堆使用了ejb的垃圾,有慢又是一堆bug,其結果不如不用ejb實現(xiàn)(ejb不等于j2ee)無論學習什么語言,都應該看大量代碼,你看的代碼量不到一定數(shù)量,是學不好j2ee的目前有很多開源的工程可以作為教材:jive論壇petstore sun公司dune sun公司等等,研讀一個,并把它用到自己的工程中來。J2ee其他學習當你漸漸對j2ee了解到一定深度時,你要開始關注當前領域中的一些技術變化,J2ee是一塊百家爭鳴的領域,大家都在這里提出自己的解決方案,例如structs,hiberate,ofbiz等等,學習這些東西要你的項目和目標而定,預先補充一下未嘗不可,但不用涉及太深,畢竟學習原理和理論是最最重要的事。目前常見j2eeAPIJavaServer Pages(JSP)技術 Servlet技術 API XML處理API(JAXP) JavaBeans技術消息服務(JMS)命名目錄接口(JNDI)事務API(JTA) API 激活架構(JAF)連接器體系結構(JCA)認證和授權服務(JAAS)學習上面的某些API要以你的項目而定,了解所有他們總之是有好處的上面印證了大家說的一句話,java語言本身不難學,但是技術太多,所以學java很費勁?;叵胍幌?,基本上每個初學者,在剛學習java的時候可能都會問別人這么一句話,你怎么知道的哪個方法(api)在哪個包里的?呵呵,無他,唯手熟爾。
小特別16
J2EE啊,有很多東西呢,核心的有13個,但是不一定每個都要會,只要掌握其中的一些就可以了。不過話說回來Java,Servlet,JSP肯定是要會的其它的會用到JDBC,JNDI,EJB,Java IDL/CORBA, JTA/JTS,JAF,JMS,XML,MVC設計結構什么struts,spring,hibernate框架 總之可多可少,基本的要掌握就行了
今夕訪古
軟件測試工程師應該學習知識:(1)軟件開發(fā)技術很多人認為,干嗎要學習軟件開發(fā)啊,那還不如直接去學什么JAVA、C++、C#了。要知道,在以后的軟件測試工作中,你就會發(fā)現(xiàn)軟件開發(fā)與軟件測試之間是什么樣的關系了。沒有軟件開發(fā),就沒有軟件測試,有了軟件測試,軟件開發(fā)出的軟件產(chǎn)品才能夠達到用戶滿意的地步,他們之間是相互依賴關系。有了更多的軟件開發(fā)知識,就會更好地能理解軟件產(chǎn)品,就知道在哪個環(huán)節(jié)開發(fā)人員容易犯錯誤,知道在哪個邏輯結構、哪個接口或函數(shù),甚至是從內(nèi)存的管理機制上都可以找出問題。軟件開發(fā)所用的程序設計語言有很多種,所以要精通其中一門,其他能看懂代碼,會對你的測試工作有更好的幫助,另外也會幫助開發(fā)人員進行快速缺陷定位。而且在軟件測試工作中,要編寫一些輔助測試的小工具,都需要有軟件開發(fā)基礎。象測試過程管理工具、測試用例管理工具、缺陷跟蹤工具、性能檢測工具等等。不要老是認為軟件開發(fā)難,什么事都是從不會到會,從不精通到精通,都需要一個過程。沒有人一生下來就什么都會的,都需要自己的不斷努力才能成功。(2)網(wǎng)絡技術軟件是從字符界面產(chǎn)品發(fā)展到圖形界面產(chǎn)品,從單機版到網(wǎng)絡版(C/S結構和B/S結構),經(jīng)歷了一個漫長的過程。計算機網(wǎng)絡的出現(xiàn),改變了現(xiàn)實社會中人們的相互溝通方式,把一個小小的地球變成了一個地球村。所以,目前所有的軟件產(chǎn)品都從傳統(tǒng)的單機模式向網(wǎng)絡模式轉變,網(wǎng)絡技術就更加關鍵。目前網(wǎng)絡的發(fā)展,使得網(wǎng)絡速度進一步提高。目前,家庭網(wǎng)速達到1M~2Mbps,企業(yè)達到4Mbps,據(jù)說要到2012年家庭的網(wǎng)絡速度要達到20Mbps。那么網(wǎng)絡硬件從傳統(tǒng)的電纜到目前的光纖技術、無線通信技術。從目前的發(fā)展速度,三網(wǎng)(電信網(wǎng)、電視網(wǎng)、計算機網(wǎng)絡)合并是遲早的事情。網(wǎng)絡硬件協(xié)議的測試,也是網(wǎng)絡設備生產(chǎn)商要做的工作。(3)數(shù)據(jù)庫技術現(xiàn)在的數(shù)據(jù)信息是海量的。在目前的軟件產(chǎn)品中,底層架構中就需要有數(shù)據(jù)庫進行數(shù)據(jù)存儲,那么對數(shù)據(jù)的增刪改查的操作是軟件測試人員必須要必備的技能。數(shù)據(jù)庫測試也是測試技術的一種。(4)測試與質(zhì)量保證技術精通軟件測試理論,熟悉軟件測試流程,理解軟件測試的哲學思想,掌握軟件測試每個階段的文檔編寫技巧,掌握軟件測試的策略與各種測試方法,掌握測試用例的設計方法。掌握單元測試、集成測試、確認測試、系統(tǒng)測試、驗收測試等每個階段的測試技術。軟件質(zhì)量保證知識、測試項目管理、測試團隊建設知識也是必須要具備的。掌握軟件測試自動化工具,理解軟件測試自動化測試框架,能夠學會如何進行測試項目管理、回歸測試以及性能測試,能夠把性能缺陷進行定位。軟件測試還是一個嶄新的學科,還沒有形成一個獨有的知識體系,還需要我們不斷的研究與實踐。(5)行業(yè)知識目前軟件測試涉及的行業(yè)是多種多樣的,從金融產(chǎn)品到電信、游戲、汽車、殺毒、網(wǎng)站、企業(yè)管理、學校教育、本地化產(chǎn)品等等,各行各業(yè)的軟件產(chǎn)品都需要大量的測試,所以相關行業(yè)知識的儲備也是必須的。(6)職場規(guī)范職場禮儀是必須的,你是否適合某個企業(yè),能否融入這個企業(yè),基本的職場規(guī)范是要學習的。必要、有效的溝通也是軟件測試人員所必須掌握的技巧。
優(yōu)質(zhì)工程師考試問答知識庫