百宝锦囊
未读基于 React + Ant Design 的项目初始模板,整合了常用框架和主流业务的示例代码。
只需 1 分钟 即可完成网站的基础前端!!!大家还可以在此基础上快速开发自己的项目。
获取源码
通过百度网盘分享的文件:万用项目模板链接:https://pan.baidu.com/s/1eZAnZCfeOMZmEi9XDrg7vA?pwd=yyds提取码:yyds
视频讲解
通过百度网盘分享的文件:项目模板讲解和搭建链接:https://pan.baidu.com/s/1wruat5Dhrfe97gt6TvQKZw?pwd=yyds提取码:yyds
文字讲解见本 前端万用模板开发教程
模板能力集成登录:
快速开发管理功能(增删改查):
模板特点主流框架 & 特性
Ant Design Pro 6.0.0
React 18.2.0
node 至少 16 版本及以上
antd 5.2.2
Type Script
动态路由
Eslint
Prettier
Ant Design Pro 架构Umi
Node.js 前端开发基础环境
webpack 前端必学必会的打包工具
rea ...
1、每个模块的简要概写
2、一些重点模块的讲解2.1 全局项目配置application.yml
数据库配置文件是每一个项目都要修改的,一般修改内容为:数据库库名,例如: my_db,用户名: xxxx 密码: xxxx。
Redis 在一伙伴匹配项目中用到,如有需要需要替换成自己的密码。并且在 Spring Boot 启动类中作出如下修改。
2.2 全局请求、鉴权拦截器AuthInterceptor 和 LogInterceptor
先介绍下AuthInterceptor,权限校验机制,判断用户的role(角色)是否为管理员、用户、ban(封号)三种情况。
像创建用户这个方法就是只有管理员能够使用,用@AuthCheck自定义注解,然后写上使用该方法要有的权限即可。权限校验器因为是@Around环绕通知并且表明在有authCheck注解的方法周围执行如下逻辑。
@Around环绕通知在也就是在方法执行前后额外添加的逻辑。AOP功能的诠释,如果有不懂这段逻辑的可以去回顾下Spring的AOP功能, 面试 中经常会提及,能够回答出AOP的实际项目应用也是很不错的一个点。
接下来 ...
百宝锦囊
未读基于 Java Spring Boot 的后端项目初始模板,整合了常用框架和主流业务的示例代码。
只需 1 分钟即可完成内容网站的后端!!!大家还可以在此基础上快速开发自己的项目。
获取源码
通过百度网盘分享的文件:万用项目模板链接:https://pan.baidu.com/s/1eZAnZCfeOMZmEi9XDrg7vA?pwd=yyds提取码:yyds
文字讲解后端 Spring Boot 万用模板使用
模板特点主流框架 & 特性
Spring Boot 2.7.x(贼新)
Spring MVC
MyBatis + MyBatis Plus 数据访问(开启分页)
Spring Boot 调试工具和项目处理器
Spring AOP 切面编程
Spring Scheduler 定时任务
Spring 事务注解
数据存储
MySQL 数据库
Redis 内存数据库
Elasticsearch 搜索引擎
腾讯云 COS 对象存储
工具类
Easy Excel 表格处理
Hutool 工具库
Gson 解析库
Apache Commons Lang3 工具类
Lombok ...
学习笔记
未读
内容来源于网络,如有侵权请联系删除
Spring Bean 一共有几种作用域?一共有六种作用域:
singleton:默认是单例,含义不用解释了吧,一个 IOC 容器内部仅此一个
prototype:原型,多实例
request:每个请求都会新建一个属于自己的 Bean 实例,这种作用域仅存在 Spring Web 应用中
session:一个 http session 中有一个 bean 的实例,这种作用域仅存在 Spring Web 应用中
application:整个 ServletContext 生命周期里,只有一个 bean,这种作用域仅存在 Spring Web 应用中
websocket:一个 WebSocket 生命周期内一个 bean 实例,这种作用域仅存在 Spring Web 应用中
别背网上那些多年前的答案了,官网最新截图:
@Qualifier 注解有什么作用 ?@Qualifier 注解在 Spring 中的主要作用是用于在依赖注入时消除歧义。当一个类型有多个实现时,@Qualifier 注解可以指定需要注入哪一个具体的 Bean。
例如以下代码, ...
内容来源于网络,如有侵权请联系删除
为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?Java 8 移除永久代并引入元空间,主要是为了解决 PermGen 固定大小、容易导致内存溢出、GC 效率低的问题。元空间使用本地内存,具备更灵活的内存分配能力,提升了垃圾收集和内存管理的效率。
PermGen 的局限性
固定大小:永久代的内存空间大小在 JVM 启动时是固定的,容易出现 内存溢出(OutOfMemoryError),尤其是在动态加载大量类时。
类和方法的存储限制:永久代用于存放类的元数据(类信息、方法等),其容量受限,导致某些应用特别是在大量动态生成类或使用大量第三方库时,容易出现内存管理问题。
GC 效率低:永久代内大部分存放的类的元数据是都是被使用的,不是垃圾对象,因此无法被回收,回收的效率很低。
Metaspace 的改进
使用本地内存:元空间使用的是 本地内存(Native Memory),而不是 JVM 的堆内存,这样使得内存的分配更加灵活,避免了 PermGen 固定大小带来的局限性。
自动调整大小:元空间可以根据应用的需要 ...
内容来源于网络,如有侵权请联系删除
什么是 Java 的 StampedLock?StampedLock 是 Java 8 引入的一个锁机制,与传统的 ReentrantLock 和 ReadWriteLock 相比,StampedLock 通过引入乐观读锁和时间戳(stamp)的概念,提升了读写性能,尤其是在读多写少的场景下。
核心特性:
写锁(write lock):独占模式的锁,和 ReentrantLock 类似,保证写操作的排他性。
悲观读锁(read lock):共享模式的锁,多个线程可以同时持有读锁,但写锁需要等待。
乐观读锁(optimistic read lock):无需阻塞的读锁机制,允许在没有竞争的情况下进行快速读取。当检测到有写操作发生时,才会回退到悲观读锁或重试。
时间戳(stamp):
每个锁操作都会返回一个 stamp,代表了锁的状态,后续操作需要根据这个 stamp 来验证锁是否有效。
StampedLock 的优缺点优点:
乐观读模式提供了更高效的并发读操作,避免了传统锁机制下的线程阻塞。
更灵活的锁机制,允许不同的锁模式进行切换,适合不 ...
内容来源于网络,如有侵权请联系删除
Java 中有哪些集合类?请简单介绍 ?Java 中的集合类主要分为两大类:Collection 接口和 Map 接口。前者是存储对象的集合类,后者存储的是键值对(key-value)。
Collection 接口下又分为 List、Set 和 Queue 接口。每个接口有其具体实现类。以下是主要的集合类:
List 接口:
ArrayList:基于动态数组,查询速度快,插入、删除慢。
LinkedList:基于双向链表,插入、删除快,查询速度慢。
Vector:线程安全的动态数组,类似于 ArrayList,但开销较大。
Set 接口:
HashSet:基于哈希表,元素无序,不允许重复。
LinkedHashSet:基于链表和哈希表,维护插入顺序,不允许重复。
TreeSet:基于红黑树,元素有序,不允许重复。
所以网上有些说 Set 是无序集合非常不准确,因为需要看具体的实现类。
Queue 接口:
PriorityQueue:基于优先级堆,元素按照自然顺序或指定比较器排序。
LinkedList:可以作为队列使用,支持 FIFO(先进 ...
学习笔记
未读
内容来源于网络,如有侵权请联系删除
JAVA基础你认为 Java 的优势是什么?我觉得可以从跨平台、垃圾回收、生态、面向对象四个方面来阐述。
跨平台首先 Java 是跨平台的,不同平台执行的机器码是不一样的,而 Java 因为加了一层中间层 JVM ,所以可以做到一次编写多平台(如 Windows、Linux、macOS)运行,即 「Write once,Run anywhere」。
编译执行过程是先把 Java 源代码编译成字节码,字节码再由 JVM 解释或 JIT 编译执行,而因为 JIT 编译时需要预热的,所以还提供了 AOT(Ahead-of-Time Compilation),可以直接把字节码转成机器码,来让程序重启之后能迅速拉满战斗力。
(解释执行比编译执行效率差,你想想每次给你英语让你翻译阅读,还是直接给你看中文,哪个快?)
垃圾回收Java 还提供垃圾自动回收功能,虽说手动管理内存意味着自由、精细化地掌控,但是很容易出错。
在内存较充裕的当下,将内存的管理交给 GC 来做,减轻了程序员编程的负担,提升了开发效率,更加划算!
生态现在 Java 生态圈太全了,丰富的第 ...
最近好多人都在折腾这个API,正好刚换了主题,我也来折腾下(主要别人铺好路了,不怕踩坑)
一、部署umami服务
引用站外地址
使用Docker搭建Umami统计,显示近一年的pv、uv数据的API搭建
@张洪Heo
此处使用Docker部署,需提前准备Docker环境
通过 Vercel 部署可参考文章:
引用站外地址
使用 Vercel 自建 Umami 服务
@The Wandering Allison
通过 Railway 部署可参考文章:
引用站外地址
使用 ...
以下是最新版 card-welcome.js 完整代码,支持中英文地名自动映射、直辖市智能识别、逐行动画效果。直接复制使用,只需修改顶部 BLOG_LOCATION 的经纬度为你的位置即可。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 ...













