Java開發技術

一、基礎技術

數據結構與算法

  邏輯結構:數據對象中的數據元素之間的邏輯關係
1.集合結構:集合結構中的數據元素除了同屬一個集合外,沒有其餘關係。
2.線性結構:線性結構中的數據元素之間是一對一的關係。
3.樹形結構:樹形結構中的數據元素之間是一對多的關係。
4.圖形結構:圖形結構中的數據元素之間是多對多的關係。
  物理機構:數據的邏輯結構在計算機中的儲存形式
1.順序儲存結構:把數據元素儲存在連續的存儲單元。
2.鏈式儲存結構:把數據元素儲存在任意的存儲單元(能夠是連續或者不連續)。
imagehtml

知識點 連接
算法複雜性分析 對一個算法須要多少計算時間和存儲空間做定量的分析
線性表、鏈表數據結構詳解
隊列、棧數據結構詳解
基礎排序算法詳解
快排與並歸排序詳解
二分搜索、哈希表詳解
並查集算法詳解
樹,基本概念,二叉樹(遍歷)詳解
圖、深度優先遍歷、廣度優先遍歷
最小生成樹、最短路徑詳解
Bloom Filter/Bitmap

數據庫技術

23種設計模式 GOF

  建立型模式(5種):工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式
  結構型模式(7種):適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式
  行爲型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式java

知識點 連接
工廠模式(Factory) 用來實例化有共同接口的類,工廠模式能夠動態決定應該實例化那一個類
單例模式(Singleton)
代理模式(Proxy)
委派模式(Delegate)
觀察者模式(Observer)
策略模式(Strategy)
模版模式(Template)

應用開發

  • Springmysql

    知識點 連接
    Spring Ioc容器設計理念與源碼 Spring容器設計中,BeanFactory實現容器的基本功能,ApplicationContext做爲容器高級形態存在
    Spring事務失效與解決方案詳解
    Spring MVC源碼與原理深度解析
    Spring5 日誌框架、Testing、WebFlux等新特性
    Spring aop源碼與原理深度解析
    Spring源碼如何閱讀
    熟悉常見的Spring面試題
    詳解Spring IOC、AOP、MVC應用
  • MyBatisreact

    知識點 連接
    總體認識mybatis與mybatis體系結構
    Mybatis核心應用配置與原理解析
    Mybatis核心流程與源碼分析
    Mybatis與Spring整合原理詳解
    一級、二級緩存使用場景詳解
    徒手教你們實現mybatis與思想
    Configuration、SqlSession、SqlSessionFactory、Executors
    MappedStatement、StatementHandler、ResultSetHandler等核心概念
    MyBatis設計模式:工廠、構建、單例、責任鏈、代理、模版、裝飾模式詳解

二、工做技術

消息中間件

  消息隊列已經逐漸成爲企業IT系統內部通訊的核心手段。它具備低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能,成爲異步RPC的主要手段之一。當今市面上有不少主流的消息中間件,如老牌的ActiveMQ、RabbitMQ,煊赫一時的Kafka,阿里巴巴自主開發RocketMQ等。jquery

  • RocketMQgit

    知識點 連接
    初識消息中間件,在分佈式應用場景
    部署與快速開始&特性詳解
    RocketMq監控與高可用詳解
    RocketMq特性詳解
    RocketMq源碼分析詳解
    RocketMq高可用&伸縮部署詳解
  • Kafka程序員

    知識點 連接
    kafka集羣搭建與使用
    kafka設計原理分析
    kafka分佈式實戰詳解
    kafka高可用&伸縮部署詳解

Java併發編程

  併發編程的目的是爲了讓程序運行的更快,可是並非啓動更多的線程,就能讓程序最大限度的併發執行。在進行併發編程時,若是但願經過多線程執行任務讓程序運行的更快,會面臨很是多的挑戰,好比上下文切換的問題,死鎖的問題,以及受限於硬件和軟件的資源限制問題,本章會介紹幾種併發編程的挑戰,以及解決方案。github

知識點 連接
Java併發之Executor線程池體系 Executors.newCachedThreadPool(無界線程池,自動線程回收)
Executors.newFixedThreadPool(固定大小的線程池);
Executors.newSingleThreadExecutor(單一後臺線程);
Java併發之lock與Java內存模型
Java併發之CAS原理
併發編程之定時線程池
Java併發DCL詳解
Java併發Fork-join框架原理
Java併發ThreadPoolExecutor原理

