12 2023 档案

摘要:MP 使用小记 所谓 MP 是指:Mybatis-Plus 前言 本篇文章是对 MP 一些日常开发学习中不常见但实用的使用小技巧总结,内容将持续更新,希望能对小伙伴们有所帮助。推荐点赞 + 收藏哦! 官方文档:Mybatis-Plus 给现有分页指定字段排序 第一种方法 其中,reqDTO 是方法参 阅读全文
posted @ 2023-12-30 21:53 cmty 阅读(8) 评论(0) 推荐(0) 编辑
摘要:集合使用注意事项总结 集合判空 判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size()==0 的方式 这是因为 isEmpty() 方法的可读性更好,并且时间复杂度为 O(1)。 集合转 Map 在使用 java.util.stream.Collectors 类的 to 阅读全文
posted @ 2023-12-30 21:47 cmty 阅读(5) 评论(0) 推荐(0) 编辑
摘要:数据校验注解 数据校验在应用程序中是至关重要的,它有助于确保我们的程序接收到的数据是有效的、合法的。 在 Java 中,常用的数据校验注解包括 @NotNull、@NotEmpty、@NotBlank 和 @Valid。本文将深入解析这些注解,提供详细的使用示例和最佳实践。 1. @NotNull 阅读全文
posted @ 2023-12-29 10:15 cmty 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Apifox 使用小记 官方文档:Apifox 帮助文档 协作流程 API First 后端、前端、测试团队可以同步开始工作,而不需要互相等待。使用基于 API 的自动 Mock、代码自动生成和自动化测试工具,大幅提升开发效率开发的各个角色都会获得更好的工作体验。API 可以在不同的项目中重复使用, 阅读全文
posted @ 2023-12-29 10:02 cmty 阅读(25) 评论(0) 推荐(0) 编辑
摘要:nvm 常用命令小记 使用流程 以管理员身份运行 命令提示符 即 cmd 窗口输入需要的命令 常用命令 列出所有已安装的 node 版本 nvm lsnvm list 列出所有远程服务器的版本 nvm ls-remotenode version list – 官方 显示所有可下载的版本 nvm li 阅读全文
posted @ 2023-12-28 09:38 cmty 阅读(11) 评论(0) 推荐(0) 编辑
摘要:Git 知识梳理 命令学习:Learn Git Branching Git 命令大全:Git 大全 版本控制 什么是版本控制? 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。关键时刻,可以回退版本。 除了项目源代码,你可以对任何类型的文件进行版本控制。 为什么需要版 阅读全文
posted @ 2023-12-28 09:33 cmty 阅读(6) 评论(0) 推荐(0) 编辑
摘要:断墨寻径 目标 重现目标与泛化目标 信息与知识 信息是相对具象的,因为它只描述一个情况 而知识是同一类的所有情况,包括老师从未提及的新情况,就不得不用概括性词语来描述各种情况的共同特征,因此必然是抽象的。 偶数是能够被 2 所整除的整数”这个知识所描述的并不是 2、4、6、8 这些具体的偶数,而是所 阅读全文
posted @ 2023-12-27 09:38 cmty 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Redis 核心知识总结 认识 Redis 什么是 Redis? Redis 是一个由 C 语言开发并且基于内存的键值型数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 有以下几个特征: 为了满足不同的业务场景,Redis 内置了多种数据类型实现( 阅读全文
posted @ 2023-12-27 09:33 cmty 阅读(9) 评论(0) 推荐(0) 编辑
摘要:缓存背后的智慧:旁路、读写穿透和写回三种策略全面解析 Redis 三种缓存读写(更新)策略 旁路缓存策略 写: 先更新 db然后删除 cache 读: 先从 cache 中读取数据,命中就返回cache 中读取不到的话,就从 db 中读取数据返回,然后(db)再把数据写入 cache 中 问题: 1 阅读全文
posted @ 2023-12-26 09:59 cmty 阅读(45) 评论(0) 推荐(0) 编辑
摘要:实战指南:使用 Spring Cloud Stream 集成 Kafka 构建高效消息驱动微服务 视频地址: Stream为什么被引入-尚硅谷SCS-1-内容介绍-图灵诸葛 官方文档: Spring Cloud Stream 什么是 Spring Cloud Stream? Spring Cloud 阅读全文
posted @ 2023-12-26 09:43 cmty 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Kafka 官方文档: https://kafka.apache.org/documentation/ Kafka 中文文档 - ApacheCN 快速开始 vim config/server.properties log.dirs=/usr/local/kafka/logs 关闭 kafka 1、 阅读全文
posted @ 2023-12-25 09:42 cmty 阅读(5) 评论(0) 推荐(0) 编辑
摘要:SpringBoot 整合 RocketMQ 简单入门 SpringBoot 提供了快捷操作 RocketMQ 的 RocketMQTemplate 对象。 1、引入依赖 注意依赖的版本需要和 RocketMQ 的版本相同。 <dependency> <groupId>org.apache.rock 阅读全文
posted @ 2023-12-25 09:39 cmty 阅读(17) 评论(0) 推荐(0) 编辑
摘要:RocketMQ 入门 视频地址: 千锋教育RocketMQ全套视频教程,快速掌握MQ消息中间件 什么是 MQ ? Message Queue(消息 队列),从字面上理解:首先它是一个队列。FIFO 先进先出的数据结构 —— 队列。 消息队列就是所谓的存放消息的队列。 消息队列解决的不是存放消息的队 阅读全文
posted @ 2023-12-23 12:31 cmty 阅读(38) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway官方文档学习笔记 前言 基础知识:API网关基础知识总结面试题:Spring Cloud Gateway夺命连环10问? 何为网关? 什么是网关?理解成火车站的检票口,统一 检票 网关优点: 统一进行操作,去处理一些问题 1、网关作用 路由负载均衡统一鉴权统一 阅读全文
posted @ 2023-12-23 12:24 cmty 阅读(14) 评论(0) 推荐(0) 编辑
摘要:JWT 单点登录探析:原理、用途与安全实践 什么是 JWT? JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。 通过数字签名的 阅读全文
posted @ 2023-12-22 11:04 cmty 阅读(26) 评论(0) 推荐(0) 编辑
摘要:MyBatis:简介、优势和常见问题解答 说说什么是 Mybatis 吧 MyBatis 是一种优秀的持久层框架,它是一个基于 Java 的 半ORM(对象关系映射)框架,可以使用简单的 XML 或注解配置来映射原始类型、Map 和 Java 对象(POJO)到数据库表中的记录。 MyBatis 支 阅读全文
posted @ 2023-12-22 10:49 cmty 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Spring Boot 配置文件 优先级顺序 在 Spring Boot 中,配置文件的优先级顺序是:application-{profile}.yml(application-{profile}.properties) > application.yml(application.propertie 阅读全文
posted @ 2023-12-21 11:52 cmty 阅读(132) 评论(0) 推荐(0) 编辑
摘要:深入理解 Spring Boot:核心知识与约定大于配置原则 简单说一下为什么要有 Spring Boot? 因为 Spring 的缺点。 虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的(需要大量 XML 配置) 为了减少配置文件,简化开发 Spring,所以 Spring Boo 阅读全文
posted @ 2023-12-21 11:41 cmty 阅读(18) 评论(0) 推荐(0) 编辑
摘要:解密Spring的@Cacheable:打造强大字典转换器 Caffeine 缓存设置及代码实践 1. 引入依赖 <!-- 引入Caffeine缓存依赖 --> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifa 阅读全文
posted @ 2023-12-20 10:01 cmty 阅读(10) 评论(0) 推荐(0) 编辑
摘要:解密Spring框架:深入理解IoC和AOP的工作原理 Spring IoC 什么是 IoC 控制反转 IoC (Inversion of Control:控制反转)是一种设计思想,而不是一个具体的技术实现。 IoC 的思想就是:将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。 阅读全文
posted @ 2023-12-20 09:40 cmty 阅读(21) 评论(0) 推荐(0) 编辑
摘要:Spring 核心原理理解与总结 Spring 基础 什么是 Spring 框架? Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。开箱即用。 一般说 Spring 框架指的都是 Spring Framework 核心功能主要是 IoC 和 AOP 阅读全文
posted @ 2023-12-19 14:44 cmty 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Linux 常见目录说明 /bin:存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;/sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;/etc:存放系统管理和配置文件;/root: 阅读全文
posted @ 2023-12-19 14:36 cmty 阅读(10) 评论(0) 推荐(0) 编辑
摘要:计算机网络总结 基础 网络分层模型 OSI 七层模型是什么?每一层的作用是什么? OSI 体系结构是法律上的国家标准,从上往下讲分别是: 应用层 – 作用是 – 为计算机用户提供服务表示层 – 作用是 – 数据处理(编解码、加密解密、压缩解压缩)会话层 – 作用是 – 管理 (建立、维护、重连) 应 阅读全文
posted @ 2023-12-18 14:49 cmty 阅读(17) 评论(0) 推荐(0) 编辑
摘要:硬件结构 CPU 是如何执行程序的? 问题: 代码写了那么多,你知道 a = 1 + 2 这条代码是怎么被 CPU 执行的吗?软件用了那么多,你知道软件的 32 位和 64 位之间的区别吗?32 位的操作系统可以运行在 64 位的电脑上吗?64 位的操作系统可以运行在 32 位的电脑上吗?如果不行, 阅读全文
posted @ 2023-12-18 14:42 cmty 阅读(6) 评论(0) 推荐(0) 编辑
摘要:数据结构基础小结 概述 什么是算法? 在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题。 衡量算法优劣的主要标准是时间复杂度和空间复杂度。 什么是数据结构? 数据结构,对应的英文单词是 data structure,是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据 阅读全文
posted @ 2023-12-17 14:21 cmty 阅读(4) 评论(0) 推荐(0) 编辑
摘要:JVM 基础入门 JVM 基础 聊一聊 Java 从编码到执行到底是一个怎么样的过程? 假设我们有一个文件 x.Java,你执行 javac,它就会变成 x.class。 这个 class 怎么执行的? 当我们调用 Java 命令的时候,class 会被 load 到内存,这块叫【Classload 阅读全文
posted @ 2023-12-17 14:17 cmty 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Java 内存管理 栈内存(Stack Memory) 栈是线程私有的,每个线程都有自己的栈。用于存储局部变量、方法参数、返回地址以及一些基本数据类型。具有快速的分配和释放,因为采用"后进先出"(LIFO)的数据结构。栈内存的大小是有限的,一般由虚拟机预先定义。 堆内存(Heap Memory): 阅读全文
posted @ 2023-12-15 12:23 cmty 阅读(9) 评论(0) 推荐(0) 编辑
摘要:线程池详解 首先回顾一下单个线程的创建方式 1、继承 Thread 类 这是一种比较传统的创建线程的方式。你可以创建一个类,继承自 Thread 类,并重写 run 方法来定义线程的执行逻辑。 class MyThread extends Thread { @Override public void 阅读全文
posted @ 2023-12-15 12:20 cmty 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java关键字指南:Synchronized和Volatile的使用与区别 synchronized 关键字 什么是 synchronized 关键字? synchronized 是 Java 中的一个关键字,翻译成中文是同步的意思。 主要解决的是:多个线程之间访问资源的同步性。可以保证被它修饰的方 阅读全文
posted @ 2023-12-14 10:03 cmty 阅读(12) 评论(0) 推荐(0) 编辑
摘要:深入理解线程死锁、乐观锁与悲观锁 前言 在多线程编程中,线程死锁、乐观锁和悲观锁是三个重要的概念。本文将深入解析这三个概念,包括它们的定义、产生原因、条件、预防和避免方法,以及如何实现。 死锁问题 什么是线程死锁? 线程死锁是指:两个或多个线程互相持有对方所需要的资源而互相等待的状态,导致程序无法继 阅读全文
posted @ 2023-12-14 09:58 cmty 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Java并发基础小结 线程和进程的区别 什么是进程? 进程是系统运行程序的基本单位,我们计算机启动的每一个应用程序都是一个进程。如下图所示,在 Windows 中这一个个 exe 文件,都是一个进程。而在 JVM 下,每一个启动的 Main 方法都可以看作一个进程。 什么是线程? 线程是一个比进程更 阅读全文
posted @ 2023-12-13 09:42 cmty 阅读(3) 评论(0) 推荐(0) 编辑
摘要:分布式事务 官方文档:Seata 1、简介 分布式一致性是分布式系统需解决的关键问题之一,在微服务的实践中分布式事务是用户遇到的最大痛点。 Seata 在阿里经济体内部经过了漫长的孵化,承载了双 11 洪荒流量,实践证明 Seata 是一款解决分布式数据一致性的的优秀组件。 Seata 除了提供了独 阅读全文
posted @ 2023-12-13 09:36 cmty 阅读(12) 评论(0) 推荐(0) 编辑
摘要:分布式消息(事件)驱动 1、简介 事件驱动架构(Event-driven 架构,简称 EDA)是软件设计领域内的一套程序设计模型。 这套模型的意义是所有的操作通过事件的发送/接收来完成。 传统软件设计 举个例子,比如一个订单的创建在传统软件设计中服务端通过接口暴露创建订单的动作,然后客户端访问创建订 阅读全文
posted @ 2023-12-12 09:42 cmty 阅读(8) 评论(0) 推荐(0) 编辑
摘要:服务熔断和限流 官方文档:Sentinel · alibaba/spring-cloud-alibaba Wiki (github.com) 前言 为什么需要流控降级? 我们的生产环境经常会出现一些不稳定的情况,如: 大促时瞬间洪峰流量导致系统超出最大负载,load 飙高,系统崩溃导致用户无法下单“ 阅读全文
posted @ 2023-12-12 09:38 cmty 阅读(11) 评论(0) 推荐(0) 编辑
摘要:分布式服务调用 1、简介 Spring Cloud Alibaba Nacos Discovery 能无缝整合 Spring Cloud OpenFeign。换言之,Spring Cloud Alibaba 延续了 Spring Cloud 分布式服务调用的特性。 除此之外,Spring Cloud 阅读全文
posted @ 2023-12-11 09:45 cmty 阅读(5) 评论(0) 推荐(0) 编辑
摘要:服务注册与发现 1、简介 Nacos Discovery 可以帮助您将服务自动注册到 Nacos 服务端并且能够动态感知和刷新某个服务实例的服务列表。除此之外,Nacos Discovery 也将服务实例自身的一些元数据信息 - 例如 host,port,健康检查 URL,主页等内容注册到 Naco 阅读全文
posted @ 2023-12-11 09:43 cmty 阅读(12) 评论(0) 推荐(0) 编辑
摘要:分布式配置 1、简介 Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。 Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,在特殊的 bootstr 阅读全文
posted @ 2023-12-09 15:33 cmty 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Java8 新特性 Java 8 的革新之路 自 1995 年首次发布以来,Java 已经成为世界上最广泛使用的编程语言之一。随着时间的推移,Java 经历了多次版本更新,其中最具里程碑意义的便是 Java 8 的发布。这个版本引入了许多重大变革,包括 Lambda 表达式、Stream API 和 阅读全文
posted @ 2023-12-09 15:29 cmty 阅读(9) 评论(0) 推荐(0) 编辑
摘要:基础知识篇 理论篇 俗话说,没有最好的架构,只有最合适的架构。 微服务架构也是随着信息产业的发展而出现的最有普遍适用性的一套架构模式。 通常来说,我们认为架构发展历史经历了这样一个过程:单体架构 -> SOA 面向服务架构 -> 微服务架构 单体架构 MVC 架构以及由此衍生出来各种多层架构如下图所 阅读全文
posted @ 2023-12-08 20:10 cmty 阅读(23) 评论(0) 推荐(0) 编辑
摘要:文件导出 官方文档:写Excel | Easy Excel (alibaba.com) 引言 当使用 EasyExcel 进行 Excel 文件导出时,我最近在工作中遇到了一个需求。因此,我决定写这篇文章来分享我的经验和解决方案。如果你对这个话题感兴趣,那么我希望这篇文章对你有所帮助。 本文的目标是 阅读全文
posted @ 2023-12-08 17:17 cmty 阅读(288) 评论(0) 推荐(0) 编辑
摘要:JDK 新特性 JDK9 jshell 交互式工具 引入了一个交互式的编程工具,可以在命令行中(cmd)直接执行和测试 Java 代码片段。 // 示例1:在jshell中执行简单的Java代码 jshell> int a = 10; a ==> 10 jshell> int b = 20; b = 阅读全文
posted @ 2023-12-07 09:49 cmty 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Map 集合详解 HashMap 和 Hashtable 的区别 线程安全性: HashMap 是非线程安全的,Hashtable 是线程安全的,因为 Hashtable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!) 阅读全文
posted @ 2023-12-07 09:46 cmty 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Queue 集合详解 Queue 与 Deque 的区别 Queue 是单端队列,只能从一端插入元素,另一端删除元素,实现上一般遵循 先进先出(FIFO) 规则。 Queue 扩展了 Collection 的接口,根据 因为容量问题而导致操作失败后处理方式的不同 可以分为两类方法: 一种在操作失败后 阅读全文
posted @ 2023-12-06 11:17 cmty 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Set 集合详解 Comparable 和 Comparator 的区别 Comparable 接口只有一个方法 compareTo(),用于比较对象自身与另一个对象的大小关系。实现 Comparable 接口的类可以直接通过调用 Arrays.sort() 或 Collections.sort() 阅读全文
posted @ 2023-12-06 11:16 cmty 阅读(3) 评论(0) 推荐(0) 编辑
摘要:List 集合详解 ArrayList 和 Vector 的区别 线程安全性: Vector 是线程安全的,它的方法都是同步的,多个线程可以同时访问和修改 Vector 对象;而 ArrayList 是非线程安全的,它的方法不是同步的,多个线程访问和修改同一个 ArrayList 对象可能会导致数据 阅读全文
posted @ 2023-12-05 09:54 cmty 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Tire 需求分析 如何判断一堆不重复的字符串是否以某个前缀开头? 用 Set\Map 存储字符串(不重复)遍历所有字符串进行判断缺点:时间复杂度 O(n) 有没有更优的数据结构实现前缀搜索? Tire(和 Tree 同音) 简介 Trie 也叫做字典树、前缀树 (Prefix Tree)、单词查找 阅读全文
posted @ 2023-12-05 09:28 cmty 阅读(5) 评论(0) 推荐(0) 编辑
摘要:哈夫曼树 哈夫曼编码(Huffman Coding) 哈夫曼编码,又称为霍夫曼编码,它是现代压缩算法的基础 假设要把字符串 [ABBBCCCCCCCCDDDDDDEE] 转成二进制编码进行传输。 可以转成 ASCII 编码 (6569,10000011000101) ,但是有点冗长,如果希望编码更短 阅读全文
posted @ 2023-12-04 15:04 cmty 阅读(1) 评论(0) 推荐(0) 编辑
摘要:优先级队列 引言 普通的队列是 FIFO 原则,也就是先进先出优先级队列则是按照优先级高低进行出队,比如将优先级最高的元素作为队头优先出队 优先级队列的应用场景 医院的夜间门诊 队列元素是病人优先级是病情的严重情况、挂号时间 操作系统的多任务调度 队列元素是任务优先级是任务类型 代码实现 根据优先队 阅读全文
posted @ 2023-12-04 15:01 cmty 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Java 集合概述 集合与容器 容器(Container)是一个更广泛的术语,用于表示可以容纳、组织和管理其他对象的对象。它是一个更高层次的概念,包括集合(Collection)在内。集合(Collection)是一种特定类型的容器,用于存储和操作一组对象。集合提供了对元素的添加、删除、查找和遍历等 阅读全文
posted @ 2023-12-02 10:33 cmty 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Java IO 目录 Java IOIO 基础Java IO 流了解吗? IO 设计模式1、装饰器模式2、适配器模式适配器模式和装饰器模式有什么区别呢?3、工厂模式4、观察者模式 IO 模型有哪些常见的 IO 模型?BIO(Blocking I/O)NIO (Non-blocking/New I/O 阅读全文
posted @ 2023-12-02 10:30 cmty 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Java SPI 机制详解 什么是SPI 概念 SPI(Service Provider Interface)是一种服务提供接口,它是 Java 提供的一种扩展机制,可以让第三方服务提供商来扩展框架或应用程序的功能。 字面意思就是:“服务提供者的接口”,我的理解是:专门提供给服务提供者或者扩展框架功 阅读全文
posted @ 2023-12-01 14:47 cmty 阅读(15) 评论(0) 推荐(0) 编辑
摘要:目录 Java 反射什么是反射反射的优缺点反射的原理是什么?反射的应用场景为什么框架需要反射?如何获取一个类的 Class 对象?你能够通过什么方式获取到一个对象的 Class 对象?如何创建一个对象并调用其方法?你可以通过反射来创建一个对象吗?如何获取一个类的构造函数并创建对象?你能够使用反射来获 阅读全文
posted @ 2023-12-01 14:46 cmty 阅读(6) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示