自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 1. ESP32简介

讲述了ESP32是什么,具有什么优点等内容

2024-10-14 22:20:47 226

原创 1. 到底什么是架构

架构师的职责明确需求系统能力分解技术选型制定架构说明书并主导执行落地架构师成长路径架构师必备能力。

2024-10-14 10:35:41 547

原创 十分钟带你了解计算思维

了解计算思维,快速掌握计算的意义

2022-10-15 22:43:28 896

原创 3、设计原则

设计原则是评价一个设计模式的使用效果的重要指标之一

2022-09-06 19:49:08 200

原创 2、UML 简介

介绍UML简介,包括类图、类之间的关系

2022-09-05 23:06:16 149

原创 1、设计模式的简介

设计模式的由来、概述、分类及使用频率和作用

2022-09-03 15:57:29 196

原创 2、Java 面向对象思想

本栏目讲解Java语言相关语法、常用API、编程思想、IO流、集合框架、反射等知识文章目录面向对象思想1、简介2、封装3、继承4、多态类1、类与对象的关系2、类的初始化3、类的组成3.1 代码块3.2 构造方法3.3 成员方法3.4 类中的变量3.5 匿名对象3.6 类中常见关键字3.7 权限修饰符3.8 与类组成相关的修饰符抽象类内部类1、简介2、成员内部类3、局部内部类4、匿名内部类接口包1、简介2、导包面向对象思想1、简介概述:面向对象是基于面向过程的编程思想。即对方法和属性进行封装成类

2021-07-22 01:45:52 979

原创 1、Java 基础知识

