Java开发技术

时间:2023-12-17 14:42:20

1、基础技术

数据结构与算法

  逻辑结构:数据对象中的数据元素之间的逻辑关系

1.集合结构:集合结构中的数据元素除了同属一个集合外,没有其他关系。

2.线性结构:线性结构中的数据元素之间是一对一的关系。

3.树形结构:树形结构中的数据元素之间是一对多的关系。

4.图形结构:图形结构中的数据元素之间是多对多的关系。

  物理机构:数据的逻辑结构在计算机中的储存形式

1.顺序储存结构:把数据元素储存在连续的存储单元。

2.链式储存结构:把数据元素储存在任意的存储单元(可以是连续或者不连续)。

Java开发技术

知识点 链接
算法复杂性分析 对一个算法需要多少计算时间和存储空间作定量的分析
线性表、链表数据结构详解
队列、栈数据结构详解
基础排序算法详解
快排与并归排序详解
二分搜索、哈希表详解
并查集算法详解
树,基本概念,二叉树(遍历)详解
图、深度优先遍历、广度优先遍历
最小生成树、最短路径详解
Bloom Filter/Bitmap

数据库技术

23种设计模式 GOF

  创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

  结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

  行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

知识点 链接
工厂模式(Factory) 用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类
单例模式(Singleton)
代理模式(Proxy)
委派模式(Delegate)
观察者模式(Observer)
策略模式(Strategy)
模版模式(Template)

应用开发

  • Spring

    知识点 链接
    Spring Ioc容器设计理念与源码 Spring容器设计中,BeanFactory实现容器的基本功能,ApplicationContext作为容器高级形态存在
    Spring事务失效与解决方案详解
    Spring MVC源码与原理深度解析
    Spring5 日志框架、Testing、WebFlux等新特性
    Spring aop源码与原理深度解析
    Spring源码如何阅读
    熟悉常见的Spring面试题
    详解Spring IOC、AOP、MVC应用
  • MyBatis

    知识点 链接
    整体认识mybatis与mybatis体系结构
    Mybatis核心应用配置与原理解析
    Mybatis核心流程与源码分析
    Mybatis与Spring整合原理详解
    一级、二级缓存使用场景详解
    徒手教大家实现mybatis与思想
    Configuration、SqlSession、SqlSessionFactory、Executors
    MappedStatement、StatementHandler、ResultSetHandler等核心概念
    MyBatis设计模式:工厂、构建、单例、责任链、代理、模版、装饰模式详解

2、工作技术

消息中间件

  消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。

  • RocketMQ

    知识点 链接
    初识消息中间件,在分布式应用场景
    部署与快速开始&特性详解
    RocketMq监控与高可用详解
    RocketMq特性详解
    RocketMq源码分析详解
    RocketMq高可用&伸缩部署详解
  • Kafka

    知识点 链接
    kafka集群搭建与使用
    kafka设计原理分析
    kafka分布式实战详解
    kafka高可用&伸缩部署详解

Java并发编程

  并发编程的目的是为了让程序运行的更快,但是并不是启动更多的线程,就能让程序最大限度的并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行的更快,会面临非常多的挑战,比如上下文切换的问题,死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战,以及解决方案。

知识点 链接
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调优实战

3、提升技术

源码分析

  • 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的大型分布式、高可用电商平台
可用于互联网电子商务系统

4、拓展技术

国内互联网开源框架

知识点 链接
阿里巴巴的Nacos-动态服务发现、配置和服务管理平台
阿里巴巴的Sentinel-高可用流量管理框架
百度的UidGenerator-分布式ID生成器
百度的Disconf分布式配置管理平台
阿里巴巴的Dubbo-Java高性能开源RPC框架
阿里巴巴的RocketMQ-Java分布式消息中间件
京东金融的Sharding-sphere-Java数据库中间件
国美的Flasher-分布式缓存框架
美团的分布式调度XXL-JOB

国内互联网大咖

知识点 链接
https://ke.qq.com/course/408007

Java开发技术Java开发技术

后端技术

技术 名称 官网
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