① 一個高級java工程師需要具備什麼能力和技術
一、 JAVA。
要想成為JAVA(高級)工程師肯定要學習JAVA。一般的程序員或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高級) 工程師,要對JAVA做比較深入的研究
二、 設計模式。
如何寫出好的代 碼往往要藉助一些設計模式。當然長期的代碼經驗積累,只要用心,就會形成自己的代碼風格。
三、 XML。
XML的功能非常強大,它可以做數據轉換、做系統的配置、甚至可保存您的系統業務數據。因此必須掌握 XML,包括它的語法,結構。還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的項目中,XML往往擔當系統配置信息的作用。
四、 精通使用一種或兩種框架。
「框架都會有許多可重用的代碼,良好的層次關系和業務控制邏輯,基於框架的開
發使你可以省出很多的開發成本」。通過框架的使用了解框架的思想。
五、 熟悉主流資料庫。其實真正比較大的項目都是有人專門做資料庫的,但往往很多項目要求作為(高級)工程師的也要參與資料庫的設計以及SQL的編寫。
六、 精通一種或兩種WEBServer。
作為高級JAVA工程師,不可避免地要部署項目到WebServer上,而且只有當你精通一種WebServer,才可能最大限度地使用它 的資源,這往往可以節省很多時間和精力。
② 如何用maven-bundle-plugin在bundle中嵌入內部JAR包
部署時從maven庫中找到這個jar包,然後直接放到Felix的bundle目錄,啟動Felix,就可以看到這個jar包作為一個獨立bundle已經啟動,其他bundle就可以通過直接Import-Package的方式來引用這些包。的之所以能夠這么做是因為這個jar已經osgi化了,查看jar包中的META-INF/MENIFEST.MF文件,只要其中有Bundle-SymbolicName: org.apache.commons.io等一系列Bundle-*的屬性值,並且有Export-Package導出內部的包就可以確定。現在大部分從maven庫中獲得的比較新的jar包,基本上都已經支持OSGI了。如果一個jar包確實不包含OSGI信息,也可以通過手動編輯它的MENIFEST.MF文件增加OSGI信息,來實現這個jar包獨立作為bundle運行。例如json-20090211.jar,直接編輯它的MENIFEST.MF
③ Java培訓班都需要學什麼
我了解到Java培訓學習課程分為四部分:
1、Java語言基礎知識的學習與應用,掌握常見的數據結構和實用演算法。
2、資料庫的學習與應用,熟練使用oracle資料庫。
3、熟練運用Java腳本語言編程,掌握HTML的基本原理與運用。
4、學習軟體項目開發。
Java是一門面向對象編程語言,Java語言集合了C++的優點,丟棄了缺點,所以Java語言表現的功能強大而簡單易用。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,讓程序員能夠以清晰的思維方式進行復雜的編程?。
想了解更多信息,我推薦到AAA教育集團了解一下。AAA教育集團以軟體教育、數字教育為主,致力於培養「高級軟體工程師」為特色,以促進大學生高質量就業為辦學宗旨,是業界「互聯網金領生產基地」。
隨著當今職業多元化發展態勢,我國對IT行業軟體技術人才需求越來越旺盛,校企雙方聯合培養軟體技術人才,是學校順應時代發展的必要舉措,對推動國家信息化發展進程具有重要的現實意義。
④ java學習路線
1、java基本語法(1 編寫 HelloWorld、2 常量、3 變數、4 數據類型、5 運算符、6 方法、7 流程式控制制語句、8 IDEA使用:目前企業使用最多開發工具、9 數組)
2、面向對象(1 類、2 對象、3 封裝、繼承、多態、4 構造器、5super、this、6 介面、抽象類、7 許可權修飾符、8 內部類、9 Random、ArrayList、String、Arrays、Math)
3、API(常用API:1 Date、2 DateFormat、3 Calendar、4 System、5 StringBuilde)
4、集合(1 Collection、2 泛型、3 List、4 Set、5 Collections、6 Map、7 HashMap)
5、異常(1 異常體系、2 異常分類、3 聲明拋出捕獲異常、4 自定義異常)
6、多線程(1 線程概念、2 線程同步、3 Lock、4 線程生命周期、5 線程池)
7、Lambda表達式(1 函數式思想概述、2 Lambda標准格式、3 Lambda語法與注意事項)
8、IO流(1 文件、2 位元組流、字元流、3 轉換流、高效流)
9、網路編程(1 網路編程三要素、2 Socket原理機制、3 UDP傳輸、4 TCP傳輸)
10、資料庫(1 mysql、2 jdbc、3 連接池、4 JdbcTemplate )
11、前端技術(1 html5、2 css、3 javascript、4 bootstrap)
12、linux(1 linux安裝、2 目錄操作、3 文件操作、4 網路操作等)
13、nginx( nginx安裝、配置、部署)
14、xml與(1 xml基本語法、2 約束)
15、jsonp( 1 jsoup概述、2 jsoup作用使用、3 xpath)
16、Servlet(1 tomcat、2 request、response、3 cookie、session、4 jsp、el、jstl、Filter)
17、web非同步開發(1 jquery3、2 ajax、3 json)
18、redis(1 nosql介紹、2 redis數據類型、3 常用命令、4 jedis)
19、maven(1 maven概念與作用、2 idea集成maven、3 maven常用命令、4 依賴管理)
20、spring(1 spring體系結構、2 spring配置、3 bean管理、 4 IOC/DI、AOP、5 事務管理、6 spring5新特性 )
⑤ 科技公司鍾愛的50款開源工具
大數據
1. Hadoop
Apache主持的這個項目是最廣為人知的大數據工具。眾多公司為Hadoop提供相關產品或商業支持,包括亞馬遜網路服務、Cloudera、Hortonworks、IBM、Pivotal、Syncsort和VMware。知名用戶包括:阿里巴巴、美國在線、電子港灣、Facebook、谷歌、Hulu、領英、Spotify、推特和雅虎。
支持的操作系統:Windows、Linux和OS X
相關網站:http://hadoop.apache.org
2. Hypertable
Hypertable在互聯網公司當中非常流行,它由谷歌開發,用來提高資料庫的可擴展性。用戶包括網路、電子港灣、Groupon和Yelp。它與Hadoop兼容,提供商業支持和培訓。
支持的操作系統:Linux和OS X
相關網站:http://www.hypertable.com
3. Mesos
Apache Mesos是一種資源抽象工具,有了它,企業就可以鞀整個數據中心當成一個資源池,它在又在運行Hadoop、Spark及類似應用程序的公司當中很流行。使用它的企業組織包括:Airbnb、歐洲原子核研究組織(CERN)、思科、Coursera、Foursquare、Groupon、網飛(Netflix)、推特和優步。
支持的操作系統:Linux和OS X
相關網站:http://mesos.apache.org
4. Presto
Presto由Facebook開發,自稱是「一款開源分布式SQL查詢引擎,用於對大大小小(從GB級到PB級)的數據源運行互動式分析查詢。」Facebook表示,它將Presto用於對300PB大小的數據倉庫執行查詢,其他用戶包括Airbnb和Dropbox。
支持的操作系統:Linux
相關網站:https://prestodb.io
5. Solr
這種「快若閃電」的企業搜索平台聲稱高度可靠、擴展和容錯。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、網飛、IBM、Adobe和SAP Hybris。
支持的操作系統:與操作系統無關
相關網站:http://lucene.apache.org/solr/
6. Spark
Apache Spark聲稱,「它在內存中運行程序的速度比Hadoop MapRece最多快100倍,在磁碟上快10倍。」Spark「支持」的企業組織包括:亞馬遜、網路、Groupon、日立解決方案、IBM、MyFitnessPal、諾基亞和雅虎。
支持的操作系統:Windows、Linux和OS X
相關網站:http://spark.apache.org
7. Storm
正如Hadoop用來處理批量數據,Apache Storm用來處理實時數據。官方網站上顯示用戶包括:天氣頻道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard和Klout。
支持的操作系統:Linux
相關網站:https://storm.apache.org
雲計算
8. Cloud Foundry
Cloud Foundry提供用於構建平台即服務的開源工具。它聲稱「由行業領袖為行業領袖構建」,其支持者包括IBM、 Pivotal、惠普企業、VMware、英特爾、SAP和EMC。
支持的操作系統:Linux
相關網站:https://www.cloudfoundry.org
9. CloudStack
這個交鑰匙IaaS解決方案構成了許多公共雲和私有雲的基礎。它的用戶極多,包括阿爾卡特-朗訊、蘋果、Autodesk、英國電信、冠群科技、思傑、Cloudera、戴爾、富士通、SAP和韋里遜。
支持的操作系統:與操作系統無關
相關網站:http://cloudstack.apache.org
10. OpenStack
這種很受歡迎的雲計算平台聲稱,「世界上成百上千個大品牌」每天依賴它。支持者包括:AT&T、Ubuntu、惠普企業、IBM、英特爾、Rackspace、紅帽、SUSE、思科、戴爾、EMC、賽門鐵克及另外許多知名科技公司。
支持的操作系統:與操作系統無關
相關網站:http://www.openstack.org
11. Scalr
這種雲管理平台備受市場研究公司的好評,它簡化了管理多個雲環境的過程。知名用戶包括Expedia、三星、美國宇航局噴氣推進實驗室、埃森哲、索尼和Autodesk。
支持的操作系統:Linux
相關網站:http://www.scalr.com
容器
12. Docker
Docker在相對新興的容器領域迅速確立起了主導平台這一地位。科技界的許多大牌公司在構建或提供擴展或使用Docker技術的產品,包括亞馬遜、微軟、IBM、惠普企業、紅帽、Rackspace和Canonical。
支持的操作系統:Windows、Linux和OS X
相關網站:https://www.docker.com
輸入標題 內容管理
13. DNN
這款內容管理解決方案之前名為DotNetNuke,承諾構建豐富的互動式網站時,只要花較少的精力,就能收到顯著的成效。用戶包括佳能、時代華納有線電視、德州儀器和美國銀行。
支持的操作系統:Windows
相關網站:http://www.dnnsoftware.com
14. Drupal
Drupal聲稱,98000多個開發人員在為這個極其流行的內容管理系統積極貢獻代碼。支持者包括微軟、Zend、Fastly和New Relic,其內容市場有數百家公司參與其中,它們提供了相關的產品和服務。
支持的操作系統:與操作系統無關
相關網站:https://www.drupal.org
15. Joomla
Joomla為數百萬個網站提供平台,其下載量超過了5000萬人次。許多用戶當中就有這些公司:電子港灣、巴諾書店、MTV和標致。
支持的操作系統:與操作系統無關
相關網站:https://www.joomla.org
16. MediaWiki
MediaWiki以維基網路使用的軟體而出名,它還為網路、Vistaprint、Novell、英特爾和美國宇航局支持網站。它是構建可編輯網頁的不錯選擇,許多企業組織用它來構建內部知識庫。
支持的操作系統:Windows、Linux/Unix和OS X
相關網站:https://www.mediawiki.org/wiki/MediaWiki
資料庫
17. Cassandra
這種NoSQL資料庫由Facebook開發,其用戶包括蘋果、歐洲原子核研究組織(CERN)、康卡斯特、電子港灣、GitHub、GoDaddy、Hulu、Instagram、Intuit、網飛、Reddit及其他科技公司。它支持極其龐大的數據集,聲稱擁有非常高的性能和出色的耐用性和彈性。可通過第三方獲得支持。
支持的操作系統:與操作系統無關
相關網站:http://cassandra.apache.org
18. CouchDB
CouchDB為Web而開發,這種NoSQL資料庫將數據存儲在JSON文檔中,這類文檔可通過HTTP來加以查詢,並用JavaScript來處理。Cloudant現在歸IBM所有,它提供一款專業人員支持的軟體版本,用戶包括:三星、Akamai、Expedia、微軟游戲工作室及其他公司。
支持的操作系統:Windows、Linux、OS X和安卓
相關網站:http://couchdb.apache.org
19. MongoDB
MongoDB是一種NoSQL資料庫,聲稱「針對關鍵任務型部署環境進行了優化」,用戶包括Foursquare、《福布斯》、Pebble、Adobe、領英、eHarmony及其他公司。提供收費的專業版和企業版。
支持的操作系統:Windows、Linux、OS X和Solaris
相關網站:http://www.mongodb.org
20. MySQL
MySQL自稱是「世界上最流行的開源資料庫」,備受眾多互聯網公司的青睞,比如YouTube、貝寶、谷歌、Facebook、推特、電子港灣、領英、優步和亞馬遜。除了免費社區版外,它還有多款收費版。最新更新版聲稱速度比老版本快三倍。
支持的操作系統:Windows、Linux、Unix和OS X
相關網站:http://www.mysql.com
21. Neo4j
Neo4J自詡為「世界上領先的圖形資料庫」,用於欺詐檢測、推薦引擎、社交網站、主數據管理及更多領域。用戶包括電子港灣、沃爾瑪、思科、惠普、埃森哲、CrunchBase、eHarmony、Care.com及另外許多企業組織。
支持的操作系統:Windows和Linux
相關網站:http://neo4j.com
開發工具
22. Bugzilla
Bugzilla是開源社區的寵兒,用戶包括Mozilla、Linux基金會、GNOME、KDE、Apache、LibreOffice、Open Office、Eclipse、紅帽、Novell及其他公司。這款軟體缺陷追蹤系統(bugtracker)的重要功能包括:高級搜索功能、電子郵件通知、預定報告、時間追蹤、出色的安全及更多特性。
支持的操作系統:Windows、Linux和OS X
相關網站:https://www.bugzilla.org
23. Eclipse
Eclipse項目最為知名的是,它是一種大受歡迎的面向Java的集成開發環境(IDE),它還提供面向C/C++和PHP的IDE,此外提供另外一大批開發工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、紅帽和SAP。
支持的操作系統:與操作系統無關
相關網站:http://www.eclipse.org
24. Ember.js
這種框架用於「構建野心勃勃的Web應用程序」,旨在為JavaScript開發人員提高工作效率。官方網站上顯示用戶包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、網飛、Heroku和微軟。
支持的操作系統:與操作系統無關
相關網站: http://emberjs.com
25. Grunt
Grunt是一種JavaScript任務運行工具,有助於自動處理重復性的開發任務。使用它的知名科技公司包括:Adobe、推特、Mozilla、Cloudant和wordPress。
支持的操作系統:與操作系統無關
相關網站:http://gruntjs.com
26. LoopBack
這個Node.js框架旨在讓用戶很容易構建REST API,並連接到後端數據存儲區。知名用戶包括GoDaddy、美國能源部和賽門鐵克。
支持的操作系統:Windows、Linux、OS X、安卓和iOS
相關網站:http://loopback.io
27. Node.js
Node.js的成名之處在於,它讓開發人員可以使用JavaScript,編寫伺服器端應用程序。開發工作之前由Joyent管控,現在交由Node.js基金會監管。用戶包括IBM、微軟、雅虎、SAP、領英、貝寶和網飛。
支持的操作系統:Windows、Linux和OS X
相關網站:https://nodejs.org/en/
28. PhoneGap
Apache Cordova是一種開源框架,讓開發人員可以使用HTML、CSS和JavaScript等Web技術,構建移動應用程序。PhoneGap是最受歡迎的Cordova發行版。使用某一種Cordova發行版的科技公司包括:維基網路、Facebook、 Salesforce、IBM、微軟、Adobe和黑莓。
支持的操作系統:Window、Linux和OS X
相關網站:http://phonegap.com
29. React Native
React Native由Facebook開發,這種框架可用於使用JavaScript和React JavaScript庫(同樣由Facebook開發),構建原生移動應用程序。其他用戶包括:《探索》頻道和CBS體育新聞網。
支持的操作系統:OS X
相關網站:http://facebook.github.io/react-native/
30. Ruby on Rails
這個Web開發框架在開發人員當中極其流行,它聲稱「為確保編程員滿意和持續高效地工作進行了優化」。用戶包括Basecamp、推特、Shopify和GitHub等公司。
支持的操作系統:Windows、Linux和OS X
相關網站:http://rubyonrails.org
31. Sencha Touch
Sencha Touch自稱是「一種用於構建通用移動應用程序的領先的跨平台移動Web應用程序框架,基於HTML5和JavaScript」。它既有開源許可證版本,也有商業許可證版本。據官方網站聲稱,《財富》100強中60%使用它。
支持的操作系統:與操作系統無關
相關網站:https://www.sencha.com/procts/touch/
32. ZK
索尼、Sun、IBM、Adobe、電子港灣、富士通、夢工廠和優利系統等公司使用這種Java Web框架來構建Web和移動應用程序。提供收費支付及相關工具。
支持的操作系統:與操作系統無關
相關網站:http://www.zkoss.org
中間件
33. JBoss
紅帽的JBoss中間件包括各種輕量級、對雲計算友好的工具,同時結合、集成和自動化各個企業應用程序和系統。用戶包括:橡樹嶺國家實驗室、日產、思科、冠群科技、AMD及其他公司。
支持的操作系統:Linux
相關網站:http://www.redhat.com/en/technologies/jboss-middleware
操作系統
34. 紅帽企業版Linux
紅帽最知名的產品就是其旗艦Linux發行版,這需要付費訂購。據該公司聲稱,《財富》全球500強公司中超過90%在使用紅帽產品。
相關網站:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
35. SUSE Linux企業版
這款面向企業的Linux發行版同樣備受大企業的追捧,它也需要付費訂購。該公司聲稱,它有13000多個企業用戶,包括倫敦證券交易所、SAP、天睿(Teradata)和沃爾格林連鎖葯店(Walgreens)。
相關網站:https://www.suse.com
36. Ubuntu
Ubuntu提供廣受歡迎的Linux發行版,有多個版本:桌面版、伺服器版、雲版、手機版、平板電腦版和物聯網版。聲稱用戶包括亞馬遜、IBM、維基網路和英偉達。
相關網站:http://www.ubuntu.com/index_kylin
項目管理
37. Project Libre
這個屢獲獎項的項目是微軟Project的替代者,下載量已有近200萬人次。它有一大批用戶,包括IBM、埃森哲、美國能源部、思科、ATI和AMD。
支持的操作系統:Windows、Linux和OS X
相關網站:http://www.projectlibre.org
存儲
38. FreeNAS
這款開源網路附加存儲(NAS)軟體聲稱,它備受聯合國、迪士尼互動媒體集團、路透社和Dr. Phil等用戶的「喜愛」。它可以安裝到幾乎任何硬體上,而TrueNAS提供的預先構建的設備就基於該技術。
支持的操作系統:FressBSD
相關網站:http://www.freenas.org
39. Gluster
Gluster是一種可高度擴展的網路文件系統,適合雲計算環境。紅帽提供一款基於該技術的收費產品,用戶包括卡西歐和Intuit。
支持的操作系統:Linux
相關網站:http://www.gluster.org
40. Lustre
Lustre是另一種可高度擴展的文件系統,旨在支持高性能計算(HPC)環境。一些最早採用它的用戶包括美國的幾大國家實驗室:勞倫斯·利物莫爾國家實驗室、桑迪亞國家實驗室、橡樹嶺國家實驗室和洛斯阿拉莫斯國家實驗室。
支持的操作系統:Linux
相關網站:http://lustre.org
系統管理工具
41. Ansible
Ansible現在歸紅帽所有,它自稱是「一種異常簡單的IT自動化引擎,可以使雲服務配置、配置管理、應用程序部署、服務內部的編排以及其他許多IT操作實現自動化。」使用它的科技公司包括:思科、瞻博網路、Evernote、推特、威瑞信、GoPro、EA Sports、Atlassian和韋里遜。它既有免費版,也有收費版。
支持的操作系統:Linux
相關網站:http://www.ansibleworks.com
42. Chef
作為另一款自動化工具,Chef支持開發運維方法,同時改善了速度、協作和安全性。擁有免費版和收費版。官方網站上顯示用戶包括:塔吉特(Target)、諾德斯特龍(Nordstrom)、Facebook、Etsy、IGM、雅虎和彭博社。
支持的操作系統:Windows、Linux和OS X
相關網站:https://www.chef.io/chef/
43. Hudson
Hudson在使用敏捷和開發運維方法的企業當中很流行,它是一種可擴展的持續集成伺服器系統,可以監控重復作業的執行。這個項目得到了Eclipse基金會、甲骨文、Atlassian和YourKit的支持。
支持的操作系統:與操作系統無關
相關網站:http://hudson-ci.org
44. Puppet
Puppet號稱「使用最廣泛的開源IT管理系統」,它包括40多個基礎設施管理方面的開源項目。除了開源版本外,它還有一款收費的企業版本。它聲稱,用戶包括25000多家企業,比如迪士尼、沃爾瑪、1-800-Flowers.com、Heartland Payment Systems、蓋蒂圖片社(Getty Images)和Yelp。
支持的操作系統:Windows、Linux、Unix和OS X
相關網站:https://puppetlabs.com/puppet/open-source-projects
版本控制
45. Bazaar
Bazaar由Canonical管理,被許多開源項目所使用,包括Ubuntu、 GNU基金會、Linux基金會、MySQL、Bugzilla、 Debian和Maria DB。它簡單易學,支持任何工作流程和工作區間模式,承諾存儲效率很高、速度很快。
支持的操作系統:Windows、Linux和OS X
相關網站:http://bazaar.canonical.com/en/
46. Git
這個版本控制系統已變得極受歡迎,這一方面歸功於GitHub服務的使用日益廣泛。使用它的公司和項目包括:谷歌、Facebook、微軟、推特、領英、網飛、Perl、PostgreSQL、安卓、Rails、QT、Gnome和Eclipse。
支持的操作系統:Windows、Linux和OS X
相關網站:http://git-scm.com
47. Mercurial
Mercurial是一種分布式源代碼控制管理工具,專注於幫助團隊更輕松、更快速地協同工作。用戶包括OpenJDK和NetBeans等各大項目。
支持的操作系統:Windows、Linux和OS X
相關網站:https://www.mercurial-scm.org
48. Subversion
這個企業級版本控制系統得到Apache的支持,首次發布於2000年。使用它的企業組織包括Apache軟體基金會自己、Hobby Lobby、Mono、Plone和GNU Enterprise。
支持的操作系統:Windows、Linux和OS X
相關網站:http://subversion.apache.org
Web伺服器
49. Apache HTTP Server
Apache至今已有20年多的歷史,專利是自1996年以來互聯網上最受歡迎的Web伺服器系統。據W3Techs聲稱,目前所有網站中55.3%是由Apache支持的。
支持的操作系統:Windows、Linux和OS X
相關網站:http://httpd.apache.org
50. Nginx
Nginx的人氣也極旺,它被互聯網上所有網站中的大約四分之一所使用。除了俄羅斯許多訪問量很大的網站外,用戶還包括網飛和WordPress.com。
支持的操作系統:Windows、Linux和OS X
相關網站:http://nginx.org
⑥ 普通開發人員,怎麼提升到JAVA高級開發工程師
宏觀方面
一、 JAVA。要想成為JAVA(高級)工程師肯定要學習JAVA。一般的程序員或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高級) 工程師,您要對JAVA做比較深入的研究。您應該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您 對JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發現其實您想實現的很多功能,通過JAVA的API都可以實現了,就不必自己費太多的腦經 了。
二、 設計模式。其實寫代碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個「好」字包括代碼可重用性,可維護性,可擴展性等。如何寫出好的代 碼往往要藉助一些設計模式。當然長期的代碼經驗積累,只要您用心,會使您形成自己代碼風格。相信您的代碼也比較符合代碼的可重用性,可維護性,可擴展性。 但既然前人已經給我們總結出了經驗,我們何不踩著前人的肩膀前進?
三、 XML。現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做數據轉換、做系統的配置、甚至可保存您的系統業務數據。因此您必須了解 XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的項目中,XML往往擔當系統配置 信息的作用,您需要用這些API解析這些配置信息,開發完美的項目。
四、 精通使用一種或兩種框架。像在《如何成為java初級程序員》中提到的那樣,「框架都會有許多可重用的代碼,良好的層次關系和業務控制邏輯,基於框架的開 發使你可以省出很多的開發成本」。但我這里希望您能精通,更多的是希望您能通過框架的使用了解框架的思想。這樣您在開發一個項目時思路會開闊一些,比如您 會想到把SQL語句與您的JAVA代碼分開,再比如您會考慮把您的業務邏輯配置到XML或者資料庫中,這樣整個項目就很容易擴張了。
五、 熟悉主流資料庫。其實真正比較大的項目都是有人專門做資料庫的,但往往很多項目要求作為(高級)工程師的您也參與資料庫的設計以及SQL的編寫。所以為了 更好的為國家做貢獻,建議您還是多了解一些主流資料庫,比如SQLSERVER,ORACLE,多連接SQL和存儲過程以及觸發器。如果您不是「科班」出 身,您還需要補充一些資料庫原理方面的知識。
六、 精通一種或兩種WEBServer。盡管我再《如何成為java初級程序員》里講過它,我還是要強調您要精通一種或兩種。因為作為JAVA工程師,特別時 想成為高級JAVA工程師的您,您不可避免地要部署您的項目到WebServer上,而且只有當您精通一種WebServer,您才可能最大限度地使用它 的資源,這往往可以節省很多時間和精力。
七、 UML。我知道您肯定想成為高級工程師,因此您有必要了解或熟練或精通UML,這取決於您有多大決心想成為高級工程師和項目經理。在比較正規的開發團隊 中,UML是討論項目的交流工具,您要想做一個軟體工程師,您至少要能看懂,您要想做高級工程師,您要能通過它來描述您對項目的理解,盡管這不是必須,但 卻很重要。
八、 站在高度分析問題:這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還著急,我希望您更快的成為一個高級的軟體工程師,而 不是一個一般的軟體工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的項目。在最好在項目之初先在 您的腦海里對項目有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。
九、 工具。與在《如何成為java初級程序員》里提到的不同,您在這個階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對 ROSE,Together要多了解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程序員 去寫吧
微觀方面
1.Core Java部分
這是最基礎的,對於一個java高級開發/設計人員,你需要對這一部分達到精通的水平,重點內容如下:
a.面向對象編程思想(封裝繼承多態介面)
b.字元串處理
c.java.lang包,java.util包等常用包
d.java異常處理
2.Java高級部分
a.Java I/O流
b.Java多線程技術
c.Java網路編程
d.Java Swing
後兩項可以了解即可,如果項目需要可以深入研究
3.前端基本技能
* HTML + CSS網頁開發
* JavaScript
* Jquery
* 瀏覽器兼容性 CSS hack(了解)
4.熟練使用JSP + Servlet進行開發
5.MVC設計模式,原理,以及相關框架,如Struts
6.SSH框架
7.緩存技術 session & cookie
8.熟練使用一種以上Java開發工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟練使用XML
JDOM w3c.dom SAX
10.Java設計模式
工廠模式,單例模式 ==
11.Java反射機制
反射的各種用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,環境變數
14.資料庫oracle必學,其他最好了解一種以上(mysql,sql server,access==)
oracle:視圖,索引,存儲過程,觸發器,游標,包,常用函數 ==
15.資料庫原理
事務的原理,鎖機制,表連接,復雜查詢語句(工作經驗),性能調優,鎖表以及解決方案==
16.JDBC,連接池
17.Ajax,反向Ajax
18.HTTP協議,request 和 response的原理,HTTP status(了解常用的),Https原理
19.熟悉Linux基本命令,使用過Linux/Unix系統,可以編寫shell腳本,可以在Linux上部署項目
20.了解windows系統批處理腳本bat
21.了解HTML5,最好學習過
22.熟悉一種JS框架,如Prototype
23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一門腳本語言,如python ,ruby
26.了解php/ asp
27.了解ftp協議及原理
28.熟練使用Junit測試,熟悉Mockito等測試工具
29,熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序演算法,如冒泡排序,快速排序等,最好自己研究過一些的演算法。
31.了解Flex(不學也沒關系)
32.了解敏捷開發模式
33.工作流workflow至少用過一種,如OSworkflow,了解原理
34.使用過VPN了解其原理
35.熟悉jstl表達式和el表達式
36.熟悉webservice,WSDL,SOAP
37.圖片處理,如圖片上傳,預覽,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技術,JSON+AJAX
40.分頁技術,最好自己實現過不僅僅是用過要知道原理
41.Java Mail
42.Java讀寫txt,excel,JXL技術
43.JVM原理,JVM內存管理,GC,Java堆棧池
44.熟練使用下面的工具:
office辦公軟體,word,excel,ppt等
plsql,sqldevelop 資料庫開發工具
outlook大公司都用
ue編輯器
瀏覽器控制台,調試
SHH/PUTTY 遠程
45.UML建模工具Rational Rose等
46. 使用log4j
47.使用過開放Api如網路,騰訊街景,新浪微博等
48.頁面靜態化技術(偽靜態頁面)
49.報表技術,使用過報表製作工具,如水晶易表。
50.定時任務,如Spring batch ,學會自定義batch任務(不適用第三方工具)
51.了解uuid
52.b/s 和 c/s架構
53.正則表達式
54.了解jndi jms
55.ERP
56.UNICODE編碼,亂碼解決
57.開源網路編輯器,如ckEditor
58.二進制原理
59.使用過,了解過開源論壇框架,如discuzz
60.GWT,Closure框架
61.了解大數據,雲計算
62.搜索引擎搜索技術
63.軟體工程,項目管理
希望我們的解答可以幫到您!