分佈式技術

  分佈式系統是一個硬件或者軟件組件分佈在不一樣網絡計算機上,彼此之間僅僅經過消息傳遞來進行通訊和協調的系統。一個分佈式系統一般具備如下特色:
  1.分佈式:在空間上隨意分佈,
  2.對等性:組成分佈式系統的全部節點都是對等的。
  3.併發性
  4.缺少全局時鐘。在分佈式系統很難肯定多個時間的順序,緣由就是分佈式系統缺少一個全局的時鐘。
  5.故障老是會發生。

  分佈式系統體系機構面對着諸多的難題和挑戰:
  1.通訊異常:分佈式系統須要在各個節點之間進行網絡通訊,而網絡自己是不可靠的。
  2.網絡分區:當網絡因爲發生異常狀況,最終致使組成分佈式系統的全部節點,只有部分節點之間可以進行通訊,另外一些節點則不能。這種現象稱爲網絡分區,俗稱腦裂。
  3.三態:分佈式系統的每一次請求與響應存在特有的三態概念,即成功、失敗、超時。
  4.節點故障:指組成分佈式系統的服務器節點出現的宕機或「僵死」現象。

微服務技術

  微服務是系統架構上的一種設計風格,它的主旨是將一根本來獨立的系統拆分多個小型服務,這些小型服務都在各自獨立的進程中運行,服務之間經過基於HTTP的RESTful API進行通訊協做。被拆分的每個小型服務都圍繞着系統中某一項或一些耦合度較高的業務功能進行構建,而且每一個服務都維護這自身的數據存儲、業務併發、自動化測試案例以及獨立部署機制。因爲有了輕量級的通訊協做基礎,全部這些微服務可使用不一樣的語言來編寫。

JVM調優

  1.年輕代大小選擇
    響應時間優先的應用
    吞吐量優先的應用
  2.年老代大小選擇
    響應時間優先的應用
    吞吐量優先的應用
  3.較小堆引發的碎片問題

知識點 連接
JVM調優 JVM調用(一)
JVM總體結構與垃圾回收算法介紹
什麼是JVM內存模型
類加載器深刻解析
GC日誌格式詳解,從日誌排查問題
GC調優實戰
各類垃圾回收使用場景
面試JVM題分析詳解
互聯網項目JVM調優實戰

三、提高技術

源碼分析

  • Spring源碼深刻分析

    知識點 連接
    Ioc容器設計理念與bean的註冊原理分析及其源碼解讀
    @Configuration原理分析,依賴注入底層原理分析
    容器啓動流程,bean的生命週期及其源碼分析
    bean的循環依賴源碼分析,bean構建過程當中各大後置處理器做用及其源碼分析
    Spring AOP源碼與原理深度解析,Cglib和Jdk動態代理區別
    Spring MVC源碼與原理解析
    @EnableWebMvche MessageConverter源碼分析
    Spring事務失效之謎,事務隔離級別和事務傳播屬性源碼分析
  • Mybatis源碼深刻分析

    知識點 連接
    Mybatis核心流程與源碼分析
    Mybatis執行器源碼分析
    Mybatis緩存源碼分析 CachingExecutor一級 二級緩存源碼分析
    Configuration、SqlSession、SqlSessionFactory、源碼分析
    ExecutorMappedStatement、StatementHandler、ResultSetHandler源碼分析
    Mabatis執行引擎Executor、BaseExecutor、SimpleExecutor
    ReuseExecutor、BatchExecutor、
    Mybatis註解@Select、@Result*、@Insert、@Delete、@Update分析
  • ShardingSphere源碼深刻分析

    知識點 連接
    Sharding-jdbc核心流程與源碼分析
    分佈式事務&分佈式主鍵源碼詳解
    Sql解析:SQLParsingEngine源碼詳解
    Sql路由:ParsingSQLRouter源碼解析
    Sql改寫:SQLRewriteEngine、SQLToken、SQLBuilder源碼解析
    Sql執行:SQLExecuteCallback源碼分析
    Sql歸併:MergeEngine源碼分析
  • Jedis/Redis源碼深刻分析

    知識點 連接
    Jedis與Redis工做原理通信詳解
    Jedis與Redis工做序列化協議詳解
    Redis內存結構與數據結構模型
    RESP協議+、-、$、*序列化協議詳解
  • Zookeeper源碼深刻分析

    知識點 連接
    Zookeeper核心流程與源碼分析
    Zookeeper序列化協議詳解
  • Java併發源碼深刻分析

    知識點 連接
    Java併發線程池源碼詳解
    Java、Map、List、Queue結構詳解

