本文目錄一覽:
- 1、三年java經驗應該都會什麼
- 2、工作3年的Java程序員應該掌握哪些技能
- 3、學習Java的話,一般要多長時間呢?
- 4、學習java 3年了,感覺對java仍然很模糊,想學精java,可是就是不知道該如何下手。
- 5、職業規劃–學習規劃—學習java已經3、4年了,現在好像遇到了一個瓶頸。
三年java經驗應該都會什麼
沒有什麼應該要會什麼的,看個人能學到什麼程度。
如果一定要說會什麼的話,最基本的Spring、Struts2、Hibernate、Oracle、JS、Jquery等使用及原理非常熟,對於性能優化、代碼優化、伺服器調優、設計模式也要有一定的認識,還要掌握一些企業常用的技術lucene、webservice、JBPM等。
對Java的認識和理解是一個長期的過程,但掌握了這些對java的最常見的應用也算學習了個大概,進入大多數公司都能遊刃有餘。
後面多考慮架構設計及底層的一些東西,目前大數據很火,可以關注下MapReduce、Hadoop等技術。
工作3年的Java程序員應該掌握哪些技能
1、基本語法
這包括static、final、transient等關鍵字的作用,foreach循環的原理等等。
2、集合
非常重要,基本上就是List、Map、Set,各種實現類的底層實現原理,實現類的優缺點。
集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的實現原理,
(1)ConcurrentHashMap的鎖分段技術
(2)ConcurrentHashMap的讀是否要加鎖,為什麼
(3)ConcurrentHashMap的迭代器是強一致性的迭代器還是弱一致性的迭代器
3、設計模式
設計模式在工作中是非常重要、非常有用的,23種設計模式中重點研究常用的十來種就可以了,面試中關於設計模式的問答主要是三個方向:
(1)你的項目中用到了哪些設計模式,如何使用
(2)知道常用設計模式的優缺點
(3)能畫出常用設計模式的UML圖
4、多線程
假如有Thread1、Thread2、Thread3、Thread4四條線程分別統計C、D、E、F四個盤的大小,所有線程都統計完畢交給Thread5線程去做匯總,應當如何實現?
聰明的網友們對這個問題是否有答案呢?不難,java.util.concurrent下就有現成的類可以使用。
另外,線程池在面試中也是比較常問的一塊,常用的線程池有幾種?這幾種線程池之間有什麼區別和聯繫?線程池的實現原理是怎麼樣的?實際一些的,會給你一些具體的場景,讓你回答這種場景該使用什麼樣的線程池比較合適。
最後,雖然面試問得不多,但是多線程同步、鎖這塊也是重點。synchronized和ReentrantLock的區別、synchronized鎖普通方法和鎖靜態方法、死鎖的原理及排查方法等等,關於多線程,
5、JDK源碼
要想拿高工資,JDK源碼不可不讀。總結一下比較重要的源碼:
(1)List、Map、Set實現類的源代碼
(2)ReentrantLock、AQS的源代碼
(3)AtomicInteger的實現原理,主要能說清楚CAS機制並且AtomicInteger是如何利用CAS機制實現的
(4)線程池的實現原理
(5)Object類中的方法以及每個方法的作用
6、框架
老生常談,面試必問的東西。一般來說會問你一下你們項目中使用的框架,然後給你一些場景問你用框架怎麼做,比如我想要在Spring初始化bean的時候做一些事情該怎麼做、想要在bean銷毀的時候做一些事情該怎麼做、MyBatis中$和#的區別等等,這些都比較實際了,平時積累得好、有多學習框架的使用細節自然都不成問題。
7、資料庫
一些基本的像union和union all的區別、left
join、幾種索引及其區別就不談了,比較重要的就是資料庫性能的優化,如果對於資料庫的性能優化一竅不通,那麼有時間,還是建議你在面試前花一兩天專門把SQL基礎和SQL優化的內容準備一下。
8、數據結構和演算法分析
數據結構和演算法分析,對於一名程序員來說,會比不會好而且在工作中絕對能派上用場。數組、鏈表是基礎,棧和隊列深入一些但也不難,樹挺重要的,比較重要的樹AVL樹、紅黑樹,可以不了解它們的具體實現,但是要知道什麼是二叉查找樹、什麼是平衡樹,AVL樹和紅黑樹的區別。
9、Java虛擬機
Java虛擬機中比較重要的內容:
(1)Java虛擬機的內存布局
(2)GC演算法及幾種垃圾收集器
(3)類載入機制,也就是雙親委派模型
(4)Java內存模型
(5)happens-before規則
(6)volatile關鍵字使用規則
學習Java的話,一般要多長時間呢?
我認為java學習一般需要學習一個月左右的時間,主要是注重於實際訓練,這樣技術才會提高的快。在編程的世界裡,Java一直是企業級別開發最喜歡選擇的編程語言,從java目前的就業形勢來看還是相當不錯的。
由於手機安卓開發的需要,許多人也開始轉戰Java的學習,java技術更新的很快,而且在現在中國的培訓機構里java學員都是批量生產的,那麼競爭壓力也是很大的。所以許多人在學好java的基礎後,轉戰到火熱的安卓開發。
學習Java我推薦AAA教育集團,AAA軟體教育(鄭州AAA軟體學院),隸屬於AAA教育集團,前身為志遠IT學院,是一家經人力資源和社會保障部門審批設立,專註於從事高端計算機職業教育的教育機構。
學習java 3年了,感覺對java仍然很模糊,想學精java,可是就是不知道該如何下手。
很多網友問我學習Java有沒有什麼捷徑,我說「無他,唯手熟爾」。但是我卻很願意將?
自己學習的一些經驗寫出來,以便後來者少走彎路,幫助別人是最大的快樂嘛!?
要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖?
使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,?
這也就是Sun?ONE(Open?Net?Environment)體系。J2SE就是Java2的標準版,主要用於桌?
面應用軟體的編程;J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;J2EE是Jav?
a2的企業版,主要用於分散式的網路程序的開發,如電子商務網站和ERP系統。J2SE開發?
桌面應用軟體比起VC,VB,DEPHI這些傳統開發語言來說,優勢好象並不明顯。J2ME對於初?
學者來說,好象又有點深奧,而且一般開發者很難有開發環境。所以現在應用最廣泛又?
最好學的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,Java?
Mail等。要學習起來可不是一兩天的事。?
那麼又該如何學習J2EE呢?當然Java語法得先看一看的,I/O包,Util包,Lang包你都熟?
悉了嗎?然後再從JSP學起。如果你學過HTML,那麼事情要好辦的多,如果沒有,那你快?
去補一補HTML基礎吧。其實JSP中的Java語法也不多,它更象一個腳本語言,有點象ASP?
。然後你就該學一學Servlet了。Servlet就是伺服器端小程序,他負責生成發送給客戶?
端的HTML文件。JSP在執行時,也是先轉換成Servlet再運行的。雖說JSP理論上可以完全?
取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉還是挺方便的?
,也令程序更清晰。接下來你應該學習一下Javabean了,可能你早就看不管JSP在HTML中?
嵌Java代碼的混亂方式了,這種方式跟ASP又有什麼區別呢?還好,SUN提供了Javabean?
可以把你的JSP中的Java代碼封裝起來,便於調用也便於重用。接著就是EJB了,EJB就是?
Enterprise?JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區別的。它?
是一個體系結構,你可以搭建更安全、更穩定的企業應用。它的大量代碼已由中間件(?
也就是我們常聽到的Weblogic,Websphere這些J2EE伺服器)完成了,所以我們要做的程?
序代碼量很少,大部分工作都在設計和配置中間件上。至於JDBC,就不用我多說了,你?
如果用java編過存取資料庫的程序,就應該很熟悉。還有,如果你要用Java編髮送電子?
郵件的程序,你就得看看Javamail了。?
好了,對Java和J2EE有了一些基本概念之後,你就應該編一些程序了,千萬不要紙上談?
兵哦。最好找一些有實例且帶光碟的書來看,這樣看到好的程序就可以直接Ctrl+C再Ct?
rl+V,也不用勞您老大架再親自把它?再輸一遍吧,再說直接複製還不用怕出錯,何樂而?
不為呢!還有就是要經常上一些好的Java編程文章,有好的文章要Cut下來,有問題儘管?
問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網?
站:?
CSDN論壇?中國最有名的技術論壇,《程序員》雜誌就是他們出?
版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分?
;?
Java研究組織上面有很多原創文章,高手還是挺多的;?
?
Java開發者?那裡Java資料比較全;?
java.com.cn?看這域名就知道有多牛,註冊用戶快接近一萬?
了,同時在線人數也在一千左右,人氣很旺的;?
IBM的開發者網路
永遠的藍色巨人;?
那麼我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?
?當然沒那麼簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項目,你知?
道怎麼下手嗎,你知道怎麼設計嗎,你知道怎麼組織人員進行開發嗎?你現在腦子裡除?
了一些散亂的代碼之外,可能再沒有別的東西了吧!你現在最缺的是實際的工作經驗,?
而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果?
是在校學生可以去做兼職啊),在實踐中提高自己,那才是最快的。不過你得祈禱在公?
司里碰到一個高手,而且他還願意不厭其煩地教你,這樣好象有點難哦!?
還有一個辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們設計合?
理,考慮周到,再加上有廣大的程序員參與,代碼的價值自然是字字珠嘰,鏗鏘有力(?
對不起,偶最近《金裝四大才子》看多了)。學Java必讀的兩個開源程序就是Jive和Pe?
t?Store。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設計採用了很多?
先進的技術,如Cache、用戶認證、Filter、XML等,而且論壇完全屏蔽了對資料庫的訪?
問,可以很輕易的在不同資料庫中移植。論壇還有方便的安裝和管理程序,這是我們平?
時編程時容易忽略的一部份(中國程序員一般只注重編程的技術含量,卻完全不考慮用?
戶的感受,這就是我們與國外軟體的差距所在)。Jive的資料在很多網站上都有,大家?
可以找來研究一下。相信你讀完代碼後,會有脫胎換骨的感覺。遺憾的是Jive從2.5以後?
就不再無條件的開放源代碼,同時有licence限制。不過幸好還有中國一流的Java程序員?
關注它,外國人不開源了,中國人就不能開源嗎?這裡向大家推薦一個漢化的Jive版本?
—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive?2.1版本基礎上改編而成,?
全中文,增加了一些實用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個開發?
團隊在不斷升級。你可以訪問banq的網站去下載。Pet?Store(?
寵物店)是SUN公司為了演示其J2EE編程規範而推出的開放源碼的程序,應該很具有權威?
性,想學J2EE和EJB的朋友不要錯過了。有意思的是,Pet?Store還經常作為各大J2EE廠?
商的產品性能的比較標準,就連微軟也曾作過一個Pet?Store試圖證明.NET性能比J2EE優?
越,可見Pet?Store的例子有多麼深入人心。?
你一定會高興地說,哈哈,原來成為Java高手就這麼簡單啊!記得Tomjava也曾碰到過一?
個項目經理,號稱Java很簡單,只要三個月就可以學會。其實說這種話的人就如當年小?
日本號稱「三個月拿下中國」一樣大言不慚。不是Tomjava潑你冷水,你現在只是學到了?
Java的骨架,卻還沒有學到Java的精髓。接下來你得研究設計模式了。設計模式是高級?
程序員真正掌握面向對象核心思想的必修課。設計模式並不是一種具體”技術”,它講述的?
是思想,它不僅僅展示了介面或抽象類在實際案例中的靈活應用和智慧,讓你能夠真正?
掌握介面或抽象類的應用,從而在原來的Java語言基礎上躍進一步,更重要的是,設計?
模式反覆向你強調一個宗旨:要讓你的程序儘可能的可重用。關於設計模式的資料,還?
是向大家推薦banq的網站,他把GOF的23種模式以通俗易懂的方?
式詮釋出來,純Java描述,真是經典中的經典。有時間再研究一下MVC結構(把Model-V?
iew-Control分離開的設計思想)吧,現在很流行的Structs就是它的一種實現方式,不?
過Structs用起來實在是很繁,我們只要學習其精髓即可,我們完全可以設計自己的MVC?
結構。然後你再研究一下軟體Refactoring(重整)和極限XP編程,相信你又會上一個台階?
。?
做完這些,你不如整理一下你的Java代碼,把那些經典的程序和常見的應用整理出來,?
再精心打造一番,提高其重用性和可擴展性。你再找幾個志同道合的朋友成立一個工作?
室吧,你可以去承接一些項目做了,一開始可能有些困難,可是你有技術積累,又考慮?
周全,接下項目來可以迅速作完,相信大家以後都會來找你的,所以Money就嘩啦啦的來?
了。。。。。。?
當然你也可以參加一些開源項目,一方面可以提高自己,另一方面也是為中國軟體事業?
做貢獻嘛!開發者在互聯網上用CVS合作開發,用QQ,MSN,E-mail討論聯繫,天南海北的?
程序員分散在各地卻同時開發同一個軟體,是不是很有意思呢??
下面介紹兩個好的開源項目網站:?
湖北省軟體公共開發平台
共創聯盟
哇,好高興哦,我終於成為高手了!非也,非也。古人云:「識時務者為俊傑」。你知?
道計算機界現在的發展形勢嗎?你知道微軟的.NET藍圖和SUN?ONE計劃之間的明爭暗鬥嗎?
?你知道計算機技術將向何處發展嗎?其實從各大計算機廠商最近的動作,都可以看出來「?
Web服務將是下一代互聯網應用的制高點」,而微軟的.NET藍圖和SUN?ONE計劃的鬥爭焦?
點,也就是Web服務。Web服務就是一個嶄新的分散式計算模型,它是一系列標準的綜合?
(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟體能夠輕易的集成起來,?
使網路資源和Web站點變成一種服務而不是混亂的垃圾場。不遠的將來,我們就可以在家?
里點擊一下滑鼠,就可以完成出門旅遊的全部準備工作,包括定飛機票,定旅遊線路,?
定好房間等。請注意,這所有的一切都是Web站點間自動完成的,再也不用象現在一樣,?
表面上是電子商務,實際上很多環節都是人工操作。也許你會覺得這是天方夜談,不過?
就近的說,你也很有可能承接一個項目,要集成兩個企業的ERP系統。很有可能上游企業?
的系統是用Dephi編的,而下游企業的系統是用Java編的。你說你是Java高手,大家都看?
者你怎麼做呢。所以啊,你還得學習新技術,如Web服務,而且你Dephi也要懂一點吧(?
Dephi6現在已經提供Web服務的控制項了)。?你編的Java系統,可能要和.NET集成,所以?
你.NET要懂一點吧?到最後,你可能發現你已經成為Java高手了,但很多時間卻在搞別?
的技術。太極張三丰里說,最厲害的招式就是沒有招式,可能就是這個道理吧!?
因為剛剛興起,所以網上Web服務的資料不是很多,我還是給大家推薦幾個網站吧:?
中國UDDI技術聯盟
CSDN的柴曉路專欄(?
註:柴曉路也是互聯網上一個有名的人物,他發表過很多關於Web服務的文章,還出了一?
書,應該稱的上是中國Web服務技術的先行者)?
IBM的開發者網路的XMLWeb?Service專欄:?
可是Web服務?
的力推者?
嗚…你費勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易?
,真不簡單,真叫人感動啊!那麼打個電話告訴我吧,什麼?我的電話號碼是多少?昏?
到,你打電話問不就知道了嗎,真是的……?
職業規劃–學習規劃—學習java已經3、4年了,現在好像遇到了一個瓶頸。
咱們是同行,你可以了解一下架構,java可以升級成為架構師的。 架構師分前端和後端,你可以購買一些書籍閱讀已做了解。
不好意思, 回答的太過敷衍,你做了那麼多年的程序猿,框架應該了解的很清楚。你可以轉研發,或者深入了解業務流程,轉職為項目經理,項目經理很少寫代碼(大公司),項目經理負責管理和帶領團隊,以及業務流程,我做了那麼多年開發,業務可是比代碼難多了。
最後還是奉勸一句,不要混吃混喝賴日子,有些東西在網上也是能學到的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/195870.html