1網路編程
2多線程
3工具類的使用
4資料庫編程
5對介面和抽象類的理解
6 23種設計模式
7設計介面的能力
個人拙見
⑵ java工程師需要掌握哪些知識
1、語法:必須比較熟悉,在寫代碼的時候,IDE(Integrated Development Environment,集成開發環境)的編輯器對某一行報錯應該能夠根據報錯信息知道是什麼樣的語法錯誤,並且知道任何修正。
2、命令:必須熟悉JDK(Java Development Kit,Java開發工具箱——JDK 是整個Java的核心,包括了Java運行環境,Java工具和Java基礎的類庫。JDK是學好Java的第一步。)帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那麼你對java實際上還很不了解。
3、工具:必須至少熟練使用一種IDE的開發工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括進行工程管理、常用選項的設置、插件的安裝配置以及進行調試。
4、API(Application Programming Interface,應用程序編程介面):Java的核心API是非常龐大的,但是有一些內容筆者認為是必須熟悉的,否則不可能熟練的運用Java,包括:
◆java.lang包下的80%以上的類的功能的靈活運用。
◆java.util包下的80%以上的類的靈活運用,特別是集合類體系、規則表達式、zip、以及時間、隨機數、屬性、資源和Timer.
◆java.io包下的60%以上的類的使用,理解IO體系的基於管道模型的設計思路以及常用IO類的特性和使用場合。
◆java.math包下的100%的內容。
◆java.net包下的60%以上的內容,對各個類的功能比較熟悉。
◆java.text包下的60%以上的內容,特別是各種格式化類。
◆熟練運用JDBC. 80%、java.security包下40%以上的內容,如果對於安全沒有接觸的話根本就不可能掌握java.
◆AWT的基本內容,包括各種組件事件、監聽器、布局管理器、常用組件、列印。
◆Swing的基本內容,和AWT的要求類似。
◆XML處理,熟悉SAX、DOM以及JDOM的優缺點並且能夠使用其中的一種完成XML的解析及內容處理。
5、測試:Junit測試是程序員測試,即所謂白盒測試。一位合格的Java開發工程師必須熟悉使用junit編寫測試用例完成代碼的自動測試。
6、管理:必須熟悉使用Ant(中文譯為螞蟻,是一種基於Java的build工具。)完成工程管理的常用任務,例如工程編譯、生成javadoc、生成jar、版本控制、自動測試。
7、排錯:應該可以根據異常信息比較快速的定位問題的原因和大致位置。
8、思想:必須掌握OOP(Object Oriented Programming,面向對象編程)的主要要求,這樣使用Java開發的系統才能是真正的Java系統。
9、規范:編寫的代碼必須符合流行的編碼規范,例如類名首字母大寫,成員和方法名首字母小寫,方法名的第一個單詞一般是動詞,包名全部小寫等,這樣程序的可讀性才比較好。
10、博學:掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技術,掌握軟體架構設計思想、搜索引擎優化、緩存系統設計、網站負載均衡、系統性能調優等實用技術。
⑶ 介紹幾本JAVA原版英文書籍
Think in Java 偏重於技術方面
個人認為
對於Java和C#這種面向對象語言
學習的重點應該是培養和提高面向對象思想
而非研究語言的特性
所以我推薦以下OOP、OOD、OOA方面的書
《Head First 設計模式》(有翻譯得不錯的中文版)
《設計模式 可復用面向對象軟體的基礎 》(中英文版本都有)
《重構》(有中文版,不知道有沒有原版的)
《分析模式》(有中文版,不知道有沒有原版的實體書,電子書有英文版)
《領域驅動設計》(英文版電子書,中文版翻譯得不太好)
《Java Modeling in Color With UML》(也就是中文版的《彩色建模》,不過翻譯得爆爛,像金山快譯翻出來的,推薦看原版,有電子書)
不過如果樓主是初學Java的新手的話
Core Java 和 Think in Java 都應該看看
⑷ java工程師需要掌握什麼技能
JavaSE就是一種標准版,是Java語言的基礎部分,Java衍生出來的各種框架(如Spring系列)各種產品都是基於JavaSE標准,JavaSE是Java向上發展的基礎,Java任何高級產品的底層基礎都是JavaSE,通俗來講這是所有孩子的」爹「。JavaSE如果學不好,理解不透徹,後面學習框架時就有如天書一般,所以JavaSE這部分的重要性是不言而喻的,希望各位初學者銘記。
主要包含內容:數據類型、基礎語法、運算符、流程式控制制、數組、面向對象、常用類、異常處理、集合、IO流、多線程、反射、註解、解析、網路編程。
PS:JavaSE的內容非常龐大,任何一套JavaSE教程都不會把所有的方法講一遍,只會挑平時工作中常用的內容來講解,所以JavaSE裡面的內容很多都是課後自己在API文檔中慢慢寬咐了解的,你自己一定要學會主動學習,不能坐以待斃。
推薦學習書籍:Java核心技術
資料庫是學習Java語言必學的一項內容,常見的資料庫就是MySQL和Oracle這兩種,作為初學者一般都是學習MySQL為主,一般情況下中小型企業都會選擇MySQL資料庫,比較大型的互聯網公司會選擇用Oracle,而學習Oracle相對於MySQL也要復雜一慶乎些,建議是主要學習MySQL資料庫,Oracle作為了解即可。學習資料庫較為簡單,基本的操作就是增刪改查。
Web前端內容:HTML/CSS/JavaScript/(前端頁面)
注意:Java後端開發可以不用過多關注HTML頁面及CSS的處理,但是最起碼要會用簡單的HTML,JavaScript是必須要會的,因為Javaweb後端程序員畢竟要接觸使用AJAX方式處理數據及顯示。當然如果只關注伺服器端實現而不考慮任何用戶界面,則HTML、CSS、JavaScript都不用關注,但是完全脫離前端的開發現在雖然也不少,但是絕對不關心前端是不可能,尤其是JavaScript,但是前端卻可以完全不關心伺服器後台的任何實現。
推薦學習書籍:《JavaScript DOM編程藝術》(第二版)
1、Springframework 核心IOC容器
2、Spring boot 在Spring基礎上的更全面提升效率的Spring工具
3、ORM 框架當今流行使用較多的是Mybatis 和 MP(Mybatis插件),Hibernate是可選性學習的
4、模板技術,比較成熟的Freemarker
5、Spring Cloud 微服務框架,Spring Cloud提供的全套的分布式系統解決方案。
maven 是構建管理項目的工具,svn 和git是團隊協作開發的項目源代碼及相關文檔資料管理工具,需要學習者初步掌握其應用。
像Tomcat,jetty ,resin,JBoss,GlassFish 等都是部署運行Java web應用的伺服器。
以上就是初學者大概學習的內容,我是盡量站在初學者的角度來說的,沒有寫得特別復雜,怕初學者看不懂,沒有實質性的幫助。所以我盡量用白話把話說的簡單一些,給大家羅列出主要學習的Java知識點。
不同的軟體公司對研發人員的水平要求存在一定的差異,如果從大多數中小型企業來看能接受一個入職到本企業的IT技術人員通常需要具備以下能力。
1 理解掌握Java核心面向對象的設計思想和代碼構建,能以面向對象方式設計編寫業務功能;
2 熟練掌握至少兩種資料庫的開發,如Oracle,mySql,能熟練編寫基本常用及高級的SQL語句;
3 必需掌握並熟練應用Springframework IOC容器,深入了解IOC及AOP概念並應用,使用MVC實現對web 請求作出處理;
4 熟練掌握Java處理資料庫的ORM框架myBatis,JDBCTemplate,對Hibernate也應有所了解;
5 熟練應用Spring 增強工具集合Spring boot;
6 至少熟練使用Eclipse及IDEA集成開發工具構建應用程序;
7 能夠基本掌握MVN GIT Maven 在項目中的使用;
8 前端開發必需掌握JavaScript和常用的JS框架
以上這些都是中小型軟體企業的入職基本要求,如果你能夠達到這個水平,找到一份Java工作應該是不難的。
推薦的學習方式:系統視頻教程+書籍輔助+有人指導
視頻教程:對於Java初學者來說,看視頻學習也是最普通的方式,視頻教程會把工作中常用的知識進行講解,而且視頻一般都是分章分節,每一個小節都只講一個知識點,學習起來較為明確。但是視頻教程盡量要完整,最好是一整套視頻學習。
書籍輔助:書籍便於對理論知識的補充,以便更容易理解Java面向對象核心設計理念和代碼實踐功能。
PS:但是大部分人都沒有耐心看不下去書,所以大部分人都是只看視頻教程學習。如果自己能看的下去就看,看不下去就不看。
有人指導:大部分人都不可能全靠自己的能力把Java學的特別好,因為你不了解這個行業,也不知道怎麼學,完全零基礎自學Java想要找到工作,概率極低。所以建議如果真的想要做這行,盡量找人去帶帶你,有不懂的問題可以直接請教,少走彎路,提高效率。學習的質量決定以後工作的薪資以及起點,所以還是應該重視起來。
1、有超強的學習耐心及進取心
2、手不懶,代碼寫的足夠多,熟能生巧
3、有一定的學習能力,善於自學善於自己解決問題
4、可以獨立寫一些簡單的項目