一、Java基礎學習
包括Java開發環境的搭建、Java語言基礎,流程控制,字符串,數組,面向對象編程基礎、面向對象核心技術,包裝類,數字處理類,接口、繼承與多態,類的高級特性,異常處理,lambda表達式,集合類,I/O(輸入/輸出),反射,枚舉類型與泛型,多線程,網絡通信,數據庫操作。
二、Java基礎框架學習
SpringMVC是一個模型-視圖-控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它負責發送每個請求到合適的處理程序,使用視圖來最終返回響應結果的概念。SpringMVC是Spring產品組合的一部分,它享有SpringIoC容器緊密結合Spring松耦合等特點,因此它有Spring的所有優點。
SpringBoot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。
(1)可以創建獨立的Spring應用程序,并且基于其Maven或Gradle插件,可以創建可執行的JARs和WARs;
(2)內嵌Tomcat或Jetty等Servlet容器;
(3)提供自動配置的“starter”項目對象模型(POMS)以簡化Maven配置;
(4)盡可能自動配置Spring容器;
(5)提供準備好的特性,如指標、健康檢查和外部化配置;
(6)絕對沒有代碼生成,不需要XML配置。
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate的API一共有6個,分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通過這些接口,可以對持久化對象進行存取、事務控制。
MyBatis是一款優秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射。MyBatis避免了幾乎所有的JDBC代碼和手動設置參數以及獲取結果集。MyBatis可以使用簡單的XML或注解來配置和映射原生信息,將接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java對象)映射成數據庫中的記錄。
MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(PlainOrdinaryJavaObjects,普通的Java對象)映射成數據庫中的記錄。
每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置文件或者一個預定義的配置類的實例獲得。
用xml文件構建SqlSessionFactory實例是非常簡單的事情。推薦在這個配置中使用類路徑資源(classpathresource),但你可以使用任何Reader實例,包括用文件路徑或file://開頭的url創建的實例。MyBatis有一個實用類----Resources,它有很多方法,可以方便地從類路徑及其它位置加載資源。
三、Web前端基礎知識學習
HTML、CSS、JavaScript、工具、后端、性能、測試、開發守則、用戶體驗。
HTML語義化、HTML5、DOCTYPE、SEO、Wap、SVG/VML
CSS2(布局方式、CSS權威指南、通用樣式)
CSS3(newselector、newCSSstyle)
IE通用Bug(雙倍邊距、…)
IEhack方式(條件注釋、CSShack)
圖片(IEpng8透明、cssfonticon、cssspirite、圖片格式與壓縮率的關系、預設值width/height提升性能)
安全相關(跨站腳本攻擊)、基礎知識(DOM、兼容性bug、BOM、跨域相關)、Goodparts、NodeJS、設計模式、熟悉一門框架(jQuery/YUI/MoonTool)
新技術(WebWorker、WebSocket、localStorage、Canvas、Audio/Video、SVG、ECMAScript5、Historyapi、Fileapi、GeolocationAPI、Drag&Drop、Messaging、Offlinecache、其他)
開發工具(編輯器、firebug/Webdeveloper、chrome默認工具、fiddler/其他代理工具、jslint/jsdev)
構建工具(G-build、Google、YUIcompressor、uglifyjs)
測試工具
學習工具(信息記錄[workflowy.com、EverNote、zootool]、信息獲取[RSS(googlereader)、Twitter、新浪微博])
版本管理工具(SVN、git、hg)
四、Java高級技術
SpringCloud是一系列框架的有序集合。它利用SpringBoot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用SpringBoot的開發風格做到一鍵啟動和部署。
Dubbo是阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的RPC實現服務的輸出和輸入功能,可以和Spring框架無縫集成。
Dubbo是一款高性能、輕量級的開源JavaRPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動注冊和發現。
主要核心部件編輯
Remoting:網絡通信框架,實現了sync-over-async和request-response消息機制。
RPC:一個遠程過程調用的抽象,支持負載均衡、容災和集群功能
Registry:服務目錄框架用于服務的注冊和服務事件發布和訂閱
MySQL是最流行的關系型數據庫管理系統之一,在WEB應用方面,MySQL是最好的RDBMS應用軟件之一。PostgreSQL
PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關系型數據庫管理系統(RDBMS)。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sortedset--有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。
Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。
ActiveMQ是一種開源的基于JMS(JavaMessageServie)規范的一種消息中間件的實現,ActiveMQ的設計目標是提供標準的,面向消息的,能夠跨越多語言和多系統的應用集成消息通信中間件。