- 博客(233)
- 资源 (9)
- 问答 (1)
- 收藏
- 关注
原创 Java8 Optional类使用总结
相信不少小伙伴已经被java的NPE(NullPointer Exception)所谓的空指针异常搞的头昏脑涨, 有大佬说过“防止 NPE,是程序员的基本修养。”但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可能的利用Java8的新特性 Optional来尽量简化代码同时高效处理NPE(NullPointer Exception 空指针异常)。
2024-04-23 18:13:21 556
原创 一键生成数据库文档,从此告别人工整理文档
在我们日常开发过程中,常常遇到项目需要出一个数据库文档,面对数据表众多的场景一个一个写显然不现实,于是 screw工具很好的满足了我们的需求,从此告别人工整理文档; screw工具它可以将整个数据库的表输出为数据库表结构文档,因此后续无论是在做分析或是熟悉表结构都能提升很大效率。
2024-04-20 17:52:38 316
原创 SQL查找是否“存在“,别再count了!
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?
2024-04-13 19:46:18 115
原创 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 329
原创 一文掌握线程池实现原理
Java在使用线程执行程序时,需要调用操作系统内核的API创建一个内核线程,操作系统要为线程分配一系列的资源;当该Java线程被终止时,对应的内核线程也会被回收。因此,频繁的创建和销毁线程需要消耗大量资源。此外,由于CPU核数有限,大量的线程上下文切换会增加系统的性能开销,无限制地创建线程还可能导致内存溢出。为此,Java在JDK1.5版本中引入了线程池。
2024-04-05 08:45:22 705
原创 一文掌握CyclicBarrier实现原理【建议收藏】
CyclicBarrier(循环屏障)是一个同步工具类,通过CyclicBarrier可以实现一组线程等待至某个屏障点之后再全部同时执行(即:线程之间相互等待)。
2024-03-26 20:35:59 745
原创 一文掌握ThreadLocal实现原理【建议收藏】
ThreadLocal是线程本地变量,每个线程私有。ThreadLocal的主要作用是通过拷贝变量的副本到每个线程中,保证多个线程同时访问变量的数据安全性。
2024-03-24 10:56:29 936
原创 项目需求:实现 PDF 添加水印,这五种方案送上!
PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。
2024-03-17 10:08:45 934
原创 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 1101
原创 10个高级的 SQL 查询技巧
如果您注意到,CTE很有用,因为您可以将代码分解为较小的块,但它们也很有用,因为它允许您为每个CTE分配变量名称(即。递归CTE尤其有用,它涉及查询组织结构图,文件系统,网页之间的链接图等的分层数据,尤其有用。示例问题:给定下面的员工表,写出一个SQL查询,了解员工的工资,这些员工比其管理人员工资更多。例如,如果您有一个月列,并且您希望为每个月创建一个单个列,则可以使用语句追溯数据的情况。示例问题:给定天气表,写一个SQL查询,以查找与其上一个(昨天)日期相比的温度较高的所有日期的ID。
2024-03-10 20:37:41 842
原创 CountDownLatch实现原理全面解析
CountDownLatch是一个同步工具类,用来协调多个线程之间的同步(即:用于线程之间的通信而不是互斥)。它允许一个或多个线程进入等待状态,直到其他线程执行完毕后,这些等待的线程才继续执行。
2024-03-07 20:43:12 1016
原创 多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;
2024-03-03 10:08:56 379
原创 全面探索Spring框架中的事件处理机制
在现代应用程序中,各个组件之间的通信是至关重要的。想象一下,你的应用程序中的各个模块像是一个巨大的交响乐团,每个模块都是一位音乐家,而Spring事件机制就像是指挥家,将所有音乐家协调得天衣无缝。这种松耦合的通信方式使你的应用程序更加灵活、可维护,而且能够轻松应对变化。现在,让我们进入这个令人兴奋的音乐厅,探索Spring事件的世界。在Spring框架中,事件(Events)是一种基本概念,用于实现松耦合的通信方式,允许不同组件之间进行相互通知和协作。
2024-02-21 19:25:56 857
原创 CopyOnWriteArrayList底层原理全面解析【建议收藏】
CopyOnWriteArrayList是Java中的一个线程安全的集合类,是ArrayList线程安全版本,主要通过Copy-On-Write(写时复制,简称COW)机制来保证线程安全。Copy-On-Write机制核心思想:向一个数组中添加数据时,不直接操作原始数组,而是拷贝原始数组生成一份原始数组副本,将需要添加的数据添加到原始数组副本中,操作完成后再用原始数组副本直接替换原始数组,从而保证多个线程同时操作原始数组时的线程安全。
2024-02-07 18:41:23 1215
原创 原理+实战全面探索分布式锁之强大的Redisson【建议收藏】
Redission是一个基于Redis实现的Java分布式对象存储和缓存框架。它提供了丰富的分布式数据结构和服务。例如:分布式锁、分布式队列、分布式Rate Limiter等。
2024-01-26 21:27:12 1012
原创 分布式锁框架Lock4j简单使用
Lock4j是一个分布式锁组件,它提供了多种不同的支持以满足不同性能和环境的需求;它基于Spring AOP,支持RedisTemplate、Redisson、Zookeeper作为底层。
2023-12-03 20:26:59 2045
原创 HashMap源码全面解析
HashMap 是基于哈希表的 `Map接口`的实现,是以 `key-value` 存储形式存在,即主要用来存储键值对。
2023-12-02 21:26:59 889
原创 ArrayList源码全面解析
ArrayList 是 java 集合框架中比较常用的数据结构,继承自 AbstractList,实现了 List 接口。底层采用数组来实现。ArrayList 实现了java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。
2023-11-28 20:12:46 986
原创 学习分布式事务Seata看这一篇就够了,建议收藏
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
2023-11-25 18:18:32 917
原创 Spring Boot 整合xxl-job实现分布式定时任务
Spring Boot 整合xxl-job实现分布式定时任务【详细教程】XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2023-11-12 18:02:34 1469 3
原创 一个轻量级 Java 权限认证框架——Sa-Token
Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。
2023-11-11 20:10:26 412
原创 【日常记录】关于LinkedHashMap中key为数字字符串根据compareTo排序的问题
关于LinkedHashMap中key 转化为字符串根据compareTo排序的问题
2023-11-04 17:35:03 337
原创 IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】
2023-11-04 08:53:54 2063
原创 Mybatis-Flex框架初体验
MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper亮点 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。
2023-09-23 15:40:43 1065 1
原创 【踩坑篇】代码中使用 Long 作为 Map的Key存在的问题
发现转化成的Map的key变为String类型的了,此时get Long类型返回为null。为了由于类型不一致导致的取值问题,现在统一把Map中的key使用string类型。Map 的数据格式。然后,根据业务keyId,去上面接口返回的map取值,发现一直为null。本周的工作结束,详述一些在项目代码中实际遇到的一些坑。
2023-09-17 11:26:51 1001 1
原创 使用HashMap的values()方法返回的值转换为List时遇到错误
使用HashMap的values()方法返回的值转化为List遇到的问题
2023-09-04 21:05:36 452
原创 MySQL怎样删除重复数据,只保留一条?
在实际工作开发过程中,常常会遇到数据库表中存在多条数据重复了,此时我们需要删除重复数据,只保留其中一条有效的数据;导致这一原因的问题是:不能在同一表中查询的数据作为同一表的更新数据。针对这种场景,我们用SQL语句该怎么实现呢?对于重复数据,保留一条数据筛选。使用having语句进行筛选。
2023-08-29 21:45:57 2693
原创 Java开发面试题 | 2023
Java基础接口和抽象类的区别?Java动态代理HashMap 底层实现及put元素的具体过程currenthashmap底层实现原理?map可以放null值吗,currenthashmap为什么不能放null值synchronze和reetrantlock区别?怎样停止一个运行中的线程?什么是悲观锁、乐观锁、公平锁、非公平锁String、StringBuffer、StringBuilder的区别Set是如何保证元素不重复的ArrayList与LinkedList哪个更占空间?为什么
2023-08-20 22:23:26 275
原创 Linux服务器软件安装教程及项目部署【建议收藏】
进入Oracle数据库官网http://www.oracle.com/ 下载相应的版本,下载完成后将两个压缩包解压到同一个目录下面!这个关键字的作用是编译的时候用于指定程序存放的路径,假设不添加该关键字Linux会将可执行文件存放在。链接:https://pan.baidu.com/s/11m4dRSfbRpb_pQFDPbUzDw。注意:tar.xz的文件,是两层压缩,外面是xz压缩,里层是tar压缩,因此分两步实现解压。在这里为了方便,和前端项目放在同一个目录下面!这里我放在了下面的这个路径下面!
2023-04-28 14:12:39 3013 1
原创 Oracle中merge Into的用法
Oracle中merge Into的用法:在操作数据库时,数据存在的情况下,进行update操作;不存在的情况下,进行insert操作;在Oracle数据库中,能够使用merge into来实现。
2023-03-05 10:15:58 2149
原创 【问题解决】nested exception is org.apache.ibatis.exceptions.TooManyResultException:Expected one result
今天在调试项目的时候,控制台出现了如下的报错信息,从下面报错信息可以明白大致的意思是:出现了过多的结果返回值,只希望得到一个值,但是现在返回了2个。
2023-02-26 10:27:21 1885
【安卓项目】——新闻资讯类项目
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关注的人