说明:
- 1.
- 2.在我们的Java后端开发模块,我把学习的内容分为了10大模块,分别是:开发工具篇、开发基础篇、数据库篇、开发思想篇、常用框架篇、分布式微服务篇、中间件篇、并发编程篇、低代码篇等来进行学习,记录我从java基础语法的许学习到架构师的变化!!!!
第01篇:开发工具篇
- [001-01-001].Linux操作系统笔记
- 第01-1部分:Linux后端开发必会命令
- 第01-2部分:Linux中编写Shell脚本必会
- 第01-3部分:Linux运维必会
- [001-01-002].WinDows操作系统()
在开发中,团队中有多个成员,对代码进行版本管理可以保障代码的高效管理
- [001-01-003].Git版本管理笔记
- [001-01-004].SVN版本管理工具(了解)
依赖管理工具
- [001-01-005].Maven依赖管理笔记
集成开发工具
- [001-01-006].IDEA开发工具使用笔记
- [001-01-007].HBuilder
- [001-01-008].WebStorm
- [001-01-009].Navicat
- [000-01-010].PowerDesigner的使用
- [000-01-011].MobaXterm的使用
第02篇:开发基础篇
[001-02-001].Java核心语法笔记
[001-02-002].Scala笔记
[001-02-003].LUA笔记
[001-02-004].JavaWeb笔记
第03篇:数据库篇:
数据库分为关系型数据库和非关系型数据库,在这篇博客:关系型数据库与非关系型数据库的对比中对他们进行了对比学习
3.1.关系型数据库:
- [001-03-001].MySQL笔记
- [001-03-002].Oracle笔记
- [001-03-003].人大金仓笔记
3.2.非关系型数据库:
非关系型数据库
- 1.在Web2.0时代有着较大的访问量,以及对数据操作的需求,传统的关系型数据库(如MySQL)显得力不从心。为了java基础总结大纲图应对三高的问题,非关系型数据库使用越来越广泛,如Redis、MongoDB等非关系型数据库均可应对“三高”需求,不同的非关系型数据库当然有不同的应用场景
- 2.解释:三高需求:
- High performance:对数据库的需求
- Huge Storage:对海量数据的的需求
- High Scalability && High Availability:数据库的的需求
- [001-03-007].Redis笔记
- [001-03-008].ElasticStack笔记
- [001-03-009].MongoDB笔记
- [001-03-010].ClickHouse
- [001-03-011].列数据库
- [001-03-012].Hbase
- [001-03-013].NEW4J数据库
3.3.数据库优化:
- [000-03-19].Canal笔记
- [000-03-20].MyCat笔记
第04篇:开发思想篇:
- [001-04-001].设计模式
- [001-04-002].JVM虚拟机
- [001-04-003].数据结构与算法
- [001-04-004].LeetCode刷题
第05篇:常用框架篇:
本章是介绍了一些常用的,对于框架的定义就是:基于基础技术之上,从众多业务中抽取出的通用解决方案;是一个半成品,是对通用代码的封装。在框架中提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类(引入框架);基于这些现有的接口和类进行开发,使用其规定的语法开发可以提高开发效率,可以用简单的代码就能完成复杂的基础业务;框架内部使用大量的设计模式、算法、底层代码操作技术,如反射、内省、xml解析、注解解析等;(jar包中有class文件以及各种配置文件等),框架一般都具备扩展性;有了框架,我们可以将精力尽可能的投入在纯业务开发上而不用去费心技术实现以及一些辅助业务。
对于数据的持久化有众多的解决方案,如jdbc、DBUtils、JdbcTemplate、Hibernate、Spring Data、MyBatis和MyBatisPlus等,下面这篇文章是对众多方案的对比
- [001-05-001].持久层方案的对比
对于MyBatis和MyBatisPlus这两种方案都遵循了ORM思想,所谓的ORM意思就是;ORM把,然后我们在 ,具体的ORM实现及其原理如下进行了总结
- [001-05-002].ORM有底层思想及其实现
对于MyBatis和MyBatisPlu具体介绍如下:
- [001-05-003].MyBatis笔记
- [001-05-004].MyBatisPlus笔记
- [001-05-005].SpringMVC笔记
- [001-06-006].Spring笔记
7.分布式和微服务:
分布式和微服务 含义不同:
- 1.:微服务是,,每个服务运行在自己的进程内,也就是可独立部署和升级,;服务围绕业务功能进行拆分;可以由独立部署,实现。服务之间可以使用不同的语言、不同的存储技术
- 2.:分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相关系统,即整个系统是由不同的计算机组成,而用户是无感知的,就像访问一台计算机一样。这里
分布式和微服务 概念层面不同:
- 1.微服务架构:微服务是设计层面的东西,一般考虑如何将系统从逻辑上进行拆分,也就是垂直拆分。微服务可以是分布式的,即可以将不同服务部署在不同计算机上,当然如果量小也可以部署在单机上。
- 2.分布式架构:分布式是部署层面的东西,即强调物理层面的组成,即系统的各子系统部署在不同计算机上。
分布式和微服务 解决问题不同:
- 1.微服务架构:微服务解决的是系统复杂度问题: 一般来说是业务问题,即在一个系统中承担职责太多了,需要打散,便于理解和维护,进而提升系统的开发效率和运行效率,微服务一般来说是针对应用层面的。微服务如果用在其它系统,如存储系统感觉怪怪的,就像说Mysql集群是微服务的,总觉得哪里不舒服。
- 2.分布式架构:分布式解决的是系统性能问题: 即解决系统部署上单点的问题,尽量让组成系统的子系统分散在不同的机器上进而提高系统的吞吐能力。
分布式和微服务 部署方式不同
- 1.微服务架构:微服务的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。微服务架构是一项在云中部署应用和服务的新技术。微服务架构是一种架构模式,它将一个复杂的大型应用程序划分成多个微服务,这些小型服务都在各自独立的进程中运行。
- 2.分布式架构:分布式是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。
分布式和微服务 耦合度不同
- 1.微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势,不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难
分布式是否属于微服务?
- 微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。但是微服务不一定是分布式,因为微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。这也是分布式和微服务的一个细微差别。
分布式的解决方案:
- [001-06-007].SpringBoot2笔记 + SpringBoot3笔记
- [001-06-08].SpringCloud笔记
- [001-07-004].Zookeeper笔记
8、第07篇:中间件:
8.1.MQ
MQ本质是个队列,遵循FIFO先入先出原则,在队列中存放的是message;MQ是跨进程的一种通信机制,用于上下游的消息传递。消息发送上游只需要依赖MQ,不需要依赖其他服务,
a.第1部分:各个MQ框架的概述:
- 1.MQ的分类、作用及其应用场景等内容
b.第2部分:各个MQ框架的学习
- [001-07-005].Kafka笔记
- [001-07-006].RabbitMQ笔记
- [001-07-007].RocketMQ笔记
8.2.权限设计
- [001-07-008].SpringSecurity笔记
- [001-07-009].Shiro笔记
8.3.工作流
工作流(Workflow)通俗来讲就是业务上一个完整的审批流程。例如员工的请假,出差,外出采购,合同审核等等,这些过程,都是一个工作流。主流的框架有:Activiti、jBPM、Camunda 、Flowable 、还有国产的盘古BPM、云程
- [001-07-010].Activiti笔记
- [001-07-011].jBPM
- [001-07-012].Camunda
- [001-07-013].Flowable
- [001-07-014].盘古BPM
8.4.分布式调度
- [001-07-015].分布式调度XXL-JOB
8.5.规则引擎
- [001-07-015].Drools笔记
10.网络编程:
- [001-07-016].Netty笔记
11.并发编程
- [001-07-017].JUC笔记
9.服务器:
- [001-08-001].Nginx笔记
- [001-08-002].tomcat笔记
11.低代码平台:
- [001-09-001].jeecgboot笔记
- [001-09-002].若依框架笔记
5.计算机内功:
[001-04-001].C语言
[001-04-002].软件工程
[001-04-003].计算机操作系统
[001-04-004].计算机网络
7.Java中级开发工程师水平(2024年低任务)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/25003.html