第一篇:Java程序員必知的10個調(diào)試技巧
調(diào)試不僅可以查找到應(yīng)用程序缺陷所在,還可以解決缺陷。對于Java程序員來說,他們不僅要學(xué)會如何在Eclipse里面開發(fā)像樣的程序,更需要學(xué)會如何調(diào)試程序。武漢北大青鳥光谷校區(qū)Java專業(yè)老師分享Java程序員必知的10個調(diào)試技巧----
1.條件斷點(diǎn)
如果你不知道如何添加斷點(diǎn),只需點(diǎn)擊左邊面板(行號前面)斷點(diǎn)即被創(chuàng)建。在調(diào)試界面中,“斷點(diǎn)”視圖會把所有被創(chuàng)建的斷點(diǎn)列出來。我們可以給它加一個布爾條件,也就是說,該斷點(diǎn)會被激活并且如果布爾條件為真,就會執(zhí)行該斷點(diǎn),否則將會跳過往下執(zhí)行。
2.異常斷點(diǎn)
在斷點(diǎn)視圖中,有一個J!標(biāo)記按鈕!我們可以使用該按鈕來添加一個Java異常斷點(diǎn)。例如,我們想讓程序在遇到空指針異常(NullPointerException)時,仍然能繼續(xù)調(diào)試,那么我們可以使用該按鈕來添加一個異常斷點(diǎn)!
3.監(jiān)視點(diǎn)
這是一個非常好的功能,當(dāng)選定的屬性訪問或修改程序時,程序會停止執(zhí)行并允許進(jìn)行調(diào)試。在Outline視圖中選擇一個類變量并從上下文菜單中選擇切換監(jiān)視點(diǎn),屬性監(jiān)視點(diǎn)將會被創(chuàng)建,在斷點(diǎn)(Breakpoints)視圖中會把所有監(jiān)視點(diǎn)用列表的形式顯示出來。
4.評估/檢查
按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變量或者表達(dá)式的值。我們也可以給一個變量或表達(dá)式添加永久觀察點(diǎn),當(dāng)程序在調(diào)試時,這些觀察點(diǎn)就會在表達(dá)式視圖(Expression view)中顯示出來。
5.修改變量值
在調(diào)試過程中,我們可以修改變量值。先選好一個變量然后進(jìn)入變量視圖(Variables view),根據(jù)變量類型在其對應(yīng)的Value列里輸入值即可。
6.在Main函數(shù)里面停止執(zhí)行
在運(yùn)行/調(diào)試設(shè)置中,編輯配置對話框中有“Main”這個選項(xiàng)卡,我們可以勾選“Stop in main”這個復(fù)選框。如果選中,那么在調(diào)試一個基于main方法的Java程序時,程序會在main方法第一行位置便停止執(zhí)行。
7.環(huán)境變量
并不是在系統(tǒng)屬性中添加環(huán)境變量,我們可以在編輯配置對話框中很方便地進(jìn)行添加。
8.Drop to Frame
調(diào)試期間,可以重新跳到調(diào)用堆棧框架的開始處執(zhí)行,并且變量值也會回到最初。根據(jù)回檔調(diào)整堆棧的深度,這個功能的主要用途是所有變量狀態(tài)可以快速回到方法開始執(zhí)行時候的樣子,然后你可以重新進(jìn)行一遍一遍執(zhí)行,這樣就可以在你關(guān)注的地方進(jìn)行多次調(diào)試,但是在執(zhí)行過程中也會產(chǎn)生一些副作用,比如插入到數(shù)據(jù)庫里面的數(shù)據(jù)是無法刪除的!
9.分布過濾
當(dāng)我們進(jìn)入(F5)方法的時候,我們還可以訪問其外部庫(比如java.*),我們可能不需要這個庫,就可以在Perference選項(xiàng)卡頁面添加一個過濾器來排除這個包。
10.進(jìn)入、跳出和返回
在調(diào)試過程中,這些是必須要了解(最好掌握)的東西:
F5——進(jìn)入:移動到下一個步驟,如果當(dāng)前行有一個方法調(diào)用,該控件將會跳轉(zhuǎn)到被調(diào)用方法的第一行執(zhí)行。
F6——跳出:移動到下一行。如果在當(dāng)前行有方法調(diào)用,那么會直接移動到下一行執(zhí)行。不會進(jìn)入被調(diào)用方法體里面。
F7——返回:從當(dāng)前方法中跳出,繼續(xù)往下執(zhí)行。
F8——移動到下一個斷點(diǎn)處執(zhí)行。
在本文中使用的是Eclipse Juno版(Eclipse 4.2),但上面介紹的調(diào)試方法基本都是通用的。在這里給大家提3點(diǎn)建議----不要使用System.out.println作為調(diào)試工具;把所有涉及到的組件日志級別激活并使用;使用日志分析器來讀取日志。
第二篇:JAVA程序員面試技巧
java程序員面試題 第一部分:選擇題 question no: 1
1、public class test { public static void changestr(string str){ } public static void main(string[] args){ string str=1234;changestr(str);system.out.println(str);} } please write the output result : question no:2 1.public class test { 2.static boolean foo(char c){ 3.system.out.print(c);4.return true;5.} 6.public static void main(string[] argv){ 7.int i =0;8.for(foo(a);foo(b)&&(i<2);foo(c)){ 9.i++;10.foo(d);12.} 13.} 14.} what is the result? a.abdcbdcb b.abcdabcd d.an exception is thrown at runtime.question no: 3 1.class a { 2.protected int method1(int a, int b){ return 0;} 3.} which two are valid in a class that extends class a?(choose two)a.public int method1(int a, int b){ return 0;} b.private int method1(int a, int b){ return 0;} c.private int method1(int a, long b){ return 0;} d.public short method1(int a, int b){ return 0;} e.static protected int method1(int a, int b){ return 0;} question no: 4 1.public class outer{ 2.public void someoutermethod(){ 3.// line 3 4.} 5.public class inner{} 6.public static void main(string[]argv){ 7.outer o = new outer();8.// line 8 9.} 10.} which instantiates an instance of inner? a.new inner();// at line 3 b.new inner();// at line 8 c.new o.inner();// at line 8 d.new outer.inner();// at line 8//new outer().new inner()question no: 5 which method is used by a servlet to place its session id in a url that is written to the servlet’s response output stream? question no: 6 which two are equivalent?(choose two)a.b.c.d.e.f.g.question no: 7 which of the following statements regarding the lifecycle of a session bean are correct? 1.java.lang.illegalstateexception is thrown if sessioncontext.getejbobject()is invoked when a stateful session bean instance is passivated.2.sessioncontext.getrollbackonly()does not throw an exception when a session bean with bean-managed transaction demarcation is activated.3.an exception is not thrown when sessioncontext.getusertransaction()is called in the afterbegin method of a bean with container-managed transactions.5.accessing resource managers in the sessionsynchronization.afterbegin method of a stateful session bean with bean-managed transaction does not throw an exception.第二部分:概念題
1.描述struts體系結(jié)構(gòu)?對應(yīng)各個部分的開發(fā)工作主要包括哪些? 3.jsp有哪些內(nèi)置對象和動作?它們的作用分別是什么?
4、sql問答題
select * from table 和
select * from table where name like %% and addr like %% and(1_addr like %% or 2_addr like %% or 3_addr like %% or 4_addr like %%)的檢索結(jié)果為何不同?
5、sql問答題
表結(jié)構(gòu):
1、表名:g_cardapply 字段(字段名/類型/長度): g_applyno varchar 8;//申請單號(關(guān)鍵字)g_applydate bigint 8;//申請日期 g_state varchar 2;//申請狀態(tài)
2、表名:g_cardapplydetail 字段(字段名/類型/長度): g_applyno varchar 8;//申請單號(關(guān)鍵字)g_name varchar 30;//申請人姓名 g_idcard varchar 18;//申請人身份證號 g_state varchar 2;//申請狀態(tài)
其中,兩個表的關(guān)聯(lián)字段為申請單號。
題目:
1、查詢身份證號碼為***的申請日期
2、查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數(shù)
3、將身份證號碼為***的記錄在兩個表中的申請狀態(tài)均改為07
4、刪除g_cardapplydetail表中所有姓李的記錄
華為java筆試題
一、單項(xiàng)選擇題
1.java是從()語言改進(jìn)重新設(shè)計(jì)。a.a(chǎn)da b.c++ c.pasacal d.basic篇二:java程序員面試注意事項(xiàng)
一、回答問題的思路
先正面敘述一些基本的核心知識,然后描述一些特殊的東西,最后再來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。把答題像寫書一樣寫。我要回答一個新技術(shù)的問題大概思路和步驟是:我們想干什么,干這個遇到了什么問題,現(xiàn)在用什么方式來解決。其實(shí)我們講課也是這樣一個思路。
答題時,先答是什么,再答有什么作用和要注意什么(這部分最重要,展現(xiàn)自己的心得)。答案的層次分明,條理清楚都非常重要,從這些表面的東西也可以看出一個人的習(xí)慣、辦事風(fēng)格、條理等。要講你做出答案的思路過程,或者說你記住答案的思想都寫下來。把答題想著是辯論賽。答題就是給別人講道理、擺事實(shí)。答題不局限于什么格式和形式,就是要將自己的學(xué)識展現(xiàn)出來!
另外,不要因?yàn)槿思翌}目本來就模棱兩可,你就心里膽怯和沒底氣了,不敢回答了。你要大膽地指出對方題目很模糊和你的觀點(diǎn),不要把面試官想得有多高,其實(shí)他和你就是差不多的,你想想,如果他把你招進(jìn)去了,你們以后就是同事了,可不是差不多的嗎?
二、關(guān)于就業(yè)薪水
如果你是應(yīng)屆生,那不能要高工資,好比大餅的故事,要拿高工資,就去中關(guān)村!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,那仍然是可以要到相對高的工資的。
初級程序員薪水:2000-4500 中級程序員薪水:4000-7000 高級程序員薪水:7000以上
公司招聘程序員更看重的要用到的編碼技術(shù)、而不是那些業(yè)務(wù)不太相關(guān)的所謂項(xiàng)目經(jīng)歷:
三、公司想招什么樣的人
對于一些公司接到了一些項(xiàng)目,想招聘一些初中級的程序員過來幫助寫代碼,完成這個項(xiàng)目,你更看重的是他的專業(yè)技術(shù)功底,還是以前做過幾個項(xiàng)目的經(jīng)歷呢?我們先排除掉那些編碼技術(shù)功底好,又正好做過相似項(xiàng)目的情況,實(shí)際上,這種魚和熊掌兼得的情況并不常見。其實(shí)公司很清楚,只要招聘進(jìn)來的人技術(shù)真的很明白,那他什么項(xiàng)目都可以做出來,公司招人不是讓你去重復(fù)做你以前的項(xiàng)目,而是做一個新項(xiàng)目,業(yè)務(wù)方面,你只要進(jìn)了項(xiàng)目團(tuán)隊(duì),自然就能掌握。所以,大多數(shù)招聘單位在招聘那些編碼級別的程序員時也沒指望能招聘到做過類似項(xiàng)目的人,也不會刻意去找做過類似項(xiàng)目的人,用人單位也不是想把你招進(jìn),然后把你以前做過的項(xiàng)目重做一遍,所以,用人單位更看重招進(jìn)來的人對要用到的編碼技術(shù)的功底到底怎樣,技術(shù)扎實(shí)不扎實(shí),項(xiàng)目則只要跟著開發(fā)團(tuán)隊(duì)走,自然就沒問題。除非是一些非常專業(yè)的行業(yè),要招聘特別高級的開發(fā)人員和系統(tǒng)分析師,招聘單位才特別注重他的項(xiàng)目經(jīng)驗(yàn)和行業(yè)經(jīng)驗(yàn),要去找到行業(yè)高手,公司才關(guān)心項(xiàng)目和與你聊項(xiàng)目的細(xì)節(jié),這樣的人通常都不是通過常規(guī)招聘渠道去招聘進(jìn)來的,而是通過各種手段挖過來的,這情況不再我今天要討論的范圍中。
四、公司面試會問什么,.技術(shù)學(xué)得明白不明白,人家?guī)讉€問題就把你的深淺問出來了,只要問一些具體的技術(shù)點(diǎn),就很容易看出你是真懂還是假懂,很容看出你的技術(shù)深度和實(shí)力,所以,技術(shù)是來不得半點(diǎn)虛假的,必須扎扎實(shí)實(shí)。
由于項(xiàng)目的種類繁多,涉及到現(xiàn)實(shí)生活中的各行各業(yè),什么五花八門的業(yè)務(wù)都有,例如,酒店房間預(yù)定管理,公司車輛調(diào)度管理,學(xué)校課程教室管理,超市進(jìn)銷存管理,知識內(nèi)容管理,等等……成千上萬等等,但是,不管是什么項(xiàng)目,采用的無非都是我們學(xué)習(xí)的那些目前流行和常用的技術(shù)。技術(shù)好、經(jīng)驗(yàn)豐富,則項(xiàng)目做出來的效率高些,程序更穩(wěn)定和更容易維護(hù)些;技術(shù)差點(diǎn),碰碰磕磕最后也能把項(xiàng)目做出來,無非是做的周期長點(diǎn)、返工的次數(shù)多點(diǎn),程序代碼寫得差些,用的技術(shù)笨拙點(diǎn)。如果一個人不是完完全全做過某個項(xiàng)目,他是不太關(guān)心該項(xiàng)目的業(yè)務(wù)的,對其中的一些具體細(xì)節(jié)更是一竅不知,(如果我招你來做圖書管理,你項(xiàng)目經(jīng)歷說你做過汽車調(diào)度,那我能問你汽車調(diào)度具體怎么回事嗎?不會,所以,你很容易蒙混過去的)而一個程序員的整個職業(yè)生涯中能實(shí)實(shí)在在和完完整整做出來的項(xiàng)目沒幾個,更別說在多個不同行業(yè)的項(xiàng)目了,有的程序員更是一輩子都只是在做某一個行業(yè)的項(xiàng)目,結(jié)果他就成了這個行業(yè)的專家(專門干一件事的家伙)。所以,技術(shù)面試官通常沒正好親身經(jīng)歷過你簡歷寫的那些項(xiàng)目,他不可能去問你寫的那些項(xiàng)目的具體細(xì)節(jié),而是只能泛泛地問你這個項(xiàng)目是多少人做的,做了多長時間,開發(fā)的過程,你在做項(xiàng)目的過程中有什么心得和收獲,用的什么技術(shù)等面上的問題,所以,簡歷上的項(xiàng)目經(jīng)歷可以含有很多水分,很容易作假,技術(shù)面試官也無法在項(xiàng)目上甄別你的真?zhèn)巍?/p>
五、簡歷怎么寫
簡歷該怎么寫:精通哪些技術(shù),有一些什么項(xiàng)目經(jīng)歷
六、怎樣達(dá)到簡歷上的標(biāo)準(zhǔn)(培訓(xùn)中心教項(xiàng)目的目的)教項(xiàng)目是為了鞏固和靈活整合運(yùn)用技術(shù),增強(qiáng)學(xué)習(xí)的趣味性,熟悉做項(xiàng)目的流程,或得一些專業(yè)課程中無法獲得的特有項(xiàng)目經(jīng)驗(yàn),增強(qiáng)自己面試的信心。講的項(xiàng)目應(yīng)該真實(shí)可靠才有價值,否則,表面上是項(xiàng)目,實(shí)際上還是知識點(diǎn)的整合,對鞏固技術(shù)點(diǎn)和增強(qiáng)學(xué)習(xí)的趣味性,但無法獲得實(shí)際的項(xiàng)目經(jīng)驗(yàn)。
第三篇:java程序員面試自我介紹技巧
java程序員應(yīng)試者應(yīng)充分利用各種個人資源。想了解java程序員面試指南?除了前面提到的應(yīng)試者面帶微笑、目光交流、坐姿端正等表情、身體語言外,請以沉穩(wěn)平靜的聲音、以中等語速、以清晰的吐字發(fā)音、以開朗響亮的聲調(diào)給考官以愉悅的聽覺享受,聲音小而模糊、吞吞吐吐的人,一定是膽怯、緊張、不自信和缺乏活力與感染力的。面試中java程序員自我介紹的重要性:通過自我介紹,主動地向面試考官推薦自己,這是面試組成結(jié)構(gòu)的重要內(nèi)容,同時也是面試測評的重要指標(biāo)。下面一起來透視java程序員面試指南,java程序員自我介紹。
java程序員面試指南--實(shí)力是關(guān)鍵
可以分為實(shí)際操作的能力和理論上的知識。雖然上機(jī)很少,但是毫無疑問的是,如果你在IDE下很強(qiáng),那么你就有很強(qiáng)的自信。有自信不一定行,但沒有自信一定不行,我想大多數(shù)人都是這樣認(rèn)為的吧!理論的東西你可以花點(diǎn)時間系統(tǒng)的研究一下,不過如何才算系統(tǒng)呢?我也不知道,我是把《java2核心技術(shù)》看了兩遍。
java程序員面試指南--態(tài)度是成功的催化劑
態(tài)度說穿了就是面試技巧問題,你的實(shí)際態(tài)度不重要,重要的是如何讓他認(rèn)為你態(tài)度不錯,是個“知書達(dá)理”的好孩子。將來是否好管理是老板一類的人最在意的。
java程序員面試指南--經(jīng)驗(yàn)是能力體現(xiàn)
這個沒有什么好說的,一般來說經(jīng)驗(yàn)越多,能力越強(qiáng)。如果他要求的工資不高的話,當(dāng)然優(yōu)先啦!小公司通常都是這么想的。
java程序員面試指南--運(yùn)氣也需要
我有同學(xué),大學(xué)畢業(yè)之后在廣州找了兩個月沒有找到工作,主要原因一是基礎(chǔ)差點(diǎn),加上沒有經(jīng)驗(yàn),筆試,面試都過不去。偏偏有一次他去應(yīng)聘,筆試答完之后,本來是技術(shù)員給他面試的,經(jīng)理剛好過來。就問了他是哪里人,大學(xué)有沒有補(bǔ)考之類的問題,五分鐘之后就讓他下個星期過來上班,月薪2500。后來他了解了一下,經(jīng)理錄用他的理由很簡單,我同學(xué)是安徽人,經(jīng)理接觸過的安徽人給他的印象很好,什么踏實(shí),肯干,任勞任怨??傊褪前不杖擞袃?yōu)先權(quán)。不過我怎么感覺主要的理由是“比較聽話”。
java程序員自我介紹--報出自己的姓名和身份
可能應(yīng)試者與面試考官打招呼時,已經(jīng)將此告訴了對方,而且考官們完全可以從你的報名表、簡歷等材料中了解這些情況,但仍請你主動提及。這是禮貌的需要,還可以加深考官對你的印象。
java程序員自我介紹--簡單地介紹一下你的學(xué)歷、工作經(jīng)歷等基本個人情況
請?zhí)峁┙o考官關(guān)于你個人情況的基本的、完整的信息,如:學(xué)歷、工作經(jīng)歷、家庭概況、興趣愛好、理想與報負(fù)等。這部分的陳述務(wù)必簡明扼要、抓住要點(diǎn)。例如介紹自己的學(xué)歷,一般只需談本??埔陨系膶W(xué)歷。工作單位如果多,選幾個有代表性的或者你認(rèn)為重要的介紹,就可以了,但這些內(nèi)容一定要和面試及應(yīng)考職位有關(guān)系。請保證敘述的線索清晰,一個結(jié)構(gòu)混亂、內(nèi)容過長的開場自,會給考官們留下雜亂無章、個性不清晰的印象,并且讓考官倦怠,削弱對繼續(xù)進(jìn)行的面試的興趣和注意力。
應(yīng)試者還要注意這部份內(nèi)容應(yīng)與個人簡歷、報名材料上的有關(guān)內(nèi)容相一致,不要有出入。在介紹這些內(nèi)容時,應(yīng)避免書面語言的嚴(yán)整與拘束,而使用靈活的口頭語進(jìn)行組織。這些個人基本情況的介紹沒有對或錯的問題——都屬于中性問題,但如果因此而大意就不妥了。
java程序員自我介紹--以經(jīng)驗(yàn)來說明自己的能力
接下來由這部份個人基本情況,自然地過渡到一兩個自己本科或工作期間圓滿完成的事件,以這一兩個例子來形象地、明晰他說明自己的經(jīng)驗(yàn)與能力,例如:在學(xué)校擔(dān)任學(xué)生干部時成功組織的活動;或者如何投入到社會實(shí)踐中,利用自己的專長為社會公眾服務(wù);或者自己在專業(yè)上取得的重要成績以及出色的學(xué)術(shù)成就。
java程序員自我介紹--說明應(yīng)聘該職位的原因
接下來要著重結(jié)合你的職業(yè)理想說明你應(yīng)考這個公務(wù)員職位的原因,這一點(diǎn)相當(dāng)重要。你可以談你對應(yīng)考單位或職務(wù)的認(rèn)識了解,說明你選擇這個單位或職務(wù)的強(qiáng)烈愿望。原先有工作單位的應(yīng)試者應(yīng)解釋清楚自己放棄原來的工作而做出新的職業(yè)選擇的原因。你還可以談如果你被錄取,那么你將怎樣盡職盡責(zé)地工作,并不斷根據(jù)需要完善和發(fā)展自己。當(dāng)然這些都應(yīng)密切聯(lián)系你的價值觀與職業(yè)觀。不過,如果你將自己描述為不食人間煙火的、不計(jì)較個人利益的“圣人”,那么考官們對你的求職動機(jī)的信任,就要大打折扣了。
對于 java程序員自我介紹,這里我們介紹了一條清晰的線索,便于你組織你的自我介紹。為了保證結(jié)構(gòu)明確,有條有理,你可以多用短句子以便于口語表述,并且在段與段之間使用過渡句子,口語也要注意思路、敘述語言的流暢,盡量避免顛三倒四,同一句話反復(fù)說幾遍的“粘糊勁,同時不要用過于隨便的表述。而在java程序員面試指南里建議讀者不要表示將來踏上工作崗位,將“一定要……“絕對……諸如此類的保證,似乎在做就職演講。這些例子很多畫蛇添足似的自我介紹不但不會為你的形象增添色彩,會“越抹越黑”!。
第四篇:java程序員
如何迅速成為Java高手[Tomjava原創(chuàng)]
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢好象并不明顯。J2ME對于初學(xué)者來說,好象又有點(diǎn)深奧,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再從JSP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時,也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯,何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網(wǎng)站:
CSDN論壇 http:///那里Java資料比較全;
java.com.cnhttp://.cn/看這域名就知道有多牛,注冊用戶快接近一萬了,同時在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)絡(luò)http://IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再沒有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些
憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職啊),在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們設(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價值自然是字字珠嘰,鏗鏘有力(對不起,偶最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個開源程序就是Jive和Pet Store.。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對數(shù)據(jù)庫的訪問,可以很輕易的在不同數(shù)據(jù)庫中移植。論壇還有方便的安裝和管理程序,這是我們平時編程時容易忽略的一部份(中國程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時有l(wèi)icence限制。不過幸好還有中國一流的Java程序員關(guān)注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive 2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個開發(fā)團(tuán)隊(duì)在不斷升級。你可以訪問banq的網(wǎng)站http:///去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯過了。
你一定會高興地說,哈哈,原來成為Java高手就這么簡單啊!記得Tomjava也曾碰到過一個項(xiàng)目經(jīng)理,號稱Java很簡單,只要三個月就可以學(xué)會。其實(shí)說這種話的人就如當(dāng)年小日本號稱“三個月拿下中國”一樣大言不慚。不是Tomjava潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng)站http:///,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會上一個臺階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€志同道合的朋友成立一個工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會來找你的,所以Money就嘩啦啦的來了。。。當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時開發(fā)同一個軟件,是不是很有意思呢?
下面介紹兩個好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平臺http://gro.clinux.org/
共創(chuàng)聯(lián)盟http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識時務(wù)者為俊杰”。你知道計(jì)算
機(jī)界現(xiàn)在的發(fā)展形勢嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動作,都可以看出來“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請注意,這所有的一切都是Web站點(diǎn)間自動完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會覺得這是天方夜談,不過就近的說,你也很有可能承接一個項(xiàng)目,要集成兩個企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個網(wǎng)站吧: 中國UDDI技術(shù)聯(lián)盟http:///developerWorks/cn/xml/index.shtml?csdnIBM可是Web服務(wù)的力推者
嗚?你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動??!那么打個電話告訴我吧,什么?我的電話號碼是多少?昏到,你打電話問不就知道了嗎,真是的??
第五篇:Java程序員學(xué)習(xí)的6個技巧(推薦)
004km.cn
Java程序員學(xué)習(xí)的6個技巧
知識改變命運(yùn),對于Java程序員來說,技術(shù)不斷更新,只有及時充電,才能不被市場淘汰。西安中軟卓越的小編今天為大家分享Java程序員學(xué)習(xí)的6個小技巧。
1、一定要看書
現(xiàn)在學(xué)習(xí)Java變得比以前容易多了,除了有大量的視頻教程外,還有專業(yè)的Java培訓(xùn)機(jī)構(gòu),這都使學(xué)習(xí)的過程變得輕松容易了許多。然而我要說的是,Java雖然變得越來越容易學(xué),然而那只代表入門容易,并不代表這門編程技術(shù)就真的變簡單了。
如果僅僅學(xué)了些皮毛,高手寫的程序你是望塵莫及的。在學(xué)習(xí)的過程中,書籍永遠(yuǎn)是知識最好的載體,很多優(yōu)秀的程序員大師精心編撰的編程書籍,富含的不僅僅是一些知識,更多的是他們所傳授的思想,通過看書,鉆研書籍中的內(nèi)容,會讓你變得更加聰明,寫的程序也更加的精煉。
2、編程的時候,一定要獨(dú)立思考
現(xiàn)在網(wǎng)絡(luò)很發(fā)達(dá),很多程序員總愛百度,包括我?guī)У脑S多人都是這樣,一個jdbc這么初級的東東,他們編程幾年了,每次用還總是百度查。這個東西應(yīng)該是熟記于心的,隨時用,信手拈來,這樣才能成為高手。就好像一個修理工,一邊查手冊,一邊給你修車,亦或是一個醫(yī)生,一邊看教程,一邊給你看病,想想就覺得恐怖。
3、算法很重要,要不斷的優(yōu)化程序
基地地址:西安市碑林區(qū)長安北路8號高速大廈
004km.cn
現(xiàn)在很多人都是快速的學(xué)習(xí),快速的練習(xí),反復(fù)的練習(xí)。而我的建議是,無論你學(xué)到什么階段,都要去不斷的優(yōu)化自己的編程,能用3行實(shí)現(xiàn)的程序,不用5行,這樣你編寫的程序才能更加凝練。而且,編程學(xué)習(xí)的中后期,就要重視算法,盡量編程優(yōu)質(zhì)的程序,這才是編程的美妙之處。
4、寫一個程序,不斷改進(jìn)
你學(xué)習(xí)的過程可能很漫長,我建議你從一開始的時候,就想著寫一個小程序,比如一個計(jì)算器的程序,開始可能很簡單,僅僅通過命令行的方式呈現(xiàn),功能可能也只有加減乘除,但是隨著你學(xué)習(xí)的深入,你可以不斷的完善這個程序,直到有一天,你把它做成一個非常完善,性能非常卓越的程序后,你就真正學(xué)成了。
5、記得寫一些經(jīng)驗(yàn)和技巧,要不斷總結(jié)
不要做黑瞎子,掰苞米,掰一個丟一個。要學(xué)會總結(jié),經(jīng)常把自己遇到的問題及解決思想記錄下來,還要記下來自己的經(jīng)驗(yàn)和技巧,然后經(jīng)常瀏覽自己曾經(jīng)記下的這些東西,這樣有了積累,你會發(fā)現(xiàn),你成長的很快。
6、每個月至少研究一個技術(shù)點(diǎn)
直到今天,我還是會經(jīng)常鉆研一個技術(shù)點(diǎn),比如js的一個矩陣算法,實(shí)現(xiàn)色彩的霓虹燈變換;亦或是,Java多線程內(nèi)存自動優(yōu)化技術(shù)。我會去鉆研,而且總會研究出比我目前技術(shù)水平還高一點(diǎn)點(diǎn)的技術(shù),這樣我才能不斷的拔高,而且出類拔萃,這是一般程序員沒有做到的,當(dāng)你做到了,你就更牛了。
西安中軟卓越有中軟國際集團(tuán)和華為業(yè)務(wù)線、騰訊業(yè)務(wù)線等這樣真實(shí)的軟件開發(fā)為背景,學(xué)習(xí)之后可以直接入職中軟國際,與其選擇苦苦對比各大培訓(xùn)機(jī)構(gòu),不如直接搭上中軟卓越這條大船,直接與名企對接,萬無一失!想要加入名企的你,看懂了這個機(jī)會嗎?聽說通過在中軟卓越學(xué)習(xí)的程序員月薪都是四位數(shù)哦~
西安中軟卓越根植于中軟國際(香港上市公司)強(qiáng)大的軟件基因和背景,服務(wù)于超一流互聯(lián)網(wǎng)企業(yè),掌握最前沿的IT技術(shù)(Java、UI設(shè)計(jì)、web前端、IOS、android、PHP、嵌入式、軟件測試等),擁有實(shí)力雄厚、大型實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì)。堅(jiān)
基地地址:西安市碑林區(qū)長安北路8號高速大廈
004km.cn
持5R教學(xué)原則(即:【Real office :真實(shí)的工作環(huán)境】 【Real PM :真實(shí)的項(xiàng)目經(jīng)理】 【Real Project :真實(shí)的項(xiàng)目案例】 【Real Pressure :真實(shí)的工作壓力】 【Real Opening :真實(shí)的工作機(jī)會】),以中軟準(zhǔn)員工的要求約束學(xué)員,用真實(shí)的工作體驗(yàn)讓學(xué)員提前適應(yīng)職場,4個月后直接走向工作崗位,全國保障就業(yè),入職名企,打造高薪人生。
畢業(yè)學(xué)員入職名企享受高薪就業(yè)。880家合作企業(yè),年培育學(xué)員人數(shù)逾6000人,畢業(yè)學(xué)員就職于中軟國際、百度、騰訊、阿里巴巴、IBM、華為科技、中興通訊、軟通動力等知名企業(yè)。
基地地址:西安市碑林區(qū)長安北路8號高速大廈