項目實戰

知識點 連接
Flasher-分佈式緩存框架 基於Redis Cluster實現
QPS千萬級別
Api-Gateway-網關係統 Java Rest API系統
源碼雙十一電商系統 基於Dubbo的大型分佈式、高可用電商平臺
可用於互聯網電子商務系統

四、拓展技術

國內互聯網開源框架

知識點 連接
阿里巴巴的Nacos-動態服務發現、配置和服務管理平臺
阿里巴巴的Sentinel-高可用流量管理框架
百度的UidGenerator-分佈式ID生成器
百度的Disconf分佈式配置管理平臺
阿里巴巴的Dubbo-Java高性能開源RPC框架
阿里巴巴的RocketMQ-Java分佈式消息中間件
京東金融的Sharding-sphere-Java數據庫中間件
國美的Flasher-分佈式緩存框架
美團的分佈式調度XXL-JOB

國內互聯網大咖

知識點 連接
https://ke.qq.com/course/408007

在這裏插入圖片描述在這裏插入圖片描述

後端技術

技術 名稱 官網
Spring Framework 容器 http://projects.spring.io/spring-framework/
SpringMVC MVC框架 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc
Apache Shiro 安全框架 http://shiro.apache.org/
Spring session 分佈式Session管理 http://projects.spring.io/spring-session/
MyBatis ORM框架 http://www.mybatis.org/mybatis-3/zh/index.html
MyBatis Generator 代碼生成 http://www.mybatis.org/generator/index.html
PageHelper MyBatis物理分頁插件 http://git.oschina.net/free/Mybatis_PageHelper
Druid 數據庫鏈接池 https://github.com/alibaba/druid
FluentValidator 校驗框架 https://github.com/neoremind/fluent-validator
Thymeleaf 模板引擎 http://www.thymeleaf.org/
Velocity 模板引擎 http://velocity.apache.org/
ZooKeeper 分佈式協調服務 http://zookeeper.apache.org/
Dubbo 分佈式服務框架 http://dubbo.io/
TBSchedule & elastic-job 分佈式調度框架 https://github.com/dangdangdotcom/elastic-job
Redis 分佈式緩存數據庫 https://redis.io/
Solr & Elasticsearch 分佈式全文搜索引擎 http://lucene.apache.org/solr/ https://www.elastic.co/
Quartz 做業調度框架 http://www.quartz-scheduler.org/
Ehcache 進程內緩存框架 http://www.ehcache.org/
ActiveMQ 消息隊列 http://activemq.apache.org/
JStorm 實時流式計算框架 http://jstorm.io/
FastDFS 分佈式文件系統 https://github.com/happyfish100/fastdfs
Log4J 日誌組件 http://logging.apache.org/log4j/1.2/
Swagger2 接口測試框架 http://swagger.io/
sequence 分佈式高效ID生產 http://git.oschina.net/yu120/sequence
AliOSS & Qiniu & QcloudCOS 雲存儲 https://www.aliyun.com/product/oss/  http://www.qiniu.com/ https://www.qcloud.com/product/cos
Protobuf & json 數據序列化 https://github.com/google/protobuf
Jenkins 持續集成工具 https://jenkins.io/index.html
Maven 項目構建管理 http://maven.apache.org/

前端技術

技術 名稱 官網
jQuery 函式庫 http://jquery.com/
Bootstrap 前端框架 http://getbootstrap.com/
Bootstrap-table Bootstrap數據表格 http://bootstrap-table.wenzhixin.net.cn/
Font-awesome 字體圖標 http://fontawesome.io/
material-design-iconic-font 字體圖標 https://github.com/zavoloklom/material-design-iconic-font
Waves 點擊效果插件 https://github.com/fians/Waves
zTree 樹插件 http://www.treejs.cn/v3/
Select2 選擇框插件 https://github.com/select2/select2
jquery-confirm 彈出窗口插件 https://github.com/craftpip/jquery-confirm
jQuery EasyUI 基於jQuery的UI插件集合體 http://www.jeasyui.com
React 界面構建框架 https://github.com/facebook/react
Editor.md Markdown編輯器 https://github.com/pandao/editor.md