本栏目讲解Java语言相关语法、常用API、编程思想、IO流、集合框架、反射等知识文章目录Java 简介1、Java 语言版本2、JRE 和 JDK3、Java 跨平台性4、Java 工作原理5、环境变量配置Java 基本语法1、关键字2、标识符3、注释4、常量5、变量6、数据类型7、运算符8、结构9、跳转控制语句10、方法11、数组Java 简介1、Java 语言版本J2SE 标准版(开发普通桌面和商务应用程序)J2ME 小型版(开发电子消费产品和嵌入式设备)J2EE 企业版(开发企业环

2021-07-22 00:52:12 253 1

原创 3、JVM 垃圾回收(超全面)

本栏目讲叙JVM简介、JVM内存结构、垃圾回收机制和类加载与字节码技术文章目录五种引用1、强引用2、软引用3、弱引用4、虚引用5、终结器引用可回收算法1、引用计数法2、可达性分析算法垃圾回收算法1、标记清除2、标记整理3、复制分代回收垃圾回收器1、SerialGC2、ParallelGC3、响应时间优化 GC4、G1回收调优1、相关 VM 参数2、新生代调优2、老年代调优3、案例五种引用1、强引用概述:由 new 关键字创建的对象,只有所有 GC Roots 对象都不引用该对象,该对象才能被垃

2021-07-19 02:34:49 245 1

原创 2、JVM 内存结构

本栏目讲叙JVM简介、JVM内存结构、垃圾回收机制和类加载与字节码技术文章目录程序计数器1、概述2、工作流程虚拟机栈1、概述2、栈内存溢出3、查看线程情况本地方法栈堆1、概述2、组成3、查看堆情况方法区1、简介2、常量池3、运行时常理池4、StringTable5、直接内存程序计数器1、概述:用于记录下一条 JVM 指令的执行地址,是线程私有的,不存在内存溢出的情况2、工作流程:解释器从程序计数器中获取下一条 JVM 指令执行地址,解释器根据地址找到相关指令,将指令转换为机器码,再交由

2021-07-19 01:19:00 228 3

原创 1、JVM 介绍

本栏目讲叙JVM简介、JVM内存结构、垃圾回收机制和类加载与字节码技术文章目录JVM 简介JDK、JRE 与 JVM 之间的关系JVM 组成结构JVM 常用指令JVM 简介概述:JVM 被称为 Java 虚拟机,是 Java 二进制字节码运行环境,用于屏蔽底层操作系统的差异优点一次编写、到处运行自动内存管理垃圾回收功能数组下标越界检查多态JDK、JRE 与 JVM 之间的关系JRE = JVM + 基础类库JDK = JRE + 编译工具JVM 组成结构

2021-07-17 13:43:29 108

原创 7、共享模型之J.U.C

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录AQS 原理读写锁1、ReentrantReadWriteLock2、StampedLockSemaphoreCountdownLatchCyclicBarrier线程安全集合类1、ConcurrentHashMap2、ConcurrentLinkedQueue3、CopyOnWriteArrayListAQS 原理概述:全称 AbstractQueuedSynchronizer,该同步器利用了一个 int 来表示

2021-07-17 00:38:55 156 1

原创 6、共享模型之线程池

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录自定义线程池1、背景2、图解3、实现ThreadPoolExecutor1、线程池状态2、构造方法3、成员方法4、案例Executors 工具类1、常用方法2、案例Fork & Join1、概述2、案例自定义线程池1、背景:线程是一种系统资源,每创建一个线程都要占用一定的内存。在高并发的情况下,如果为每个任务都创建一个新的线程,对内存的占用是相当大的;从CPU的角度出发,CPU的数量有限,如果线程数越多,

2021-07-17 00:20:49 406 1

原创 5、共享模型之不可变

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录不可变类的设计无状态类的设计享元模式不可变类的设计设计原则final 的使用属性用 final 修饰保证了该属性是只读的,不能修改类用 final 修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性保护性拷贝:通过创建副本对象来避免共享问题(Arrays.copyOf())缺点:由于保护性拷贝会产生大量副本,这样会增加内存的负担,可以关联享元模式思想设计无状态类的设计:在设置类的

2021-07-16 23:26:46 108

原创 4、共享模型之无锁

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录CAS机制1、简介2、原理3、案例原子整型原子布尔型原子引用原子数组字段更新器原子累加器CAS机制1、简介概述:CAS,是 Compare and Swap 的简称,即比较并替换,是乐观锁的一种体现优点可以保证变量操作的原子性并发量不是很高的情况下,使用 CAS 机制比使用锁机制效率更高在线程对共享资源占用时间较短的情况下,使用 CAS 机制效率也会较高(synchronized 会让线程在没有获得锁的

2021-07-16 23:20:07 122 1

原创 3、共享模型之内存

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录Java 内存模型可见性1、举例2、分析3、解决方法有序性happens-before 原则volatile 原理Java 内存模型概述:JMM 是一种规范,目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行等带来的问题特点原子性 - 保证指令不会受到线程上下文切换的影响可见性 - 保证指令不会受 cpu 缓存的影响有序性 - 保证指令不

2021-07-16 23:08:15 136

原创 2、共享模型之管程

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录多线程共享同一资源问题1、问题简述2、问题举例3、问题分析4、相关概念5、线程安全分析6、解析方案7、synchronized 解决方案对象头Monitorsynchronized 优化原理1、轻量级锁2、锁膨胀3、自旋优化4、偏向锁5、锁清除等待唤醒机制park & unpark活跃性ReentrantLock多线程共享同一资源问题1、问题简述:多个线程同时共享一个成员变量,且都对该变量进行非原子性的写

2021-07-16 22:56:15 152 1

原创 1、多线程基础

该栏目讲叙多线程基础、共享模型的内存、管程、无锁、不可变设计和多线程并发工具文章目录相关概念1、程序2、进程3、线程4、进程与线程对比5、并发和并行创建线程1、New 方式2、Runnable 方式3、FutureTask 方式线程运行原理1、栈与栈桢2、线程上下文常用 API1、启动线程:start2、线程休眠:sleep3、线程礼让:yield4、设置优化级:setPriority5、线程加入:join6、线程中断6、守护线程:setDaemon7、案例:常用 API 的使用线程状态1、线程的五种状态

2021-07-16 15:28:46 227

原创 2、高性能 Netty

该栏目讲解NIO、Netty组件、Netty参数调优、粘包与半包解决方案、聊天室文章目录Netty入门1、简介2、入门案例Netty 组件1、事件驱动1.1 EventLoop1.2 EventLoopGroup2、通道2.1 Channel2.2 ChannelFuture2.3 CloseFuture3、Future & Promise3.1 JDK Future3.2 Netty Future3.3 Promise3.4 案例4、Handler & Pipline4.1 Chann

2021-07-15 18:04:39 2365

原创 1、NIO

该栏目讲解NIO、Netty组件、Netty参数调优、粘包与半包解决方案、聊天室文章目录NIO基础1、NIO简介2、IO模型3、零拷贝4、Channel通道5、Buffer 缓存区6、Selector 选择器ByteBuffer1、ByteBuffer结构2、ByteBuffer常用方法分配空间写入数据读取数据读写模式切换mark 和 reset字符串与 ByteBuffer 互转Scattering ReadsGathering Writes习题文件编程FileChannel工作模式常用方法传输数据P

2021-07-15 12:30:06 1762

原创 7、配置中心 Config

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介案例简介概述:提供了对各个分布式项目配置文件的统一管理支持工作原理案例配置依赖<!--配置中心服务端依赖--><dependencies> <!--配置中心服务端依赖--> <dependency> <groupId>org.springframework.cloud</groupId>

2021-07-15 01:40:20 2022

原创 6、API网关 Zuul

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介1、概述2、场景3、优点Nginx 实现 API网关Zuul 实现 API网关1、路由配置规则2、网关过滤器3、案例简介1、概述:API 网关就像一个安检站,所有外部的请求都需要经过它的调度与过滤,然后由 API 网关根据请求标识解析出具体的微服务地址,再把请求转发到该微服务2、场景路由过滤监控安全认证限流3、优点易于监控易于认证减少了客户端与各个微服务之间的交互次数Ngi

2021-07-15 01:38:29 1935 1

原创 5、服务熔断 Hystrix

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介压力测试工具 Jmeter请求缓存请求合并服务隔离服务熔断服务降级简介压力测试工具 Jmeter请求缓存请求合并服务隔离服务熔断服务降级...

2021-07-15 01:37:53 2076 1

原创 4、声明式服务消费 Feign

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介案例简介简介:Feign 是一个轻量级的 HTTP 客户端,也是实现了 负载均衡 和 REST 调用的开源框架目的:简化 RestTemplate 代码,实现了 Ribbon 负载均衡,使代码更加简洁使用步骤消费者服务添加 Feign 依赖在业务层接口中添加 @FeignClient 注解,声明需要调用的服务在业务层接口的抽象方法中使用请求注解配置服务在启动类添加 @EnableFeignCli

2021-07-15 01:37:17 1889

原创 3、客户端负载均衡 Ribbon

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介负载均衡策略案例简介:Ribbon 是一个基于 HTTP 和 TCP 的客户端工具,主要提供客户端的软件负载均衡算法。与 RestTemplate 配合使用,通过 @LoadBalanced 开启 RestTemplate 对象调用时的负载均衡负载均衡策略轮询策略(默认):对应类名 RoundRobinRule,轮询策略表示每次都顺序取下一个 provider权重轮询:对应类名 WeightedR

2021-07-15 01:36:00 2197

原创 2、服务注册中心 Eureka

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录简介相关角色1、服务注册中心2、服务消费者3、服务提供者案例简介:Eureka 是一个服务治理组件,它主要包括服务注册和服务发现,同时还提供负载均衡、故障转移等能力相关角色1、服务注册中心:通过 Register、Get、Renew 等接口提供服务的注册与发现2、服务消费者:向服务注册中心请求已经登记的服务列表,获取服务的主机、端口等信息,从而实现对具体服务的调用3、服务提供者:将服

2021-07-14 03:57:59 2140

原创 1、系统演进与 SpringCloud 简介

该栏目讲叙微服务概念、注册中心、负载均衡、配置中心、服务熔断、服务消费等知识文章目录系统演进1、集中式系统2、分布式系统3、微服务系统SpringCloud 简介1、概述2、架构3、版本说明系统演进1、集中式系统:集中式系统也叫单体应用,就是把所有的程序、功能、模块都集中到一个项目中,部署在一台服务器上,从而对外提供服务2、分布式系统:把所有的程序、功能拆分成不同的子系统,部署在多台不同的服务器上,这些子系统相互协作共同对外提供服务3、微服务系统概述:微服务是系统架构上的一种设

2021-07-14 03:19:57 2012 1

原创 6、其他优化策略

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录应用优化缓存优化内存优化并发优化锁机制主从复制应用优化缓存优化内存优化并发优化锁机制主从复制...

2021-07-12 01:09:58 2554 1

原创 5、SQL 优化

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录SQL 分析SQL 优化SQL 分析SQL 优化

2021-07-12 01:08:14 2482 1

原创 4、MySQL 架构及日志

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录MySQL 体系结构存储引擎索引日志MySQL 体系结构存储引擎索引日志

2021-07-11 18:12:20 2717

原创 3、SQL 进阶篇

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录事务1、简介2、隔离级别3、操作事务视图1、简介2、操作视图流程控制1、分支结构2、循环结构3、中断语句存储过程1、简介2、操作存储过程3、案例函数1、简介2、操作函数触发器1、简介2、操作触发器事务1、简介概述:由一个或多个 SQL 语句组成,在执行中要么全部成功,要么全部失败,失败后会回滚到最初状态四大特性原子性一致性隔离性持久性并发问题脏读:T1

2021-07-11 02:29:13 2939

原创 2、SQL 基础篇

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录简介1、概述2、特点3、组成基础语法1、数据类型2、常量3、变量4、运算符数据定义(DDL)1、数据库相关2、约束3、表结构相关4、索引数据操纵(DML)1、插入数据2、更新数据3、删除数据数据查询(DML)1、基本查询2、常见函数3、聚合函数4、分组查询5、子查询6、多表关联查询简介1、概述:结构化查询语言,是专门用来与数据库通信的语言2、特点SQL 不是某个特定

2021-07-10 20:01:36 2808

原创 1、数据库简介

该栏目讲叙 MySQL 相关的知识体系,包括数据库简介、SQL 简介、数据定义、数据操作、数据查询及数据优化等模块文章目录数据库系统基本概念1、数据2、数据库3、数据库管理系统4、数据库系统组成数据库内部结构三级模式1、外模式2、模式3、内模式数据模型1、概述2、组成要素3、种类数据库系统基本概念1、数据:是描述事物的符号记录,是信息存储的一种形式,只有通过解释或处理的数据才能成为有用的信息2、数据库:指长期存储在计算机中有组织的,可共享的数据集合3、数据库管理系统:专门用于建

2021-07-10 11:19:38 3125

原创 2、Kafka 架构

本栏目讲解kafka相关的知识,包括简介、集群部署、架构及spring整合文章目录组成元素工作流程生产者相关操作1、分区策略2、数据可靠性3、数据一致性4、Exactly Once方式消费者1、消费方式2、消费组分区策略3、偏移量存储事务组成元素producer:消息生产者,即向 broker 发送消息的客户端consumer:消息消费者,即向 broker 获取消息的客户端consumer group:消费者组,一个消费者组由多个消费者组成,且每个消费者负责消费不同分区的数据broke

2021-07-09 18:18:52 3228

原创 1、Kafka 基础知识

本栏目讲解 kafka 相关的知识,包括简介、集群部署、架构及 spring 整合文章目录简介1、概述2、优点3、模式4、高效读写集群部署操作命令简介1、概述:一个分布式的基于发布/订阅模式的消息队列2、优点解耦异步通信峰值处理缓冲可恢复性3、模式点对点模式发布/订阅模式4、高效读写顺序写磁盘:写数据过程是追加到log文件末端零拷贝:直接从系统内存中返回给客户端集群部署# 解压tar -zxvf kafka_2.11-0.11.0.0.tgz -C

2021-07-09 16:48:58 2945

原创 3、Spring 整合 MongoDB

该栏目讲叙 MongoDB 相关的知识,包括简介、各模块的操作和与 Spring 的整合文章目录MongoTemplate 相关API1、常用方法2、常用类整合 MongoDBMongoTemplate 相关API1、常用方法描述方法添加文档insert()、save()更新文档update()删除文档remove()查询文档findOne()、findAll()、find()聚合aggregate()2、常用类Query类

2021-07-08 17:54:26 3659

原创 2、MongoDB 组成

该栏目讲叙 MongoDB 相关的知识,包括简介、各模块的操作和与 Spring 的整合文章目录数据库集合文档1、文档插入2、文档更新3、文档删除4、文档查询5、文档索引数据库描述命令创建或切换数据库use 库名显示当前数据库db显示所有数据库show dbs集合概述:一组文档集合,类似于关系型数据库中的表相关操作描述命令创建集合db.createCollection(name,[option])显示集合

2021-07-08 17:13:32 3535

原创 1、MongoDB 基础

该栏目讲叙 MongoDB 相关的知识,包括简介、各模块的操作和与 Spring 的整合文章目录简介1、概述2、下载与安装3、启动与关闭服务安全管理1、创建管理员2、创建普通用户3、更新用户4、删除用户简介1、概述:MongoDB 是一个由 C++ 编写的基于分页式文件存储的非关系型数据库2、下载与安装下载地址:https://www.mongodb.com/try/download/community解压安装:tar -zxvf 包名 -C 解压路径3、启动与关闭服务启动服

2021-07-08 13:41:20 3399

原创 5、MyBatis Plus 代码生成器

该栏目会系统的介绍 MyBatis Plus 的知识体系,共分为简介、常用API、SQL注入器、代码生成器等模块文章目录简介搭建简介概述:AutoGenerator 是 MyBatis Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper、XML、Service、Controller 等各个模块的代码,极大的提升了开发效率搭建相关依赖<?xml version="1.0" encoding="UTF-8"?>&

2021-07-08 02:11:11 3726

原创 4、MyBatis Plus 插件

该栏目会系统的介绍 MyBatis Plus 的知识体系,共分为简介、常用API、SQL注入器、代码生成器等模块文章目录插件机制1、概述2、拦截时机3、自定义插件执行分析插件1、概述2、使用性能分析插件1、概述2、使用乐观锁插件插件机制1、概述:MyBatis Plus 允许你在已映射语句执行过程中的某一点进行拦截调用2、拦截时机拦截时机相关方法拦截执行器(Executor)的方法update、query、flushStatements、commit、rollbac

2021-07-08 01:56:47 4134

chat-room.zip

该项目包括聊天室的自定义协议,用户登录、心跳检测、单聊业务、群聊业务、加入群聊、退出群聊、查看群聊成员等服务端的功能和客户端相关功能,需要先了解Netty的一些相关知识,有需要了解的可以阅读高性能 Netty 博客

2021-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除