【Java从0到架构师】学习记录
Java 从 0 到 架构师
- 第一阶段:Java 基础语法
- 第二阶段:JavaEE 基石
- 基本概念 + 环境搭建
- Servlet_JSP
- MySQL 基础 + 多表查询
- JDBC、Spring JDBC、JUnit
- JS_jQuery_BootStrap
- Maven
- 会话跟踪 Cookie_Session
- Filter_Listener_AJAX
- 第二阶段项目实战 - 个人简历项目
- 第三阶段:进阶互联网架构师
- MyBatis - 查询
- MyBatis - 增删改、动态SQL
- MyBatis - 连接池、分页_PageHelper
- MyBatis - 多表查询_延迟加载
- MyBatis - 缓存_构造方法
- MyBatis - dao
- ------------------------------------
- Spring - IoC 控制反转、DI 依赖注入
- Spring - 复杂对象、Converter
- Spring - 整合 MyBatis
- Spring - 生命周期、代理
- Spring - AOP
- Spring - 事务管理
- Spring - 注解
- ------------------------------------
- SpringMVC - 基础
- SpringMVC - 返回值
- SpringMVC - 特殊的请求参数
- SpringMVC - 异常处理_拦截器
- SpringMVC - RESTful
- SSM 整合(XML、纯注解)
- ------------------------------------
- Maven - 依赖冲突、分模块构建项目
- SpringBoot - 入门_配置文件_YAML
- SpringBoot - 页面模版_Thymeleaf
- SpringBoot - MyBatis
- 日志处理 - Log4j 1.x
- 日志处理 - SLF4J、Logback、Log4j 2.x
- 日志处理 - 复杂的日志系统、SpringBoot 集成日志框架
- SpringBoot - SpringMVC
- ------------------------------------
- 项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
- 项目实战 - 前后端分离、后端校验、Swagger
- 项目实战 - 会话管理、EhCache、JWT、权限管理 Shiro、打包部署
- ------------------------------------
- git 入门和基本应用
- git 核心原理和分支管理
- ------------------------------------
- Linux 基础知识、常用命令
- Linux 管理 - Vi 编辑器、权限管理、系统服务管理、网络管理
- Liunx 应用 - 软件包管理、软件安装
- 第四阶段:高级互联网架构师
- Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景
- Zookeeper - 安装、核心工作机制、基本命令
- Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理
- ------------------------------------
- Redis 基础 - 数据类型
- Redis 进阶 - pipline、发布订阅、Bitmap、HyperLogLog、GEO
- Redis 进阶 - 持久化(RBD、AOF)、高可用(主从复制、哨兵机制、Cluster)
- Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
- ------------------------------------
- Nginx 基础 - 环境搭建、常用配置(反向代理、负载均衡、动静分离)
- Nginx 拓展 - HTTPS支持、缓存、Http请求防盗链、限流、高可用(Keepalived)
- ------------------------------------
- 分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
- Dubbo 基础 - 设置启动时检查、直接提供者、线程模型、负载均衡、集群容错、服务降级
- ------------------------------------
- RocketMQ 基础 - 应用、核心组件、安装
- RocketMQ 使用 - 发送消息、接收消息、特殊消息
- RocketMQ 使用 - 集成 SpringBoot
- ------------------------------------
- SpringCloud - Eureka、Ribbon、Feign
- SpringCloud - Hystrix、Zuul
- SpringCloud - Sleuth、Zipkin、Config
争取9月开学前学完这门课!!!!冲啊!!!
第一阶段:Java 基础语法
学习视频:Java从0到架构师①零基础高效率入门
面向对象基础、Java程序的内存划分、嵌套类(内部类、静态嵌套类)、局部类、接口的升级问题(默认方法、静态方法)、instanceof
匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)
字符串(String、StringBuilder),日期(Date、日期SimpleDateFormat、Calendar)
单字符匹配、预定字符、量词、Matcher(贪婪、勉强、独占模式)、捕获组、边界匹配符、String类与正则表达式
异常、try-catch、finally、异常的种类、throws、thorw、自定义异常、断言类
枚举、包装类、Math、Radnom、UUID、格式化、DecimalFormat、高精度计算(BigDecimal)
泛型(泛型类型、原始类型、泛型方法)、通配符(上界、下界、无限制、继承)
ArrayList、LinkedList、Stack、Queue、Set、Map, 迭代器 Iterable、Iterator,Collections类
File、字符集、字节流、字符流、缓冲流、数据流、对象流、序列化、try-with-resources语句
多线程、线程同步、死锁、线程间通信(生产者消费者模型)、可重入锁、线程池
计算机网络体系结构(OIS参考模型、TCP/IP体系、网络通信标准化组织)及 Java网络编程
第二阶段:JavaEE 基石
学习视频:Java从0到架构师②JavaEE技术基石
Gitee 代码:https://gitee.com/szluyu99/mj_java/tree/master
基本概念 + 环境搭建
【Java从0到架构师】基本概念 + 环境搭建
基本概念
- 网页基础知识、基本HTML标签
- Apache Tomcat
环境搭建
- 启动和关闭 Tomcat
- Tomcat 乱码问题
- Idea 关联 Tomcat 源码
- Idea 左侧显示多个项目
- 新建 Web 项目
Servlet_JSP
【Java从0到架构师】Servlet_JSP
Servlet
- 乱码问题
- Servlet 的细节
- Servlet 处理请求的常见过程
- Servlet 生命周期
- loadOnStartup
- ServletContext
JSP
- EL表达式、JSTL标签库
- JSP 处理请求的常见过程
Servlet + JSP
- Servlet + JSP 处理请求的常见过程
- 转发 (forward)
- 转发链条
- 重定向 (redirect)
- 转发 vs 重定向
JSP 九大内置对象
MySQL 基础 + 多表查询
【Java从0到架构师】MySQL 基础
MySQL
- MySQL 的使用步骤
- 数据库的内部存储细节
- GUI 工具
- SQL 语句
DDL 语句
- DDL 语句 - 数据库
- DDL 语句 - 表
- 常用数据类型 - 数字类型
- 常用数据类型 - 字符串类型
- 常用类型 - 日期和时间类型
- TRUNCATE
- 表的复制
列的常用属性
DML 语句
DQL 语句
- 聚合函数 (Aggregate Function)
- 常见的 WHERE 字句
UNIQUE 索引
主键 (PRIMARY KEY)
外键 (FOREIGN KEY)
级联 (CASCADE)
【Java从0到架构师】SQL 多表查询
多表查询
多表查询核心概念
多表查询 SQL 示例
- INNER JOIN
- LEFT JOIN
- LEFT JOIN EXCLUDING INNER JOIN
- RIGHT JOIN
- RIGHT JOIN EXCLUDING INNER JOIN
- FULL OUTER JOIN
- FULL OUTER JOIN EXCLUDING INNER JOIN
更多的表
排序、分页
子查询
JDBC、Spring JDBC、JUnit
【Java从0到架构师】JDBC、Spring JDBC、JUnit
下载 MySQL 的 JDBC 实现(jar,驱动包)
JDBC 使用
- Statement 的常用 API
- ResultSet 的常用 API
- PreparedStatement
- 配置文件
- 数据库连接池
Spring JDBC
JUnit
- 常用注解
- 断言类 Assert 的常用方法
JS_jQuery_BootStrap
【Java从0到架构师】JS_jQuery_BootStrap
JavaScript
- script 标签
- 基础语法
- 数据类型
- 字符串的遍历
- 数组的遍历
- 对象的遍历
- 常用 API 参考
- 函数
- DOM 操作
jQuery
- 基于 jQuery 的各种插件
BootStrap
Maven
【Java从0到架构师】Maven
Tomcat 部署项目的方式
传统项目 vs Maven 项目
Maven
- Maven 项目的常见目录
- pom.xml
- 构建生命周期
- default 生命周期
- 常用命令
- dependency 中 scope 的取值
Maven 常见操作
- 初始化配置:环境变量、仓库位置、配置镜像
- 修改 Maven 的 JDK 版本
- 命令行新建 Maven 项目
- IDEA 导入 Maven 项目
- IDEA 新建 Maven 项目(Web 项目)
- 生成 Runnable Jar
- 安装本地 jar 到 Maven 的 LocalRepository
Maven 常见问题解决
- 文件编码的警告:Using platform encoding
- 控制台输出乱码
会话跟踪 Cookie_Session
【Java从0到架构师】会话跟踪 Cookie_Session
Cookie
- Cookie 的有效期 - expires、max-age
- Cookie 的作用域 - domain、path
- 服务器设置 Cookie
Session
- Tomcat 中 getSession 的内部原理
- Session 的有效期
Cookie Session 总结
Filter_Listener_AJAX
【Java从0到架构师】Filter_Listener_AJAX
过滤器 - Filter
- Filter 中的生命周期方法
- Filter - dispatcherTypes
- Filter 示例
监听器 - Listener
- Listener 示例
AJAX
- 原生 AJAX 示例
- jQuery AJAX 示例
- jQuery - getJSON
第二阶段项目实战 - 个人简历项目
【Java从0到架构师】个人简历项目实战
功能性
- 登陆流程
- 验证码
JavaWeb
- Service、Dao 方法名规范
- form 文件上传 - 前端、后台、实时预览
- 页面可见性
- Service 层
- 面向接口编程
后端技巧
- 利用 Jackson 将 Java 对象转成 Json 字符串
- 利用反射获取泛型的类型
前端技巧
- 利用 reset 清空 form 表单
- 图片的 MIMEType
- 验证码功能发送不同的参数防止缓存
- 登陆/修改密码功能,利用隐藏域发送加密后的密码
第三阶段:进阶互联网架构师
学习视频:Java从0到架构师③进阶互联网架构师
在学习各种框架的时候,首先要牢牢掌握 XML 的使用方式,因为注解都是基于 XML 的
Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master
企业流行框架:
- SSM (Spring、SpringMVC、Mybatis)
- Apache Shiro
- SpringBoot
MyBatis - 查询
【Java从0到架构师】MyBatis - 查询
数据库事务 (Database Transaction)
MyBatis 使用准备
- 依赖
- 配置文件
- 创建 Session
MyBatis 查询
- 实体映射
- 字段映射 - resultMap
- 传参 - 单个参数
- 传参 - 多个参数
- 打印 SQL 语句
- 多表关联查询 - resultType
MyBatis - 增删改、动态SQL
【Java从0到架构师】MyBatis - 增删改、动态 SQL
动态 SQL
- if 标签
- where 标签
- sql 标签
- foreach 标签
typeAliases 标签
添加
- 主键设置
- 批量添加 - 利用 foreach 标签
更新
删除
- 批量删除 - 利用 foreach 标签
MyBatis - 连接池、分页_PageHelper
【Java从0到架构师】MyBatis - 连接池、分页_PageHelper
集成 druid 连接池
- 读取外部的配置文件
分页查询 - PageHelper
- PageHelper 环境配置
- PageHelper 使用方法
MyBatis - 多表查询_延迟加载
【Java从0到架构师】MyBatis - 多表查询_延迟加载
多表关系
- 一对一
association 标签 + JOIN 实现一对一 - 一对多 \ 多对一
collection 标签 + LEFT JOIN 实现一对多 - 多对多
多对多的本质:双方都是一对多的关系
延迟加载
- 全局延迟加载开关
- 延迟加载示例
MyBatis - 缓存_构造方法
【Java从0到架构师】MyBatis - 缓存_构造方法
缓存
- 一级缓存 - SqlSession
- 二级缓存
- 开启二级缓存
- useCache - 是否开启二级缓存
- lushCache - 是否需要清楚缓存
指定构造方法
- XML 中指定构造方法
- 注解指定构造方法
MyBatis - dao
【Java从0到架构师】MyBatis - dao
使用 MyBatis 实现 dao 层的几种方式
自定义实现类,XML 实现 dao 层
只定义接口类,getMapper + XML 实现 dao 层
只定义接口类,getMapper + 注解实现 dao 层
- @Select、@Insert、@Update、@Delete、@SelectKey
- @Param、@Options、@CacheNamespace
- @Results、@ResultMap、@One、@Many
- @ConstructorArgs、@Arg
- script
------------------------------------
Spring - IoC 控制反转、DI 依赖注入
【Java从0到架构师】Spring - IoC 控制反转、DI 依赖注入
Spring 简介
Spring 基本使用 - IoC 容器
依赖注入 (Dependency Injection)
- 基于 setter 的注入 - 自定义对象 bean
- 基于 setter 的注入 - 基本类型、String、BigDecimal
- 基于 setter 的注入 - 数组、集合类型
- 基于 setter 的注入 - properties
- 基于 constructor 的注入 - 基本类型、String、BigDecimal
- 基于 constructor 的注入 - 自定义对象 bean
- 基于 constructor 的注入 - 集合类型
Spring - 复杂对象、Converter
【Java从0到架构师】Spring - 复杂对象、Converter
创建过程比较复杂的对象
- 实例工厂
- 静态工厂
- FactroyBean
- 引入外部配置文件
- SpEL表达式
- scope - 控制 bean 是否单例
Converter
- Spring 内置基本的类型转换功能
- 自定义 Converter
Spring - 整合 MyBatis
【Java从0到架构师】Spring - 整合 MyBatis
整合 MyBatis - 依赖
整合 MyBatis - 数据源
整合 MyBatis - SqlSessionFactoryBean
整合 MyBatis - MapperScannerConfigurer
完整配置文件
Spring - 生命周期、代理
【Java从0到架构师】Spring - 生命周期、代理
bean 的生命周期
代理
- 业务层的一些问题
- 静态代理 (Static Proxy)
- 动态代理 (Dynamic Proxy)
JDK 动态代理 - Proxy.newProxyInstance
CGLib 动态代理 - Enhancer、MethodInterceptor
Spring - AOP
【Java从0到架构师】Spring - AOP
AOP 编程使用
- AOP - MethodBeforeAdvice
- AOP - MethodInterceptor
AOP - 动态代理的底层实现
- AOP - 切入点表达式
- AOP - 目标方法相互调用的细节
- AOP - 配置多个 pointcut、advisor
Spring - 事务管理
【Java从0到架构师】Spring - 事务管理
声明式事务
- propagation - 设置事务传播行为
- read-only - 告诉数据库该事务只读
- timeout - 超时抛出异常
- rollback-for、no-rollback-for - 异常回滚
- isolation - 设置事务的隔离级别
Spring - 注解
【Java从0到架构师】Spring - 注解
读取多个配置文件
注解实现 bean 标签 - @Component、@Component-scan
注解实现注入 - @Autowired、@Value、@PropertySource
注解实现 AOP
- 复用切入点 - @Pointcut
注解实现事务管理
@Configuration、@Bean
- @Bean 方法的注入 - bean
- @Bean 方法的注入 - FactoryBean
- @Bean 方法的注入 - 其他类型
创建工厂的入口
bean 的创建方式总结
------------------------------------
SpringMVC - 基础
【Java从0到架构师】SpringMVC - 基础
SpringMVC - 入门
- web.xml 配置 DispatcherServlet
- appliactionContext.xml
- 新建 Controller
SpringMVC - 基础
- 请求参数 - @RequestParam
- 请求路径变量 - @PathVariable
- 利用反射获取参数名
- 乱码处理 - GET、POST 请求参数乱码
- 乱码处理 - 响应数据乱码
- Servlet 的 url 匹配 - 3 种
- Tomcat 中默认的 Servlet
- 静态资源被拦截的解决方案 - 2种
SpringMVC - 返回值
【Java从0到架构师】SpringMVC - 返回值
controller 中的返回值
- 无返回值 - 使用原始的 Servlet 的方法
- 普通文本、HTML - 设置响应头 Content-Type
- XML - 推荐使用 jaxb
- JSON - 框架中已经集成 jackson
jsp 相关
- 转发 - ModelAndView、String
- 路径问题总结(Java、Html)
- 重定向 - “redirect:”
- mvc:view-controller - 配置请求路径和 viewName
- InternalResourceViewResolver - 设置视图的公共前缀、后缀
忽略 InternalResourceViewResolver
自定义 InternalResourceViewResolver - @ResponseStatus - 设置响应码
SpringMVC - 特殊的请求参数
SpringMVC - 特殊的请求参数
集合类型 - Map、List、Set、String[]
Multipart 参数 - multipartResolver
- 文件参数 - MultipartFile
- 多文件参数 - MultipartFile[]、List<>
- CommonsMultipartResolver 的常用属性
日期类型
- @DateTimeFormat
- Converter
SpringMVC - 异常处理_拦截器
【Java从0到架构师】SpringMVC - 异常处理_拦截器
异常处理
- 简单的异常与页面映射 - SimpleMappingExceptionResolver
- √自定义异常处理类 - 实现 HandlerExceptionResolver 接口
- @ExceptionHandler
- √@ExceptionHandler + @ControllerAdvice
拦截器 (Interceptor)
- 实现 HandlerInterceptor 接口
- 配置拦截器
- 方法解析 preHandle、postHadnle、afterCompletion
- SpringMVC 的执行流程 - 源码跟踪
doDispatch 核心流程
SpringMVC - RESTful
【Java从0到架构师】SpringMVC - RESTful
- RESTful 风格的实践建议
- 关于 put、delete
- @RestController
SSM 整合(XML、纯注解)
【Java从0到架构师】SSM 整合(XML、纯注解)
父子容器
- 父子容器的配置文件建议
- 子容器的加载创建
- 父容器的加载创建
MyBatis 补充
- mybatis-config.xml
Maven 补充
SSM 整合 - 纯注解
- Initializer 取代 web.xml
- SpringConfig
- SpringMVCConfig
Interceptor - 添加拦截器
ViewResolver - 添加视图解析器
MultipartResolver - 添加 multipart 参数解析
Converter - 类型转换器
MessageConverters - 解决编码问题
DefaultServletHandler
------------------------------------
Maven - 依赖冲突、分模块构建项目
【Java从0到架构师】Maven - 依赖冲突、分模块构建项目
依赖冲突
- 解决方案 - dependencyManagement
- 自定义属性
分模块构建项目
- 继承 - parent
- 聚合 - modules
- 依赖 - dependency
各模块的分工 - 以层来划分
- 父模块:全局定义
- dao 模块:定义 dao 类、Model 类等
- service 模块:定义 service 类等
- web 模块:定义 controller 类等
- optional
SpringBoot - 入门_配置文件_YAML
【Java从0到架构师】SpringBoot - 入门_配置文件_YAML
SpringBoot - 入门
- @SpringBootApplication
- 可运行 jar - spring-boot-maven-plugin
- 热部署 - devtools
配置文件 - application
- 运行参数、VM 选项
- 配置文件的内容
- YAML
- 提高开发效率的依赖
- 属性绑定 - @ConfigurationProperties]
- 构造方法绑定 - @ConstructorBinding
- 宽松绑定 (Relaxed Binding) - 概念
- 拆分配置文件
- banner
SpringBoot - 页面模版_Thymeleaf
【Java从0到架构师】SpringBoot - 页面模版_Thymeleaf
集成 JSP
集成 Thymeleaf
Thymeleaf 基本语法
- 注释 - 3 种
- 字面量 - ${}、[[ ${} ]]
- 局部变量 - th:with、三目运算
- 选中变量表达式 - *{}
- 消息表达式 - #{}
- 链接表达式 - @{}
- 条件判断 - th:if、th:unless、th:switch
- 遍历 - th:each
- block - th:block
- 属性设置 - th:attr
- 内置对象
- 视图映射 - WebMvcConfigurer
SpringBoot - MyBatis
【Java从0到架构师】SpringBoot - MyBatis
集成 MyBatis
- 引入依赖
- 数据源配置 - 源码
- MyBatis 配置 - 源码
- 扫描 Dao
- MyBatis 主配置 - XML、注解、application
XML配置
注解
application
starter 的命名规范
日志处理 - Log4j 1.x
【Java从0到架构师】日志处理 - Log4j 1.x
Java 日志处理的发展史
Log4j 1.x
- 日志级别 - 6种
- pattern - 输出格式
Log4j 1.x - properties
- 子Logger
- Appender - 控制日志的输出目标
- ConsoleAppender - 将日志输出到控制台
- FileAppender - 将日志输出到文件(单个)
- RollingFileAppender - 将日志输出到文件(滚动)
- DailyRollingFileAppender - 根据日期格式将日志输出到文件(滚动)
Log4j 1.x - XML
- Filter - 让 Appender 在 Logger 的基础上过滤日志信息
日志处理 - SLF4J、Logback、Log4j 2.x
【Java从0到架构师】日志处理 - SLF4J、Logback、Log4j 2.x
SLF4J + Log4j 1.x
SLF4J + Logback
- Logback - 配置文件
- Logback - 控制台彩色打印
- Logback - configuration
- Logback - Appender 控制日志输出位置
- Logback - Filter 在 Logger 基础上过滤日志输出信息
- Logback - AsyncAppender 将写日志变为异步操作
Log4j 2.x
- Log4j 2.x - 配置文件
- Log4j 2.x - 控制台彩色打印
- Log4j 2.x - Filter
- Log4j 2.x - Appender
滚动策略 - Delete - Log4j 2.x - Loggers
- Log4j 2.x - Async
SLF4J + Log4j 2.x
日志处理 - 复杂的日志系统、SpringBoot 集成日志框架
【Java从0到架构师】交错的日志系统、SpringBoot 集成日志框架
交错复杂的日志系统① - 多个项目实现 SLF4J 门面
交错复杂的日志系统② - 统一底层实现为 Logback
交错复杂的日志系统③ - 统一底层实现为 Log4j 2.x
- 解决方案1
- 解决方案2
日志依赖总结
SpringBoot 集成日志框架
- SpringBoot 集成 Logback
- SpringBoot 集成 Log4j 2.x
- SpringBoot 的 logging 配置 (application)
SpringBoot - SpringMVC
【Java从0到架构师】SpringBoot - SpringMVC
SpringMVC 的配置
文件上传功能
文件下载 - 以附件形式下载
静态资源访问
- 静态资源访问 - 映射
- 静态资源访问 - webjars
------------------------------------
项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
【Java从0到架构师】项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
项目实战 - 前后端分离、后端校验、Swagger
【Java从0到架构师】项目实战 - 前后端分离、后端校验、Swagger
项目实战 - 会话管理、EhCache、JWT、权限管理 Shiro、打包部署
【Java从0到架构师】项目实战 - 会话管理、EhCache、JWT、权限管理 Shiro、打包部署
------------------------------------
git 入门和基本应用
【Java从0到架构师】git 入门和基本应用
git 核心原理和分支管理
【Java从0到架构师】git 核心原理和分支管理
------------------------------------
Linux 基础知识、常用命令
【Java从0到架构师】Linux 基础知识、常用命令
Linux 管理 - Vi 编辑器、权限管理、系统服务管理、网络管理
【Java从0到架构师】Linux 管理 - Vi 编辑器、权限管理、系统服务管理、网络管理
Liunx 应用 - 软件包管理、软件安装
【Java从0到架构师】Linux 应用 - 软件包管理、软件安装
第四阶段:高级互联网架构师
Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景
【Java从0到架构师】Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景
Zookeeper - 安装、核心工作机制、基本命令
【Java从0到架构师】Zookeeper - 安装、核心工作机制、基本命令
Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理
【Java从0到架构师】Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理
------------------------------------
Redis 基础 - 数据类型
【Java从0到架构师】Redis 基础 - 数据类型
Redis 进阶 - pipline、发布订阅、Bitmap、HyperLogLog、GEO
【Java从0到架构师】Redis - 进阶(pipline、发布订阅、Bitmap、HyperLogLog、GEO)
Redis 进阶 - 持久化(RBD、AOF)、高可用(主从复制、哨兵机制、Cluster)
Redis - 持久化(RBD、AOF)、高可用(主从复制、哨兵机制、Cluster)
Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
【Java从0到架构师】Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
------------------------------------
Nginx 基础 - 环境搭建、常用配置(反向代理、负载均衡、动静分离)
【Java从0到架构师】Nginx 基础 - 环境搭建、常用配置(反向代理、负载均衡、动静分离)
Nginx 拓展 - HTTPS支持、缓存、Http请求防盗链、限流、高可用(Keepalived)
【Java从0到架构师】Nginx 拓展 - HTTPS支持、缓存、Http请求防盗链、限流、高可用(Keepalived)
------------------------------------
分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
【Java从0到架构师】分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
Dubbo 基础 - 设置启动时检查、直接提供者、线程模型、负载均衡、集群容错、服务降级
【Java从0到架构师】Dubbo 基础 - 设置启动时检查、直接提供者、线程模型、负载均衡、集群容错、服务降级
------------------------------------
RocketMQ 基础 - 应用、核心组件、安装
【Java从0到架构师】RocketMQ 基础 - 应用、核心组件、安装
RocketMQ 使用 - 发送消息、接收消息、特殊消息
【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息
RocketMQ 使用 - 集成 SpringBoot
【Java从0到架构师】RocketMQ 使用 - 集成 SpringBoot
------------------------------------
SpringCloud - Eureka、Ribbon、Feign
【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign
SpringCloud - Hystrix、Zuul
【Java从0到架构师】SpringCloud - Hystrix、Zuul
SpringCloud - Sleuth、Zipkin、Config
【Java从0到架构师】SpringCloud - Sleuth、Zipkin、Config
【Java从0到架构师】学习记录相关推荐
- 【Java从0到架构师】SpringCloud - Sleuth、Zipkin、Config
SpringCloud 链路追踪组件 Sleuth Zipkin 分布式配置中心 - Config Git + Config 分布式配置中心 Java 从 0 到架构师目录:[Java从0到架构师]学 ...
- 【Java从0到架构师】SpringCloud - Hystrix、Zuul
SpringCloud 基本概念 熔断和降级 服务雪崩效应 服务熔断与降级 - Hystrix SpringBoot 集成 Hystrix 熔断降级服务异常报警通知 重点属性 - 熔断隔离策略.超时时 ...
- 【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign
SpringCloud 分布式.微服务相关概念 微服务框架构选型 SpringCloud 概述 服务注册与发现 - Eureka 案例项目 Eureka 自我保护机制 微服务调用方式 - Ribbon ...
- 【Java从0到架构师】RocketMQ 使用 - 集成 SpringBoot
RocketMQ 消息中间件 集成 SpringBoot 入门案例 生产消息类型 - 同步.异步.一次性 消费模式 - 集群.广播 延时消息 设置消息标签 设置消息的 Key 自定义属性设置 消息过滤 ...
- 【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息
RocketMQ 消息中间件 入门案例 NameServer 地址 发送消息 同步发送消息 异步发送消息 一次性发送消息 生产者组.消息封装 接收消息 消费方式:推式消费.拉式消费 消息方式:集群模式 ...
- 【Java从0到架构师】RocketMQ 基础 - 应用、核心组件、安装
RocketMQ 消息中间件 基础知识 消息中间件的应用 异步解耦 削峰填谷 消息分发 RocketMQ 核心组件 RocketMQ 安装 源码安装 修改配置参数 启动 管理控制台安装 测试项目 Ja ...
- 【Java从0到架构师】Dubbo 基础 - 设置启动时检查、直接提供者、线程模型、负载均衡、集群容错、服务降级
Dubbo 分布式 RPC 分布式核心基础 分布式概述 RPC Dubbo Dubbo 入门程序 - XML.注解 部署管理控制台 Dubbo Admin 修改绑定的注册 IP 地址 设置启动时检查 ...
- 【Java从0到架构师】分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
分布式框架通信核心基础 序列化 JDK 的序列化 JDK 序列化的一些细节 Protobuf 序列化 Protobuf 环境搭建与操作 Protobuf 原理分析 实际数据传输 序列化技术选型 远程过 ...
- 【Java从0到架构师】Nginx 拓展 - HTTPS支持、缓存、Http请求防盗链、限流、高可用(Keepalived)
Nginx HTTPS 支持 SSL 证书 重写 - rewrite Nginx 跨域解决方案 Nginx 开启缓存 Http 请求防盗链 Nginx 限流方案 常见的限流策略 - 计数器算法.漏桶算 ...
- 【Java从0到架构师】Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
Redis 原理与实战 Jedis 基本使用 Jedis 连接 Redis 服务器 Jedis 使用 pipeline Jedis 发布订阅 Jedis 使用 bitmap Jedis 使用 Hype ...
最新文章
- Android 实现一个验证码倒计时(Handler postDelayed 实现验证码倒计时)
- debug —— list调试命令
- Web服務器的配置方法
- python-类的定制
- 此人数学15分考入清华,28岁成清华教授,其家族出了20多位院士
- CentOS安装MySQL问题汇总
- nGrinder Loadrunner vs nGrinder
- zebra探秘(一)
- nodejs 遍历json数据_异步-使用node.js遍历JSON
- 学而时娱之,不亦乐乎
- BZOJ2791 Rendezvous
- 技术牛人---章文嵩博士---做系统要先了解业务的需求
- 详细安装Adobe Dreamweaver教程和制作第一个网页
- 重庆公厕装免费WiFi 网速达50M
- [JIRA] 从3.6.2旧版升级到新版6.0.8的详细过程
- java中JAO,Java
- go语言结构体详解与代码演示
- 如何使用ABBYY FineReader 14标记文本
- 【Flink异常】Caused by: java.lang.RuntimeException: Row arity of from does not match serializers
- revit模型旋转整个项目实际角度(非查看角度)