據我所知java編程需要學習面向對象、基本語法、JSP、WebServer以及常用的Java開發工具和常用框架等知識。學習java編程可以使用JBuilder、IDEA、Eclipse等工具。
如果有C++等面向對象語言的開發經驗,可以簡單的翻看一下介紹JAVA的相關書籍就可以了。如果是新手就需要花時間好好研究一下Java的語法了
做JAVA程序員都少不了和JSP以及HTML打交道。因此,想成為JAVA程序員就不可避免的要熟悉JSP和HTML,最好能知道JSP的幾個內置對象,如Session,Request,Reponse,以及常用的JSP標簽,如include,userBean等。如果再熟悉一下JS和CSS就更好了,那會使得製作的頁面更友好。
熟悉了以上這些已經可以製作出來JSP頁面了,但是頁面總要跑起來才能看到它的效果,這就要求必須熟悉一種WebServer,比如:TOMCAT,RESIN等。要學會如何發布應用,如何利用WebServer的資料庫資源等。
想要創維一名優秀的Java程序員,建議找一家專業軟體培訓機構學習,我推建AAA軟體教育集團,AAA教育集團(隸屬於深圳市漫動者教育科技有限公司),成立於2007年,專業從事高端計算機職業教育工作,是國內知名的教育品牌。集團創立以來,依託先進的辦學理念,AAA培養出數萬名專業性、實戰型高端技術人才,被業界譽為「互聯網金領生產基地」。
❷ 作為一名合格的java程序員需要具備什麼能力
如何快速為合格的程序員從初入職場菜鳥到職場大咖,很多程序員在努力充實自己,有時候我們需要對自己進行一次能力定位,了解自己的優勢和沒有掌握的技術。芯學苑本文列出幾點作為初入職場的新手評估自己,明了前進學習的方向。1、技術能力(解決問題的能力)這是非常重要的事;過硬的技術能讓你得到面試機會,並在工作中游刃有餘。當公司招聘一個Java開發人員時,是會優先考慮能力因素的。在實際的項目開發中,一個程序員的技術能力等於其解決問題的能力。如果拿一個尺度來衡量這個能力的話,一個程序員的能力可以用能完成任務的數量和難度來衡量。一個程序員能基本無誤的完成項目中的一個功能算是合格,但在此之前,他對項目的生產力為負,為他布置的任務,中間環節的溝通,修補bug的時間其實要多於自己直接完成該功能的時間的。能較好完成一個完整模塊的程序員才算是較好的程序員,也是項目中的主要開發者。能獨立完成整個項目才是優秀的程序員。2、專業基礎(知識的積累)一個程序員的知識積累很大程度上決定了其解決問題的能力。知道如何編寫代碼是基本的技能,但是知道Java編程語言的原理,知道代碼背後的演算法將使你從人群中脫穎而出。3、主流編程工具今天,事實是,你不能成為一個樣樣都懂的人(雜而不精)。你必須選擇你要掌握的工具。有時這是由工作的環境決定的,但是按照下面說的去做也是一個很好的選擇:構建工具:Maven或Gradle。SCM:Git(不是GitHub。大不相同)。構建自動化:Jenkins。IDE:Netbeans或Eclipse——不僅用於編寫代碼,而且還從IDE中重構和調試代碼。我遇到了很多沒有如何從他們最喜歡的IDE調試的開發人員。Bug跟蹤:Bugzilla或Jira。4、JSF的知識應用程序伺服器所有Java開發人員應該知道如何在ApacheTomcat中部署。當Glassfish開發停止時,下一個最好的事情是JBossWildFly。5、溝通的能力溝通是我們做好一切事情的關鍵。我們必須與我們周圍的環境保持互動,無論是在我們的私人還是職業生活中。一個良好的程序員知道如何在各種團體面表達自己。也許對你來說顯而易見的東西在他人的角度來看並非如此。從大的尺度(比如一個人的工作生涯)來看,一個程序員知識積累的多少只決定於其自學能力和他對編程本身的興趣。在一個分工明確的項目中,程序員需要理解產品,和領導溝通理解自己的任務,和同事們溝通以正確的方式進行合作。無論哪一個方面溝通出了問題都不是小事情,同時,程序員還需要正確的傳達設計的實現難度,以及讓別人正確的理解自己設計模塊的介面。在不寫文檔時,正確的口頭溝通非常重要,需要寫文檔時,良好的編輯能力也算做是溝通能力的一部分。6、自學能力這是一個非常重要的技能,在你自己的空閑時間學習新的技能。不要等待公司為你提供培訓。你需要自己去學習新技術,提升自己在相關領域的水平。從WEB前端開發到架構模式,總是有一些新事物值得學習。經常閱讀博客和論壇,嘗試加入本地聚會小組。你學到的東西可以幫助你的事業。知識刷新頻率極快讓人無法追趕的這個時代,難免會有超出自己知識范圍的時候,此時你的自學能力決定了你能多快的完成任務。7、良好的團隊合作精神無論是部分編程還是大型項目,所有開發人員都是作為團隊的一部分在協同工作。你需要致力於團隊的目的,或幫助新的團隊成員克服障礙。不要存在這種「我只要做好我的本職工作,下班就直接回家」的態度。成為團隊的一部分,幫助周圍的同事,對自己的能力也是不小的提升。就像拿破崙說的不想當元帥的士兵不是好士兵,追求參與一個大型軟體系統的開發,是每個程序員的夢想。在此之前,我們應該學習的專業知識,達到優秀程序師的標准。最後希望各位程序員閱讀本文後能夠得到一些裨益,在這條路上走得更好。
❸ java 程序員任何修煉內功
搞開發,修煉程序員的內功,主要是看你對職業的心態和對行業的執著度,如果你感覺你每天做的都是一些重復的,感覺無味的東西,那說明你還沒有任何內功,甚至還沒達到一個真正的程序員,搞開發,就是讓計算機為人們的生活更為方便和高效以及快捷,明白了這些,在看看,有那個無所追求,滿足於現在,包括你,所以人的慾望永遠不會停止,心有多高,就能走多遠,我想你會明白我說的這些的,所以,你要持java利刃,開辟任何你不想用手工或效率低下而能服務大眾且頗受歡迎的東東,我想你不會說很沒意思的,那是你的內功也真成了行家內功呢!
❹ Java程序員工作一年,應該具備什麼能力和素質
一年啊,一年不足以做出什麼成績。如果確實很用功的話,起碼應該學會了一些需求分析能力,一些簡單的代碼重構能力,簡單的ER關系設計能力,還有文檔書寫能力,對代碼的描述能力(或者說書寫注釋的能力)。
❺ 作為一名合格的Java程序員應該具備哪些技能
1、熟練的使用Java語言進行面向對象程序設計,有良好的編程習慣,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多線程(並發編程)、反射等。
2、熟悉基於JSP和Servlet的JavaWeb開發,熟練的使用JSTL和EL編寫無腳本動態頁面,對Servlet和JSP的工作原理和生命周期有深入了解,有使用監聽器、過濾器等Web組件以及MVC架構模式進行JavaWeb項目開發經驗。
3、對Spring的IoC容器和AOP原理有深入了解,熟練的使用Spring進行事務、日誌、安全性等的管理,熟練的運用Spring框架管理各種Web組件及其依賴關系,有使用SpringMVC作為表示層技術以及使用Spring提供的持久化支持進行Web項目開發的經驗,熟悉Spring對其他框架的整合。
4、熟悉Hibernate和MyBatis的核心API,熟練的使用Hibernate、MyBatis等ORM框架,對Hibernate的關聯映射、繼承映射、組件映射、緩存機制、事務管理以及性能調優等有深入的理解。
5、熟練的使用HTML、CSS和JavaScript進行Web前端開發,熟悉jQuery和Bootstrap,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)進行項目開發的經驗,對Ajax技術在Web項目中的應用有深入理解。
6、熟練的使用SQL和PL/SQL進行資料庫編程,熟悉常用的關系型資料庫產品(MySQL、Oracle)。
7、熟悉面向對象的設計原則,熟練的使用UML進行面向對象的分析和設計,有TDD(測試驅動開發)和DDD(領域驅動設計)的經驗,對GoF設計模式和企業應用架構模式有深入的了解和實際開發的相關經驗。
8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web伺服器和應用伺服器的使用,熟悉多種伺服器整合、集群和負載均衡的配置。
9、熟練的使用產品原型工具Axure,熟練的使用設計建模工具PowerDesigner和EnterpriseArchitect,熟練的使用Java開發環境Eclipse和IntelliJ,熟練的使用前端開發環境WebStorm,熟練的使用軟體版本控制工具SVN和Git,熟練的使用項目構建和管理工具Maven和Gradle。
說明:上面羅列的這些東西並不是每一項你都要爛熟於心,根據企業招聘的具體要求可以做相應的有針對性的准備。但是前6項應該是最低要求,是作為一個Java軟體工程師必須要具備的專業技能。
❻ 一名合格Java程序員應該具備哪些技術和素質
胃口真大,JavaSE,JavaEE,JavaME三個方向都要啊!建議JAVA還是走JavaEE,另外兩個方面有一些了解就好了!
❼ java程序員就業情況現在怎麼樣
在各大招聘網站上搜索市場需求量大,可直觀看出Java程序員、Java工程師的崗位有很多,薪資待遇普遍偏高。Java應用廣泛,PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網等行業都離不開Java。
1、Java程序員市場需求缺口大
近年中國在移動互聯網這塊發展非常迅猛,各種創業公司、小團隊如雨後春筍般冒出來,對安卓開發、PHP、Java、Web的需求變大。但存在人才發展跟不上市場的需求的現狀,相對應的給優秀Java人才開出的薪資待遇隨之水漲船高。
從第三方平台統計的數據可以看到,Java工程師在2019年平均月薪接近20K,其中20K-30K的薪資佔比為30.3%。崗位需求方面,從100offer招聘網發布的各技術類崗位企業面邀數佔比可以看出,Java工程師企業需求為第一位,佔比60%,同比增長了11%。由此可見,Java崗位需求仍然呈現持續上升趨勢,供不應求。
2、Java程序員門檻高
要求計算機技術或是相關專業的大學生,Java對從業人員素質,計算機相關行業會了解最基本的互聯網的相關知識,以及簡單的語言基礎;從事Java開發行業,招聘公司對學歷有要求,大部分要求是專科以上。
並不排除有非計算機專業的從事Java行業的開發人員,但是萬事開頭難很多人抱著很大的希望去學習,學習過程中遇到的困難越來越多,慢慢就放棄了,因此有一部分人在入門的路上就淘汰了。學習前就要下定決心,學習不能輕易放棄。
3、Java崗位晉升方向多
大部分Java從業人員起初都是從初級工程師開始入門,隨著工作年限、工作經驗的不斷增加,從初級工程師進階到中級工程師。
隨著自身開發能力的不斷提高,開發項目的不斷積累從一個從中級工程師到高級甚至是開發組長的一個跳躍,在此基礎上再往更高的項目經理、項目總監職位晉升的話就不只是需要嫻熟的開發能力,溝通協調能力也是不可或缺的。
最後如果想要成為Java架構師或者是企業CTO,需要不斷加強自身技能的基礎上具備良好的駕馭管理開發團隊能力,有良好的人格修養,提升個人能力才能將企業向更好的方向帶領。
如今全國各地重視信息化建設,出現大量的信息化人才缺口尤其是Java軟體人才,我國信息化人才培養還處於發展階段。社會實際需求人才基數大於信息化人才的培養人數,眾多中小企業急需全面系統掌握Java軟體開發基礎技能與知識的軟體工程師,Java軟體工程師的就業機會和前景是非常廣闊的。
以上是針對Java行業、市場環境和Java崗位大致分析,Java程序員就業的情況比較好,對於想要從事Java的朋友看完可以有個大概的了解,雖然Java行業前景好,但是能掌握核心的Java技能和項目經驗才是關鍵。
❽ 一個程序員需要有怎樣的自我修養
作為一名程序員,一個「程序員的自我修養」是什麼?
盡管我們不一定要像尹天仇那麼的認真對待自己的事業,但,一些基本的修養,作為一名新時代的碼農,總應該是要具備的吧。不過真要說修養,方面還是挺多的,技術自我提示自不必說。但我並不打算從這個大家都覺得理所當然的技術方面入手,而是談談,可讀性代碼,這個容易被大家忽視的基本素養。
1、遵從所在團隊的代碼規范。
一個高效、成熟的團隊,必定有一個屬於自己的代碼規范,這個規范是團隊的寶貴的財富,它是整個團隊從各種坑中爬起來後積累的經驗教訓。什麼是規范,它是人們從無數經驗中總結出來的規則,標准。而代碼規范,指導團隊成員如何以最短的時間寫成最高效,可讀性強的代碼。試想,如果成員不遵從規范,你用駝峰命名,他用下劃線,這對程序的可讀,將造成多大的影響。我想,應該沒有一個人願意去閱讀一段,各種變數命名形式都能見得到,private, public 方法隨意排序,甚至常量類都散落在各個角落的代碼吧。
代碼,一個作用是讓機器閱讀,另一個重要的作用是讓人閱讀!!!
2、遵從行業內通用的規范
在團隊的代碼規范未涉及到的,那請按照行業內的規范來編寫代碼。規范的一個好處是,可以明顯減少學習和交流成本。在java中,當我們看到全大寫的變數名時,我們就知道這是常量,而不需要去看注釋,不需要去看代碼邏輯。為什麼這么迅速,因為行業里大家都習慣把常量用大寫命名。但假如你用其他命名方式命名常量,比如team_nums命名常量,不僅不能讓人迅速知道這是個常量,而且可能讓人誤會這是個變數,增加了團隊成員學習和溝通成本,甚至可能誤導他們。就見過一位仁兄,明明用的是工廠模式,偏偏按模版模式的命名方式來命名,問他,他說他知道這是工廠模式,但他覺得,更應該叫模版模式。。。我的天,,你這么任性,以後還能做朋友么?
舉個例子,我們需要根據支付類型,來生產多個支付產品,於是,我們寫了個工廠類,命名為FactoryPay。當其他人看到一個類叫FactoryPay,他們會猜測,這應該是個工廠類,負責生產各種支付產品的工廠,然後按照這個猜測去閱讀代碼,就能比較快速的理解整個類的作用。但是,假如我取名PowerPay,別人還不知道是啥,看了半天,才明白,這是個工廠的作用。這就明顯增加了他人的學習成本和維護代碼的成本。
不管你是新手還是老鳥,務必了解施行行業規范,切勿為了標新立異而違反規范。這么低端的裝逼,就沒必要採用了,要裝也寫個高端的框架來提升逼格唄。
3、變數、方法命名要能表達變數作用
在程序員這個圈子很久了,就發現,程序員這貨,都喜歡這套,「這個介面幹嘛用的,有文檔么」,「自己看代碼去」。很多時候都是一臉黑。
盡管程序員閱讀別人代碼技術都是一流,不管你是有沒有注釋,不管你是怎麼循環嵌套,也不管你是怎麼命名,他們都能耐心的,把代碼分析個所以然來。但,對於程序員這個視時間寶貴如生命,分分鍾都能創造幾百萬價值的群體來說,您行行好,給我們省點時間吧,把變數是幹啥用的,說清楚唄,沒准節省的這幾分鍾,多賺個幾萬,還能請大家出去嗨呢。
每每看到部門的某大神,用一個神一般的變數名「flag」,我就有吐血的沖動,他還這個flag一直雪藏,不用,只是傳遞到第n個方法才使用,頓時心力交瘁,我的天,這個flag都是是幹嘛用的啊,後來才明白,是isPay的意思,用來標識用戶是否支付成功了。當時一口老血吐屏幕上,心裡狂吐槽,老兄,你命名個isPay會死么,我的腦細胞這么不值錢么。到後來看到,去魔法數字,用int NUM_7 = 7,而不是MAX_MEMBERS來表示最大成員、用x y z來命名變數名,各種只有作者,或者作者後來都忘了的獨特命名方式,都見怪不怪了。更有甚者,一個變數命名為passed,作用居然是「未通過」的意思,當時就石化了,作者還真是用心良苦,這都要考我細心不細心。
一個好的變數名,能幫助閱讀者了解變數的作用,也輔助了對整段代碼的理解。
4、不要show英語,鄉下的孩子傷不起唉
LZ所在的團隊,英語一直都是團隊的硬傷,但總是能看到,某位仁兄,加上大把大把的英文注釋,有些變數名也取些高大上的復雜的英語單詞。敢問,你這么高的逼格,以後我們怎麼和你玩啊。(那位仁兄其實就是LZ,年輕時唉,罪過罪過)
代碼是用來溝通的,傳遞作者意圖的,都看不懂,怎麼溝通交流。建議英語好的童鞋,英語能力可以放到閱讀英文書籍中展示,在代碼中,如果團隊英語能力很弱,避免使用英文,變數命名也盡量按照團隊英語水平來命名
5、添加必要的注釋
正如上面LZ說的,經常遭遇「你仔細看看代碼,就知道幹嘛用的」這樣的神回復。盡管閱讀代碼是每個程序員的強項,但必要的注釋,比如邏輯比較復雜的地方,添加必要的注釋,對提升團隊成員閱讀熟悉代碼的效率是有很大幫助的。試想,一個類,幾百行,沒有一行注釋,對於閱讀者來說,閱讀它將是一個多麼恐怖的事。
6、注釋保持簡潔,避免沒有必要的注釋
即看過一行注釋都沒有的代碼,也看過注釋比代碼還要多的程序。一個是讓人生不如死,一個是讓人痛不欲生。(唉,有時不僅感嘆,在程序員界混,真的是難)。
LZ就經常看過,一大段注釋,啰嗦了半天,要不就是沒表達清楚重點,要不就是只為說明它是個循環的作用!!!譬如i++這樣的代碼,有必要加個「每個計數增加1」這樣的注釋么,這完全是把讀者定位為非程序員啊,或者就是嚴重鄙視讀者的編程水平。
注釋是幫助閱讀的人更好的理解程序的邏輯,只是輔助,如果不重視通過命名等方式來傳遞代碼的作用,而是依賴於注釋,這就是本末倒置了。而且,冗長啰嗦的注釋,這到底是幫助人理解,還是阻礙人理解啊,是讀程序還是讀小說啊。
7、擁有自己的編碼規范
規范是為了讓團隊更快的理解、熟悉代碼的,同理,擁有自己的一套規范,就能幫助其他人更快的理解我們所寫的功能,減少學習和溝通成本。
8、代碼清晰簡潔的表達出作者的意思
在我們每次寫完一段代碼時,一定要問問自己,代碼是否表達清楚了我的意思,是否需要添加些注釋,名字取得是否恰當了,別人在閱讀時是否吃力。。每每看到別人一團糟的費解的代碼,就時刻提醒自己,一定要把代碼寫好咯,我也確實是這么做的,一遍又一編的檢查,看變數名、方法名是否表明了它的用途,是否有些不必要的、只是為了提升逼格的代碼,別人是否能在短時間內看懂。所有的這些,只是為了寫出一段更優美的代碼。
9、堅持並捍衛上面的准則
經常能聽到,有些公司是代碼行數來定義績效的,但作為一個有操守,並秉承基本自我修養的程序員,我們絕不能為了各種誘惑或者脅迫,甚至是自己的惰性、個性,而放棄寫出簡潔清晰,可讀的代碼。
以上的幾點,並不是嚴格的意見或者建議,只是提醒廣大程序員同胞們,在痴心與高端的技術時,千萬不要忘了,代碼不僅機器要閱讀,人也需要閱讀。就算你寫出再復雜的代碼,但它讓人完全無法閱讀,這有什麼用呢。這就如同,你很牛逼很牛逼,但別人聽不懂你說的話,還不是沒用。如果你真的寫出了可讀性強的代碼,但你也不應該鳴鳴得意,我覺得,寫出一段優美,健壯,可讀性高的代碼,是一個程序員最基本的自我修養。
❾ 成為一個合格的Java程序員需要什麼要求
想要成為一名優秀的Java程序員,不能像無頭蒼蠅一樣亂轉,一些關鍵技術的掌握是非常重要的,比如說分享的這九點:
一、熟練的使用Java語言進行面向對象程序設計,有良好的編程習慣,熟悉常用的JavaAPI,包括集合框架、多線程(並發編程)、I/O(NIO)、Socket、JDBC、XML、反射等。
二、熟悉基於JSP和Servlet的JavaWeb開發,對Servlet和JSP的工作原理和生命周期有深入了解,熟練的使用JSTL和EL編寫無腳本動態頁面,有使用監聽器、過濾器等Web組件以及MVC架構模式進行JavaWeb項目開發的經驗。
三、對Spring的IoC容器和AOP原理有深入了解,熟練的運用Spring框架管理各種Web組件及其依賴關系,熟練的使用Spring進行事務、日誌、安全性等的管理,有使用SpringMVC作為表示層技術以及使用Spring提供的持久化支持進行Web項目開發的經驗,熟悉Spring對其他框架的整合。
四、熟練的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,對Hibernate的關聯映射、繼承映射、組件映射、緩存機制、事務管理以及性能調優等有深入的理解。
五、熟練的使用HTML、CSS和JavaScript進行Web前端開發,熟悉jQuery和Bootstrap,對Ajax技術在Web項目中的應用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)進行項目開發的經驗。
六、熟悉常用的關系型資料庫產品(MySQL、Oracle),熟練的使用SQL和PL/SQL進行資料庫編程。
七、熟悉面向對象的設計原則,對GoF設計模式和企業應用架構模式有深入的了解和實際開發的相關經驗,熟練的使用UML進行面向對象的分析和設計,有TDD(測試驅動開發)和DDD(領域驅動設計)的經驗。
八、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web伺服器和應用伺服器的使用,熟悉多種伺服器整合、集群和負載均衡的配置。
九、熟練的使用產品原型工具Axure,熟練的使用設計建模工具PowerDesigner和EnterpriseArchitect,熟練的使用Java開發環境Eclipse和IntelliJ,熟練的使用前端開發環境WebStorm,熟練的使用軟體版本控制工具SVN和Git,熟練的使用項目構建和管理工具Maven和Gradle。
以上!
❿ Java程序員人員應具備哪些素質
掌握java基礎、開源框架技術、jsp、javascript、ajax、css、html等技術相關知識
熟悉db2、orcale、ms sql server、mysql資料庫其中一種,主要是oracle
有較強的新技術學習能力,和良好的溝通能力和理解能力