- 博客(156)
- 收藏
- 关注
原创 【Java Bean Validation API】Spring3 集成 Bean 参数校验框架
Spring3 集成 Java Bean Validation API,使用 jakarta 包的注解以及自定义校验注解进行无状态参数的校验,与控制层和业务层解耦,不会犯是在控制层校验还是业务层校验的选择困难症了~
2024-09-13 22:49:33 917
原创 【OpenAPI】Spring3 集成 OpenAPI 生成接口文档
Spring3,jdk21 集成 OpenAPI3,一键生成接口文档,解决响应泛型失效的问题;
2024-09-13 22:44:30 1399
原创 【Alibaba Cola 状态机】重点解析以及实践案例
相比Spring statemachine状态机等的复杂,功能多,但是我们实际业务员需要常用的功能,简单使用,所以这类就显得不简洁;再看cola-statemachine相比就是小巧、无状态、简单、轻量、性能极高的状态机DSL实现,解决业务中的状态流转问题。如果是实现业务的话,阿里状态机是不二之选,更加适合我们日常开发!KISS(Keep It Simple and Stupid)
2024-08-20 19:04:20 1887
原创 【Java 刷题记录】位运算
力扣191、力扣338、力扣461、力扣136、力扣260、力扣面试题01.01、力扣268、力扣371、力扣137、力扣面试题17.19
2024-05-09 11:39:52 791
原创 【XXL-JOB】用XXL-JOB灵活的发布定时周期任务
XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展大众点评目前已接入XXL-JOB,该系统在内部已调度约100万次,表现优异。目前已有多家公司接入xxl-job,包括比较知名的大众点评,京东,优信二手车,360金融 (360),联想集团 (联想),易信 (网易)等等系统架构图设计思想将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。
2024-04-16 17:12:46 2004
原创 【Java 刷题记录】双指针
力扣283、力扣1089、力扣202、力扣11、力扣611、力扣LCR 179、力扣15、力扣18、力扣209、力扣3、力扣1004、力扣1658、力扣904、力扣438、力扣30、力扣76、力扣704、力扣34、力扣35、力扣69、力扣852、力扣162、力扣153、力扣LCR173;
2024-04-09 22:38:12 1004
原创 【JVM】JVM 虚拟机重点解析
程序计数器:线程私有的,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。javap -verbose xx.class 打印堆栈大小,局部变量的数量和方法的参数。java虚拟机对于多线程是通过线程轮流切换并且分配线程执行时间。在任何的一个时间点上,一个处理器只会处理执行一个线程,如果当前被执行的这个线程它所分配的执行时间用完了【挂起】。处理器会切换到另外的一个线程上来进行执行。并且这个线程的执行时间用完了,接着处理器就会又来执行被挂起的这个线程。
2024-04-09 13:37:38 1296
原创 【企业场景】常见技术场景解析
后台的管理系统,更注重权限控制,最常见的就是RBAC模型来指导实现权限RBAC(Role-Based Access Control)基于角色的访问控制3个基础部分组成:用户、角色、权限具体实现5张表(用户表、角色表、权限表、用户角色中间表、角色权限中间表)7张表(用户表、角色表、权限表、菜单表、用户角色中间表、角色权限中间表、权限菜单中间表)菜单表 ==> 页面的层级结果,每个模块/按钮,存储的是树(页面的核心功能的 DOM 树)
2024-04-09 01:39:15 884
原创 【企业场景】设计模式重点解析
需求:设计一个咖啡店点餐系统。(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。具体类的设计如下:类图中的符号+:表示public-:表示private#:表示protected泛化关系(继承)用带空心三角箭头的实线来表示依赖关系使用带箭头的虚线来表示//添加配料。
2024-04-09 01:30:29 1115
原创 【并发编程】线程池以及场景题
线程池核心参数主要参考ThreadPoolExecutor这个类的7个参数的构造函数任务在提交的时候,,如果没有满则直接添加到工作线程执行如果核心线程数满了,,如果没有满,当前任务存入阻塞队列(出队列的时候也是按照)如果阻塞队列也满了,,如果没到最大线程数,则使用临时线程执行满了进不了队列的任务如果到了最大线程数,即所有线程都在忙着,则走拒绝策略。
2024-04-05 23:00:37 1111
原创 【并发编程】线程安全
全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架,它是构建锁或者其他同步组件的基础框架。
2024-04-05 18:53:15 949 1
原创 【SpringCloud】常见业务问题
tip:这里的限流指的是对接口限流限流的实现方式:Tomcat:可以设置最大连接数Nginx 的漏桶算法网关的令牌桶算法自定义拦截器。
2024-04-05 10:36:02 1272
原创 【Redis】分布式锁及其他常见问题
一定要结合业务场景来回答问题!要是没有不要硬讲,除非面试官问;接下来面试官将深入发问。分布式情况下的,或者集群情况下的,多个微服务操作同一对象,可能是相同操作(同时改),也可能是不同操作(一个删,一个改…)
2024-04-04 23:15:33 1178 1
原创 【SpringCloud】微服务重点解析
Bean 注入容器法:全局配置文件指定法:局部自己创建类实现 IRule(自定义 IRule 实现 => 自定义负载均衡规则),然后配置一下即可;服务 D 宕机,服务 A 无法建立连接,仍然进行额外的尝试;服务 D 宕机,服务 A 建立了连接,消耗了连接池的连接数,阻塞等待服务 D 的响应/心跳检测服务 D 的活性,甚至请求会重传;服务 A 很可能撑不住就也故障了,而越往上层的服务调用者,阻塞的时间几何增长,也压根支持不了多少并发量,也会雪崩式的崩溃;
2024-03-09 00:53:29 854 1
原创 【常见集合】Java 常见集合重点解析
二叉树二叉搜索树(Binary Search Tree,BST),又叫二叉查找树,有序二叉树;在树中的任意一个节点,其左子树中的每个节点都小于这个节点,右子树则都大于;没有键相等的节点;通常情况下二叉搜索树的增删查改,时间复杂度是 O(logn);恶劣情况的二叉搜索树会退化成链表(时间复杂度退化为 O(n)):而我们需要的是平衡度高的二叉搜索树,才能保证查找效率,AVL树和红黑树都是自平衡二叉搜索树。AVL树通过旋转操作来保持平衡,并且在平衡性上有更严格的要求。
2024-03-08 21:44:42 910
原创 【Redis】Redis 缓存重点解析
Redis 提供了 8 种不同的数据淘汰策略,默认是 noeviction 不淘汰,内存不足则直接报错;其中,LRU:最久未用,以时间为衡量标准,用当前时间减去最后一次访问时间,这个值越大则淘汰优先级越高;LFU:最少使用,以频率为衡量标准,会统计每个 key 的访问频率,值越小淘汰优先级越高;平时开发过程中用的比较多的是 allkeys-lru(结合自己的业务场景去说)
2024-03-05 22:53:31 1077
原创 【并发编程】线程基础知识
可执行状态,跟有无 CPU 执行无关,因为 CPU 调度是无序的,如果没有锁、wait、sleep、join 限制,“有无 CPU 执行”几乎是同时;不要不按套路出牌,isInterrupted() 方法为 true ,正确的做法就是收尾了,而不是置之不理,这样 interrupt 方法就没有意义了;退出标志法,使用一个能够被线程 run 方法获取到的布尔类型变量,当别的线程将其设置为 true 时,则线程结束;当然,也可以用 wait 与 notify;对于join方法,如果有时间限制就是。
2024-03-03 00:12:17 851
原创 【框架】Spring 框架重点解析
什么是 AOP?面向切面编程,用户将与业务无直接相关,但却对多个对象产生影响的公共行为和逻辑,将这些抽取成公共模块进行复用,降低耦合度;可以理解为一组业务的效果上的"增强buff";原理就是动态代理即目标方法的执行时机和结果可以由代理决定和处理;你们项目有没有使用到 AOP?如统一处理(拦截器、异常处理器、响应处理器),记录接口访问日志,缓存处理,Spring 实现的事务;
2024-03-02 00:29:54 1327
原创 【MySQL】主从同步原理、分库分表
1. 垂直分库,根据业务进行拆分,高并发下提高磁盘 IO 和网络连接数;2. 垂直分表,冷热数据分离,多表基本互不影响;
2024-02-28 19:47:20 671
原创 【MySQL】事务
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或者撤销请求,即这些操作要么同时成功,要么同时失败。补充:单条 sql 是原子的,多条 sql 则需要事务来保证原子性;
2024-02-28 19:43:42 1213
原创 【MySQL】SQL 优化
索引(index)是帮助 MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构**(B+ 树)**,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。了解过索引吗?索引(index)是帮助 MySQL 高效获取数据的有序的数据结构;提高数据检索的效率,降低数据库的 IO 成本,因为不需要全表扫描;通过索引列对数据进行排序,降低数据排序的成本,降低了 CPU 的消耗;索引列:以表中哪个列来创建索引。
2024-02-27 01:35:22 1284
原创 【Nginx】微信小程序后端开发、一个域名访问多个服务
对于后端程序员,其实你们的职责就是干老本行,即写接口和服务,让前端能够访问你的接口就行,必要时需要查看微信小程序开发文档去向微信服务器发请求。但是,微信小程序开发,前端项目部署在微信服务器,只能发 HTTPS 的请求去访问自己的后端,是开发阶段还可以关掉,但是上线了就是强制要求,为了微信小程序上线后功能正常,你必须让请求是 HTTPS 的!
2024-02-24 15:59:25 1944
原创 Spring Security 重点解析
是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。一般Web应用的需要进行认证和授权。验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户经过认证后判断当前用户是否有权限进行某个操作而**认证和授权。
2024-02-22 00:26:00 778
原创 Redis 工具类 与 Redis 布隆过滤器
Redis 基础操作工具 、Redis 序列化、Redis 布隆过滤器3. 布隆过滤器4. Redis工具类5. 查询Redis与Redis设置缓存的技巧伪代码:现实示例:
2024-02-22 00:12:53 843
原创 JWT 重点讲解
JWT 的载荷是可以自定义的,灵活度提高JWT 是一种开放标准,用于在网络上安全地传输信息。它由三部分组成:头部、载荷和签名。头部包含令牌的元数据,载荷包含实际的信息(例如用户ID、角色等),签名用于验证令牌是否被篡改。JWT 的签名是由头部、载荷和密钥生成的,用于验证令牌是否被篡改。签名使用HMAC算法或RSA算法生成。在验证JWT的签名时,客户端使用相同的密钥和算法生成签名,并将生成的签名与令牌中的签名进行比较。令牌刷新是一种机制,用于解决 JWT 过期后需要重新登录的问题。
2024-02-21 13:01:10 940
原创 【公众号开发】图像文字识别 · 模板消息推送 · 素材管理 · 带参数二维码的生成与事件的处理
本文主要讲解的是,接入百度AI接口实现图像文字识别功能、推送模板消息功能、素材管理、带参数二维码的生成!
2023-10-21 22:35:17 2377 21
原创 【公众号开发】Access Token的获取 · 请求公众号服务器创建自定义菜单 · 处理自定义菜单按钮事件
本文主要讲解AccessToken的获取、构造自定义菜单、处理自定义菜单事件!有了AccessToken,才能访问公众号服务器提供的一些接口,访问其中的一个接口来构造自定义菜单!本文重点为自定义菜单对象的创建!
2023-10-21 12:27:33 295 2
原创 【公众号开发】访问第三方接口应用于开发 · 回复图文消息
本文主要讲解的是,如何申请一个第三方接口、并在我们的代码中访问它,应用它;还有如何回复一个图文消息,还有List对象序列化出现错误的问题!
2023-10-20 19:06:47 343 8
原创 【公众号开发】如何写出第一个公众号开发程序 · 动态自定义自动回复
本文超详细讲解如何写粗第一个公众号开发程序:动态自定义自动回复!微信公众号验证逻辑,解析xml,包装xml...
2023-10-20 00:45:41 397 28
原创 【微服务 SpringCloudAlibaba】实用篇 · Nacos注册中心
本文主要讲解SpringCloudAlibaba的组件,Nacos,关于注册中心。
2023-10-17 21:45:48 1559 20
原创 【微服务 SpringCloud】实用篇 · Ribbon负载均衡
本文主要讲解Ribbon组件的负载均衡策略IRule,原理(查看部分源码);以及饥饿加载!
2023-10-17 21:13:30 4353 23
原创 【微服务 SpringCloud】实用篇 · Eureka注册中心
本文主要讲解的内容是微服务SpringCloud中的一个重要组件,注册中心的Eureka,讲解服务如何注册与拉取!
2023-10-16 14:44:32 1243 12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人