技術 名稱 官網
subscribe gqz http://ganquanzhong.top
名稱 類型 描述 地址
Eureka 源碼 服務發現 https://github.com/Netflix/eureka
Feign 源碼 聲明式服務調用 https://github.com/OpenFeign/feign
Hystrix 源碼 服務熔斷 https://github.com/Netflix/Hystrix
spring-boot 源碼 SpringBoot https://github.com/spring-projects/spring-boot
hutool 工具 國產工具大全 https://gitee.com/loolly/hutool
Mybatis-PageHelper 工具 Mybatis翻頁插件 https://github.com/pagehelper/Mybatis-PageHelper
mybatis-plus 工具 mybatis 加強工具包 https://github.com/baomidou/mybatis-plus
guava 工具 谷歌工具包 https://github.com/google/guava
weixin-popular 工具 微信SDK JAVA (公衆平臺、開放平臺、 商戶平臺、 服務商平臺) https://github.com/liyiorg/weixin-popular
spring-boot-examples 面試/學習 Spring Boot 技術棧示例代碼,快速簡單上手教程。 https://github.com/ityouknow/spring-boot-examples
springboot-learning-example 面試/學習 spring boot 實踐學習案例 https://github.com/JeffLi1993/springboot-learning-example
TheAlgorithms/Java 面試/學習 數據結構與算法 https://github.com/TheAlgorithms/Java
java-design-patterns 面試/學習 Java設計模式 https://github.com/iluwatar/java-design-patterns
interviews 面試/學習 軟件工程技術面試我的指南 https://github.com/kdn251/interviews/blob/master/README-zh-cn.md
skill-map 面試/學習 程序員技能圖譜 https://github.com/TeamStuQ/skill-map
Interview-Notebook 面試/學習 面試知識 https://github.com/CyC2018/Interview-Notebook
mapSource 面試/學習 Java思惟導圖 https://gitee.com/java-mindmap/mapSource
java_wiki 面試/學習 Java學習資料 https://gitee.com/log4j/java_wiki
Java-Interview 面試/學習 Java知識點 https://github.com/crossoverJie/Java-Interview
simplemall 框架 基於SpringCloud的微服務架構實戰案例項目 https://github.com/backkoms/simplemall
paascloud-master 框架 spring cloud + vue 全家桶實戰,模擬商城,完整的購物流程、後端運營平臺,能夠實現快速搭建企業級微服務項目 https://github.com/paascloud/paascloud-master
SuperBoot 框架 基於SpringCloud、SpringBoot敏捷開發框架 https://github.com/7040210/SuperBoot
xxl-job 框架 分佈式任務調度平臺 https://github.com/xuxueli/xxl-job
jeecg 框架 基於代碼生成器的J2EE快速開發平臺 https://github.com/zhangdaiscott/jeecg
jeesite 框架 Java EE(J2EE)快速開發框架 https://github.com/thinkgem/jeesite
jeegem 框架 SpringMVC+Spring+Mybatis+Dubbo+Zookeeper+Redis+ActiveMQ Spring boot,Spring cloud,Dubbo,Elasticsearch,Redis,ActiveMQ,Nginx, Mycat,Spring,MongoDB,ZeroMQ,Git,Nosql,Jvm,Mecached,Netty,Nio,Mina,Nutch, Webservice,Activiti,Shiro,Tomcat https://gitee.com/jeegem/jeegem
Cloud-Admin 框架 Cloud-Admin是國內首個基於Spring Cloud微服務化開發平臺 https://gitee.com/minull/ace-security
MCMS 框架 Java快速開發平臺!基於Spring、SpringMVC、Mybatis架構 https://gitee.com/mingSoft/MCMS
JFinal 框架 JFinal 是基於 Java 語言的極速 WEB + ORM 框架 https://gitee.com/jfinal/jfinal
iBase4J 框架 基於SpringBoot 2.0 https://gitee.com/iBase4J/iBase4J
zheng 框架 基於Spring+SpringMVC+Mybatis分佈式敏捷開發系統架構 https://gitee.com/shuzheng/zheng
spring-cloud-book 框架 使用Spring Cloud與Docker實戰微服務 https://gitee.com/itmuch/spring-cloud-book
gitignore 工具 gitignore大全 https://github.com/github/gitignore
octotree 插件 github屬性菜單 https://github.com/buunguyen/octotree

https://github.com/search?q=stars%3A>10000&type=Code
https://github.com/trending/java?since=monthly

相關文章
相關標籤/搜索