- 博客(254)
- 资源 (9)
- 问答 (1)
- 收藏
- 关注
原创 推荐一款强大的后台管理模板——SoybeanAdmin
SoybeanAdmin 是一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS。
2024-09-15 09:23:39
860
原创 推荐一款可视化JSON调试工具——JSON Hero
JSON Hero 是一个简单实用的 JSON 工具,通过简洁美观的 UI 及增强的额外功能,使得阅读和理解 JSON 文档变得更容易、直观。
2024-09-15 09:22:32
936
原创 项目推荐——一款开源、免费、轻量级的项目工时管理系统
无鱼工时管理系统,是一款轻量级工时记录和管理工具,包括项目管理,工时上报,工时日报,工时统计等功能。
2024-08-18 15:40:50
1267
原创 Spring Boot中获取请求参数的几种方式
在构建现代 Web 应用时,处理来自客户端的请求参数是不可或缺的一部分。Spring Boot作为构建微服务应用的领先框架,提供了多种灵活高效的方式来获取请求参数,满足各种应用场景。
2024-06-27 19:42:55
1195
原创 Java怎样动态给对象添加属性并赋值【代码实现】
本篇文章主要介绍Java如何给已有实体类动态的添加字段并返回新的实体对象且不影响原来的实体对象结构。
2024-05-25 10:02:36
3126
2
原创 Arthas快速使用—生产问题排查利器
Arthas(阿尔萨斯) 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
2024-05-20 20:14:26
941
原创 为啥建议用MapperStruct,不建议用BeanUtils.copyProperties拷贝数据?
在实际的业务开发中,我们经常会碰到BO、PO、DTO等对象属性之间的赋值,当属性较多的时候我们使用get,set的方式进行赋值的工作量相对较大,因此很多人会选择使用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。通过这种方式可以很大程度上降低我们手动编写对象属性赋值代码的工作量,既然它那么方便为什么还不建议使用呢?
2024-05-20 20:10:54
1023
原创 异步编程神器CompletableFuture使用总结【建议收藏】
CompletableFuture 是 Java 8 引入的一种用于处理异步编程的工具。它提供了一种非常灵活而且易于使用的方式来处理并发任务,能够简化代码的编写,并提高程序的性能。
2024-04-27 08:30:40
1054
原创 Java8 Optional类使用总结
相信不少小伙伴已经被java的NPE(NullPointer Exception)所谓的空指针异常搞的头昏脑涨, 有大佬说过“防止 NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(NullPointer Exception 空指针异常)。
2024-04-23 18:13:21
723
原创 一键生成数据库文档,从此告别人工整理文档
在我们日常开发过程中,常常遇到项目需要出一个数据库文档,面对数据表众多的场景一个一个写显然不现实,于是 screw工具很好的满足了我们的需求,从此告别人工整理文档; screw工具它可以将整个数据库的表输出为数据库表结构文档,因此后续无论是在做分析或是熟悉表结构都能提升很大效率。
2024-04-20 17:52:38
1995
原创 SQL查找是否“存在“,别再count了!
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?
2024-04-13 19:46:18
235
原创 MySQL常见日期时间函数总结【建议收藏】
FROM_UNIXTIME(timestamp)函数:是将UNIX时间戳转化为日期时间,与UNIX_TIMESTAMP(date)函数互为反函数。注意:在使用STR_TO_DATE函数时,请确保传入的日期字符串和格式字符串的格式匹配,否则可能会得到错误的结果。DATEDIFF(expr1,expr2)函数:返回expr1−expr2,以从一个日期到另一个日期的天数表示。expr1和expr2是日期或日期和时间表达式;NOW()函数用于返回当前日期和时间,包含年、月、日、时、分、秒!为表示日期格式的字符串。
2024-04-12 16:35:41
2998
原创 一文掌握线程池实现原理
Java在使用线程执行程序时,需要调用操作系统内核的API创建一个内核线程,操作系统要为线程分配一系列的资源;当该Java线程被终止时,对应的内核线程也会被回收。因此,频繁的创建和销毁线程需要消耗大量资源。此外,由于CPU核数有限,大量的线程上下文切换会增加系统的性能开销,无限制地创建线程还可能导致内存溢出。为此,Java在JDK1.5版本中引入了线程池。
2024-04-05 08:45:22
770
原创 一文掌握CyclicBarrier实现原理【建议收藏】
CyclicBarrier(循环屏障)是一个同步工具类,通过CyclicBarrier可以实现一组线程等待至某个屏障点之后再全部同时执行(即:线程之间相互等待)。
2024-03-26 20:35:59
1642
原创 一文掌握ThreadLocal实现原理【建议收藏】
ThreadLocal是线程本地变量,每个线程私有。ThreadLocal的主要作用是通过拷贝变量的副本到每个线程中,保证多个线程同时访问变量的数据安全性。
2024-03-24 10:56:29
1076
原创 项目需求:实现 PDF 添加水印,这五种方案送上!
PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。
2024-03-17 10:08:45
1136
原创 Spring Boot轻松整合Minio实现文件上传下载功能【建议收藏】
当然,也可以直接访问minio的地址:http://IP地址:9001/xk-admin/1710558001536.jpg。控制台日志重定向到/usr/local/minio/minio.log文件中。测试接口:http://localhost:8099/oss/download。测试接口:http://localhost:8099/oss/upload。测试接口:http://localhost:8099/oss/info。测试接口:http://localhost:8099/oss/url。
2024-03-16 18:00:54
1805
原创 10个高级的 SQL 查询技巧
如果您注意到,CTE很有用,因为您可以将代码分解为较小的块,但它们也很有用,因为它允许您为每个CTE分配变量名称(即。递归CTE尤其有用,它涉及查询组织结构图,文件系统,网页之间的链接图等的分层数据,尤其有用。示例问题:给定下面的员工表,写出一个SQL查询,了解员工的工资,这些员工比其管理人员工资更多。例如,如果您有一个月列,并且您希望为每个月创建一个单个列,则可以使用语句追溯数据的情况。示例问题:给定天气表,写一个SQL查询,以查找与其上一个(昨天)日期相比的温度较高的所有日期的ID。
2024-03-10 20:37:41
983
1
原创 CountDownLatch实现原理全面解析
CountDownLatch是一个同步工具类,用来协调多个线程之间的同步(即:用于线程之间的通信而不是互斥)。它允许一个或多个线程进入等待状态,直到其他线程执行完毕后,这些等待的线程才继续执行。
2024-03-07 20:43:12
1487
原创 多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;
2024-03-03 10:08:56
484
原创 全面探索Spring框架中的事件处理机制
在现代应用程序中,各个组件之间的通信是至关重要的。想象一下,你的应用程序中的各个模块像是一个巨大的交响乐团,每个模块都是一位音乐家,而Spring事件机制就像是指挥家,将所有音乐家协调得天衣无缝。这种松耦合的通信方式使你的应用程序更加灵活、可维护,而且能够轻松应对变化。现在,让我们进入这个令人兴奋的音乐厅,探索Spring事件的世界。在Spring框架中,事件(Events)是一种基本概念,用于实现松耦合的通信方式,允许不同组件之间进行相互通知和协作。
2024-02-21 19:25:56
973
原创 CopyOnWriteArrayList底层原理全面解析【建议收藏】
CopyOnWriteArrayList是Java中的一个线程安全的集合类,是ArrayList线程安全版本,主要通过Copy-On-Write(写时复制,简称COW)机制来保证线程安全。Copy-On-Write机制核心思想:向一个数组中添加数据时,不直接操作原始数组,而是拷贝原始数组生成一份原始数组副本,将需要添加的数据添加到原始数组副本中,操作完成后再用原始数组副本直接替换原始数组,从而保证多个线程同时操作原始数组时的线程安全。
2024-02-07 18:41:23
1936
原创 原理+实战全面探索分布式锁之强大的Redisson【建议收藏】
Redission是一个基于Redis实现的Java分布式对象存储和缓存框架。它提供了丰富的分布式数据结构和服务。例如:分布式锁、分布式队列、分布式Rate Limiter等。
2024-01-26 21:27:12
1800
【安卓项目】——新闻资讯类项目
2021-10-23
vs 2010 +sql server 2017.rar
2021-05-28
初学Android小项目.rar
2020-07-06
Android——LitePal操作数据库的案例.rar
2020-05-03
图书管理系统小程序.rar
2020-03-20
vue+springboot实现登录功能.rar
2020-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人