《Java 从 0 到架构师》
文章平均质量分 93
小码哥的Java从0到架构师,第1季到第4季
萌宅鹿同学
目前就读于江苏大学,热爱技术。
展开
-
【Java从0到架构师】SpringCloud - Sleuth、Zipkin、Config
SpringCloud链路追踪组件SleuthZipkin分布式配置中心 - ConfigGit + Config 分布式配置中心Java 从 0 到架构师目录:【Java从0到架构师】学习记录链路追踪组件为什么需要链路追踪?微服务架构中的服务单元很多,如果出现了错误和异常,很难去定位(一个请求可能需要调用多个服务,内部服务间的调用复杂性决定了问题难以定位),所以微服务架构必须实现链路追踪,去跟进一个请求到底有哪些服务参与以及参与的顺序。在微服务系统中,一个来自用户的请求,请求先达到前端原创 2021-11-09 00:19:45 · 365 阅读 · 0 评论 -
【Java从0到架构师】SpringCloud - Hystrix、Zuul
SpringCloud基本概念熔断和降级服务雪崩效应服务熔断与降级 - HystrixSpringBoot 集成 Hystrix熔断降级服务异常报警通知重点属性 - 熔断隔离策略、超时时间调整Feign 集成 Hystrix熔断监控 hystrix-dashboard微服务网关 ZuulJava 从 0 到架构师目录:【Java从0到架构师】学习记录基本概念熔断和降级熔断:类似保险丝,防止整个系统故障,保护自己和下游服务;熔断的目的是当 A 服务模块中的某块程序出现故障后,为了不影响其他客户端的原创 2021-10-26 11:44:53 · 250 阅读 · 0 评论 -
【Java 异常】try-catch、finally、异常的种类、throws、thorw、自定义异常、断言类
异常原创 2020-04-21 13:06:41 · 972 阅读 · 0 评论 -
【Java 正则表达式】单字符匹配、预定字符、量词、Matcher(贪婪、勉强、独占模式)、捕获组、边界匹配符、String类与正则表达式
正则表达式(Regex Expression)字符串的合法验证自己编写验证逻辑使用正则表达式单字符匹配预定义字符量词(Quantifier)Pattern、MatcherMatcher 常用方法【Matcher 工具】:找出所有匹配的子序列Matcher – 贪婪、勉强、独占的区别捕获组(Capturing Group)捕获组 – 反向引用(Backreference)边界匹配符( Boundar...原创 2020-04-21 23:09:26 · 1072 阅读 · 6 评论 -
【Java 基础】字符串(String、StringBuilder),日期(Date、SimpleDateFormat、Calendar)
字符串字符串(String)字符串(String)原创 2020-04-20 14:28:25 · 755 阅读 · 1 评论 -
【Java 泛型】泛型(泛型类型、原始类型、泛型方法)、通配符(上界、下界、无限制、继承)
泛型(Generics)泛型(Generics)泛型类型(Generic Type)多个类型参数泛型类型的继承原始类型(Raw Type)泛型方法(Generic Method)泛型(Generics)从 Java 5 开始,增加了泛型技术什么是 泛型?将类型变为参数,提高代码复用率建议的类型参数名称:• T :Type• E :Element• K :Key• N :Nu...原创 2020-04-17 23:01:49 · 1254 阅读 · 0 评论 -
【Java 面向对象】基础、Java程序的内存划分、嵌套类(内部类、静态嵌套类)、局部类、接口的升级问题(默认方法、静态方法)、instanceof
面向对象对象的内存复杂对象的内存对象数组的内存思考:方法存储在哪里?Java程序的内存划分this、super注解(Annotation)访问控制(Access Control)toString方法static静态导入成员变量的初始化初始化块、静态初始化块单例模式(Singleton Pattern)Java笔记目录可以点这里:Java 强化笔记这一章的笔记内容不是很全(其他章都比较全),...原创 2020-04-25 14:11:30 · 2429 阅读 · 12 评论 -
【Java 集合】ArrayList、LinkedList、Stack、Queue、Set、Map, 迭代器 Iterable、Iterator,Collections类
集合类型数组的局限性ArrayListArrayList — `retainAll`ArrayList — `toArray`ArrayList 的遍历ArrayList 的扩容原理java.util 包中有个集合框架(Collections Framework),提供了一大堆常用的数据结构ArrayList、LinkedList、Queue、Stack、HashSet、HashMap 等...原创 2020-04-18 13:11:30 · 1014 阅读 · 3 评论 -
【Java 基础】枚举、包装类、Math、Radnom、UUID、格式化、DecimalFormat、高精度计算(BigDecimal)
枚举、包装类、字符串枚举(Enum)自定义类实现枚举效果枚举类型(Enum Type)枚举的使用注意包装类(Wrapper Class)自动装箱、拆箱(Autoboxing and Unboxing)包装类的判等包装类使用注意MathRandomUUID枚举(Enum)自定义类实现枚举效果如果我们要实现一个季节类,并且变量取值只能是春夏秋冬,应该这么写:public class Seaso...原创 2020-04-19 13:40:10 · 587 阅读 · 0 评论 -
【Java 并发编程】多线程、线程同步、死锁、线程间通信(生产者消费者模型)、可重入锁、线程池
并发编程基础知识进程(Process)线程(Thread)线程的串行多线程多线程的原理多线程的优缺点Java并发编程默认线程开启新线程`Runnable``extends Thread`多线程的内存布局线程的状态`sleep`、`interrupt``join`、`isAlive`线程安全问题线程安全问题 – 错误示例解决方案 - 线程同步线程同步 - 同步语句线程同步 - 同步方法单例模式(懒汉...原创 2020-04-05 22:16:26 · 1347 阅读 · 1 评论 -
【Java I/O流】File、字符集、字节流、字符流、缓冲流、数据流、对象流、序列化、try-with-resources语句
I/O流FileFile常用方法File 练习:搜索、删除、剪切I/O流 全称是 Input/Output Stream,译为“输入/输出流”。不管什么数据,本质上都是二进制而已,所谓 I/O流,就是将这些 01 二进制进行传输。I/O流的常用类型都在 java.io 包中:类型输入流输出流字节流(Byte Streams)InputStreamOutputSt...原创 2020-04-08 00:46:15 · 791 阅读 · 0 评论 -
【Java 进阶】匿名类(代码传递、回调、过滤器)、Lambda表达式(方法引用)、函数式接口(Supplier、Consumer、Predicate、Function)
匿名类常用函数式接口SupplierConsumerPredicateFunction常用函数式接口java.util.function 包中提供了很多常用的函数式接口SupplierConsumerPredicateFunction…Supplier有时使用 Supplier 传参,可以避免代码的浪费执行(有必要的时候再执行)首先看这段例子,getFirstNotE...原创 2020-04-24 01:12:19 · 1713 阅读 · 0 评论 -
【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign
SpringCloud分布式概念分布式概念微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用 HTTP 资源 API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署,这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。参考博客:http://blog.cuicc.com/blog/2015/07/22/microservices/微服务是架构设计方式,分布式是系统部署方式微原创 2021-10-25 13:39:45 · 338 阅读 · 0 评论 -
【Java从0到架构师】RocketMQ 使用 - 集成 SpringBoot
RocketMQ 消息中间件特殊消息处理顺序消息 - 全局有序、局部有序延时消息Java 从 0 到架构师目录:【Java从0到架构师】学习记录特殊消息处理顺序消息 - 全局有序、局部有序消息有序指的是可以按照消息的发送顺序来消费(FIFO),RocketMQ 可以严格的保证消息有序,可以分为局部有序或者全局有序。全局有序:发送和消费参与的 queue 只有一个比如对于 MySQL 的 binLog 日志分发,需要全局有序局部有序:发送和消费有多个 queue 参与,即相对每个 que原创 2021-10-23 20:26:13 · 241 阅读 · 1 评论 -
【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息
RocketMQ 消息中间件入门案例发送消息同步发送消息异步发送消息一次性发送消息Java 从 0 到架构师目录:【Java从0到架构师】学习记录入门案例<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.7.0</version></depend原创 2021-10-22 22:14:18 · 859 阅读 · 0 评论 -
【Java从0到架构师】RocketMQ 基础 - 应用、核心组件、安装
RocketMQ 消息中间件基础知识消息中间件的应用异步解耦削峰填谷消息分发RocketMQ 核心组件Java 从 0 到架构师目录:【Java从0到架构师】学习记录基础知识在分布式微服务架构中,不同服务之间的通信方式主要有两种:通过 RPC 框架,直接远程调用其他服务:Dubbo、Spring Cloud通过消息中间件完成消息的存储和转发:RocketMQ、Kafka、RabbitMQ常见的消息中间件:ActiveMQ:Apache 比较老的一个开源的消息中间件,完全支持 JM原创 2021-10-21 23:12:14 · 878 阅读 · 0 评论 -
【Java从0到架构师】Dubbo 基础 - 设置启动时检查、直接提供者、线程模型、负载均衡、集群容错、服务降级
Dubbo 分布式 RPCJava 从 0 到架构师目录:【Java从0到架构师】学习记录xxxxx原创 2021-10-16 14:17:41 · 356 阅读 · 0 评论 -
【Java从0到架构师】分布式框架通信核心基础 - 序列化(JDK、Protobuf)、远程过程调用 RMI
分布式框架通信核心基础序列化JDK 的序列化Protobuf 序列化Protobuf 环境搭建与操作Protobuf 原理分析Java 从 0 到架构师目录:【Java从0到架构师】学习记录序列化在 JVM 创建的对象是在内存当中的,当 JVM 停止运行,释放内存以后,JVM 内存中的对象也会被销毁。但是在有些场景下,我们需要把对象的数据持久化保存起来,就需要使用对应的序列化和反序列化技术。序列化:把内存中的对象信息转化为字节数组的过程序列化的目的:数据持久化,数据的网络传输反序列化:序列原创 2021-10-11 22:56:43 · 297 阅读 · 0 评论 -
【Java从0到架构师】Nginx 拓展 - HTTPS支持、缓存、Http请求防盗链、限流、高可用(Keepalived)
NginxHTTPS 支持SSL 证书Java 从 0 到架构师目录:【Java从0到架构师】学习记录HTTPS 支持SSL 和 TLS:SSL( 安全套接字协议):TLS(安全传输层协议):对称加密和非对称加密:对称加密:使用同一个密钥进行加密和解密,加密速度快,性能好非对称加密:使用公钥加密,私钥解密,性能比对称加密差应用场景1:进行数据加密(公钥加密,私钥解密)应用场景2:验证数据的可靠性,确保数据确实是从私钥拥有者发送过来的(私钥加密,公钥解密)SSL原创 2021-10-08 14:59:01 · 338 阅读 · 0 评论 -
【Java从0到架构师】Nginx 基础 - 环境搭建、常用配置(反向代理、负载均衡、动静分离)
NginxNginx 简介Nginx 环境搭建Java 从 0 到架构师目录:【Java从0到架构师】学习记录Nginx 官网:http://nginx.org/网络请求分为动态请求和静态请求:动态请求:需要后台程序处理逻辑,比如查询数据库数据静态请求:请求一些觉得资源(html、css、js、png …)Nginx:网络静态资源服务器,只能处理静态请求Tomcat:可以处理动态请求 + 静态请求Tomcat 默认最多支持 150 并发,Nginx 官网给出数据最多支持 5w 并发原创 2021-10-07 19:08:38 · 353 阅读 · 0 评论 -
【Java从0到架构师】Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
Redis 原理与实战Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-10-06 13:21:59 · 349 阅读 · 0 评论 -
【Java从0到架构师】Redis 进阶 - 持久化(RBD、AOF)、高可用(主从复制、哨兵机制、Cluster)
Redis 原理与实战Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-10-05 16:46:06 · 373 阅读 · 0 评论 -
【Java从0到架构师】Redis 进阶 - pipline、发布订阅、Bitmap、HyperLogLog、GEO
Redis 原理与实战Jedis 的基本使用Redis 数据淘汰策略Redis 进阶拓展pipline - 命令批处理,减少大量命令的网络开销,提高操作性能发布订阅 - subscribeBitmap - 一串连续的二进制数字(字符串),每一位所在的位置为偏移HyperLogLog - 一种基数统计算法GEO - 地理信息定位,存储经纬度,计算两地距离,计算范围Java 从 0 到架构师目录:【Java从0到架构师】学习记录一些概念:PV(Page View)访问量,UV(Unique Visito原创 2021-10-03 22:54:47 · 240 阅读 · 0 评论 -
【Java从0到架构师】Redis 基础 - 数据类型
Redis 原理与实战Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-10-02 23:47:56 · 431 阅读 · 0 评论 -
【Java从0到架构师】Zookeeper 应用 - Java 客户端操作、服务器动态感知、分布式锁业务处理
分布式基石 Zookeeper 框架全面剖析Java 客户端操作Java 客户端操作原创 2021-09-30 09:56:16 · 260 阅读 · 0 评论 -
【Java从0到架构师】Zookeeper - 安装、核心工作机制、基本命令
分布式基石 Zookeeper 框架全面剖析Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-09-28 12:12:42 · 263 阅读 · 0 评论 -
【Java从0到架构师】Linux 应用 - 软件包管理、软件安装
Linux 应用Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-09-26 13:57:50 · 199 阅读 · 0 评论 -
【Java从0到架构师】Linux 管理 - Vi 编辑器、权限管理、系统服务管理、网络管理
LinuxVi 编辑器光标移动文本操作指令权限管理用户管理文件基本权限Java 从 0 到架构师目录:【Java从0到架构师】学习记录Vi 编辑器Vi 编辑器的三种模式:编辑模式(命令模式):所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式输入模式:大部分机键动作都会理解为输入的字符末行模式:可以输入很多文件管理命令,例如保存退出模式之间的相互转换:编辑 —> 输入i:在光标所在字符前开始插入a:在光标所在字符后开始插入o:在光标所在行的下面另起一新行插入原创 2021-09-17 01:38:00 · 315 阅读 · 0 评论 -
【Java从0到架构师】Linux 基础知识、常用命令
LinuxJava 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-09-16 13:17:24 · 271 阅读 · 0 评论 -
【Java从0到架构师】Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景
分布式基石 Zookeeper 框架全面剖析系统高可用集群分布式微服务分布式的基本概念分布式存储、分布式计算分布式协调服务Zookeeper 基础 - 应用场景服务器在线感知主从协调配置管理名称服务分布式锁Zookeeper 安装Java 从 0 到架构师目录:【Java从0到架构师】学习记录系统高可用系统高可用,主要是指两个方面:系统的健壮性,不允许系统出现单点故障系统的处理能力,可以提高系统的处理能力,保证系统的运行效率单点故障:系统中出现一点故障,就导致整个系统瘫痪集群集群原创 2021-09-13 23:00:17 · 369 阅读 · 0 评论 -
【Java从0到架构师】git 核心原理和分支管理
git 核心原理和分支原理原创 2021-09-12 21:13:52 · 355 阅读 · 0 评论 -
【Java从0到架构师】项目实战 - 会话管理、EhCache、JWT、权限管理 Shiro、打包部署
【Java从0到架构师】项目实战 - 会话管理、EhCache、JWT、权限管理 Shiro、打包部署原创 2021-09-11 17:13:07 · 657 阅读 · 1 评论 -
【Java从0到架构师】项目实战 - 前后端分离、后端校验、Swagger、全局异常处理
项目实战 - 前后端分离前后端的协作模式发展同源策略Java 从 0 到架构师目录:【Java从0到架构师】学习记录前后端的协作模式发展早期的前后端协作模式:前端:切图仔、页面仔后台:动态模板技术组装成以前的协作模式的问题:前端地位比较低,大部分工作都在后台调试、修改页面比较麻烦,需要前端、后台充分配合浪费流量(每次请求都会返回整个页面,这就意味着返回了很多重复的内容)前后端分离:前端:切图、页面、交互、路由、业务逻辑后台:返回 JSON前后端分离:页面保原创 2021-08-22 22:08:57 · 536 阅读 · 0 评论 -
【Java从0到架构师】项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
项目实战Java 从 0 到架构师目录:【Java从0到架构师】学习记录原创 2021-08-16 23:51:20 · 489 阅读 · 2 评论 -
【Java从0到架构师】SpringBoot - SpringMVC
SpringBoot - SpringMVCSpringMVC 的配置文件上传功能文件下载 - 以附件形式下载静态资源访问静态资源访问 - 映射静态资源访问 - webjarsJava 从 0 到架构师目录:【Java从0到架构师】学习记录Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master/04_SpringBootSpringMVC 的配置示例代码:SpringBoot - SpringMVC默认情况下,SpringBo原创 2021-08-15 15:23:59 · 289 阅读 · 3 评论 -
【Java从0到架构师】交错的日志系统、SpringBoot 集成日志框架
SpringBoot - 交错的日志系统交错复杂的日志系统① - 多个项目实现 SLF4J 门面交错复杂的日志系统② - 统一底层实现为 Logback交错复杂的日志系统③ - 统一底层实现为 Log4j 2.x解决方案1解决方案2依赖总结SpringBoot 集成日志框架SpringBoot 集成 LogbackSpringBoot 集成 Log4j 2.xSpringBoot 的 logging 配置 (application)Java 从 0 到架构师目录:【Java从0到架构师】学习记录Gi原创 2021-08-15 10:46:54 · 203 阅读 · 0 评论 -
【Java从0到架构师】日志处理 - SLF4J、Logback、Log4j 2.x
SpringBoot - 日志处理 - JCLJava 从 0 到架构师目录:【Java从0到架构师】学习记录Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master/04_SpringBoot原创 2021-08-13 15:01:43 · 272 阅读 · 0 评论 -
【Java从0到架构师】日志处理 - Log4j 1.x、JCL
SpringBoot - 日志处理Java 日志处理的发展史Log4j 1.xConsoleAppender - 将日志输出到控制台日志级别 - 6种pattern - 输出格式子 LoggerFileAppender - 将日志输出到文件(单个)RollingFileAppender - 将日志输出到文件(滚动)Java 从 0 到架构师目录:【Java从0到架构师】学习记录Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master/原创 2021-08-12 16:38:38 · 276 阅读 · 0 评论 -
【Java从0到架构师】SpringBoot - MyBatis
SpringBoot - MyBatis集成 MyBatis数据源配置 - 源码MyBatis 配置 - 源码扫描 DaoMyBatis 主配置 - XML、注解、applicationstarter 的命名规范Java 从 0 到架构师目录:【Java从0到架构师】学习记录Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master/04_SpringBoot集成 MyBatis示例代码:SpringBoot 集成 MyBatis原创 2021-08-12 09:51:49 · 214 阅读 · 0 评论 -
【Java从0到架构师】SpringBoot - 页面模版_Thymeleaf
SpringBoot - 页面模版集成 JSP集成 ThymeleafThymeleaf 基本语法注释 - 3 种字面量 - 字符串、数字、布尔局部变量 - th:width、三目运算选中变量表达式 *{}Java 从 0 到架构师目录:【Java从0到架构师】学习记录Gitee 代码:https://gitee.com/szluyu99/mj_java_frame/tree/master/04_SpringBootSpringBoot 中常用的页面模版有:JSPFreemarkerTh原创 2021-08-11 22:50:21 · 401 阅读 · 0 评论