來源:北大青鳥總部 2020年03月16日 14:54
一、什么是java?
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等
二、java有哪些分類?
java 基礎知識: java數據類型、流程控制(if,while,for等)、面向對象基礎(類、接口、抽象類、訪問修飾符、final關鍵字、static關鍵字等)、集合(Map、List、Set、Collections工具類)、java基礎類庫(String,Object ,System等)、java8。
高級知識: 泛型、java反射、內部類、枚舉、注解、異常、IO流、java虛擬機、java并發編程、網絡編程(BIO/NIO/AIO)等。
框架知識:Spring/SpringMVC/Mybatis/springBoot
項目管理工具:Git/SVN--Maven/Gradle/Linux/Jenkins
java 設計模式,設計原則(開閉原則、依賴倒置原則、單一職責原則、接口隔離原則、迪米特法則、里氏替換原則、合成復用原則)、創建型(簡單工廠、工廠方法、抽象工廠、建造者模式、單例模式、原型模式)、行為型(策略模式、模板方法模式、迭代器模式、委派模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式)、結構型模式(適配器模式、門面模式、裝飾器模式、代理模式、享元模式、組合模式、橋接模式)
三、Java工程師需要具備哪些技能嗎?
1、一種主流后端語言編程經驗:Java,或Scala,或Node.js,或Python
2、精通主流Web應用開發框架(Spring,Play!,Express,Django,等等);熟悉SOA和Web Services(REST,SOAP)系統框架;熟悉主流應用服務器(Tomcat,JBoss,Apache,Nginx,等)
3、精通數據庫設計和性能優化;熟悉主流RDBMS和NoSQL數據庫(MySQL,MongoDB,Memcached,Redis等),以及數據庫編程(SQL, JDBC, iBatis,OpenJPA, 等)
4、熟悉常用工程工具:Jenkins, Maven/Sbt/Npm/Ant,Git/SVN,Eclipse/IntelliJ,等等
5、熟悉設計模式,熟練掌握面向對象編程和事件驅動編程風格
6、有熱情,酷愛技術,有良好的計劃、溝通、組織協調能力、語言表達能力;較強的邏輯分析能力和應變能力;良好的團隊合作精神。