堅持學習java三年了(半年學會java)

本文目錄一覽:

三年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-hant/n/195870.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 20:37
下一篇 2024-12-02 20:38

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論