![](https://img-blog.csdnimg.cn/20200830123546531.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA-与你白头偕老
文章平均质量分 76
与你相濡以沫,与你白头偕老。
笑小枫
我是笑小枫,专注于Java领域开发,CSDN Java领域优质创作者,CSDN专家,阿里云博客专家,希望和志同道合的小伙伴一起学习进步。
展开
-
Java判断范围型的数据是否存在重叠(数值类型、日期类型)
实际很简单,就是把需要校验的数据两两比较就可以了,总体思想就是把数据转为数值类型,然后进行比较就可以了。如果对你有帮助,记得点个关注哈~原创 2024-07-04 15:52:12 · 504 阅读 · 21 评论 -
File、Base64、MultipartFile之间相互转换
【代码】File、Base64、MultipartFile之间相互转换。原创 2024-03-18 09:28:11 · 2505 阅读 · 70 评论 -
详解Java中的注解
在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。原创 2024-03-07 17:10:46 · 4153 阅读 · 60 评论 -
【保姆级教程】Linux安装JDK8
本文以centos7为例,一步一步进行jdk1.8的安装。原创 2023-11-14 17:55:04 · 478 阅读 · 7 评论 -
Idea中使用Statistic插件统计工程项目代码量
公司要对一个项目进行代码统计,这么多类,总不能让我一个一个数据,于是想到了Statistic插件。让我们一起看看Statistic插件怎么使用吧。原创 2023-08-31 17:07:29 · 2850 阅读 · 9 评论 -
SpringBoot集成Redis、Redisson保姆教程【附源码】
本文主要讲解了使用SpringBoot如何快速的集成Redis和Redisson,除了详细的集成介绍外,同时对常用的缓存操作封装成工具类,并给出demo。让大家使用时可以快速上手。原创 2023-08-29 10:03:08 · 2974 阅读 · 15 评论 -
SpringBoot集成MyBatis plus 多数据源实现【附源码】
最近写文章发布到【笑小枫】小程序和个人网站上,因为个人网站用的是halo框架搭建,两边数据结构不一致,导致我每次维护文章都需要两边维护,这就很烦~于是,本文就诞生了。通过项目连接这两个数据库,我在维护文章的时候,同时同步下个人网站的博客。原创 2023-08-22 14:13:39 · 1023 阅读 · 4 评论 -
【已解决】java.lang.IllegalStateException Failed to load property source from `xxx` application.yml
本文主要对java.lang.IllegalStateException Failed to load property source from `xxx` application.yml问题的解决。原创 2023-08-17 13:23:27 · 133 阅读 · 0 评论 -
【笑小枫系列】Java加密那点事,本文给你讲的明明白白
相信大家在日常工作中都遇到过加密的场景吧,像登录密码加密保存、无token接口验签、数据加密传输等等。本文将详细的介绍一下加密的方式,并分析使用场景,并会以详细的代码完整的介绍如何使用加密,让小伙伴们遇到加密时,有更好的选择。原创 2023-06-13 09:40:50 · 358 阅读 · 7 评论 -
SpringBoot使用用户输入的自定义数据源启动【附源码】
本文主要利用Mybatis Plus的动态切换数据源的功能,间接实现了无数据源启动,用户自定义数据源的功能。只是一种实现思路,肯定还会有更优的实现方案,暂时还没有找到,如找到,会继续出文介绍。配合本文的还有数据库版本管理,连接数据库后,可以初始化数据库表结构,然后再初始化管理员信息,后续迭代升级时,sql变更,在项目启动时自动加载,维护数据库表版本,可以去看后续的文章,通过flywaydb实现。原创 2023-06-02 09:51:01 · 1158 阅读 · 9 评论 -
Java分布式环境下并发编程实践
随着分布式系统越来越普及,分布式系统中的并发编程成为了一个重要的话题。Java作为一种高级编程语言,其并发编程能力得到了广泛的认可。但在分布式系统中,Java并发编程面临着一些新的挑战。本文将介绍在分布式系统下Java并发编程的一些技术和实际案例。原创 2023-04-09 21:17:29 · 674 阅读 · 19 评论 -
分布式锁的 3 种实现方案
前言今天跟大家探讨一下分布式锁的设计与实现,希望对大家有帮助,如果有不正确的地方,欢迎指出,一起学习,一起进步。分布式锁概述我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防止库存超卖,都需要用到分布式锁。分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。原创 2023-04-09 21:13:45 · 234 阅读 · 2 评论 -
分布式事务Seata原理
Seata 是一款开源的分布式事务解决方案,致力于提供高性能与简单易用的分布式事务服务,为用户提供了 AT、TCC、SAGA 和 XA 几种不同的事务模式。Seata AT模式是基于XA事务演进而来,需要数据库支持。AT 模式的特点就是对业务无入侵式,用户只需要关注自己的业务SQL,Seata 框架会在第一阶段拦截并解析用户的 SQL,并保存其变更前后的数据镜像,形成undo log,并自动生成事务第二阶段的提交和回滚操作。原创 2023-04-09 16:32:35 · 772 阅读 · 2 评论 -
七种常见分布式事务详解(2PC、3PC、TCC、Saga、本地事务表、MQ事务消息、最大努力通知)
在分布式系统中一次操作需要由多个服务协同完成,这种由不同的服务之间通过网络协同完成的事务称为分布式事务。本文详解介绍七种常见分布式事务的原理以及优缺点和适用场景(2PC、3PC、TCC、Saga、本地事务表、MQ事务消息、最大努力通知)原创 2023-04-01 21:25:37 · 592 阅读 · 5 评论 -
常见分布式理论(CAP、BASE)和一致性协议(Gosssip协议、Raft一致性算法)
分布式系统只能同时满足CAP中的两种,在设计分布式架构时必须做出取舍,而分区容忍性是基本要求,必须要满足,所以设计分布式系统,就是在一致性和可用性之间取一个平衡。BASE是对CAP中一致性和可用性权衡的结果,核心思想是即使无法做到强一致性,但每个业务根据自身的特点,采用适当的方式来使系统达到最终一致性。原创 2023-03-31 21:56:50 · 245 阅读 · 3 评论 -
【笑小枫-面试篇】Java基础面试题整理,努力做全网最全
Java基础知识面试题整理,你需要的这里都有,赶快点赞收藏,需要的时候看看哟!原创 2023-02-23 11:01:35 · 2451 阅读 · 3 评论 -
金三银四跳槽季,JAVA面试撸题就来【笑小枫】微信小程序吧~
金三银四跳槽季,JAVA面试撸题就来【笑小枫】微信小程序吧~ 扫码进入或者通过微信搜索【笑小枫】,小程序是我,没错,公众号也是我,感兴趣的小伙伴也可以关注下,后续有通知会在公众号第一时间通知大家哟,速速戳进来吧~原创 2023-02-15 18:02:12 · 1290 阅读 · 31 评论 -
【笑小枫的按步照搬系列】JDK8下载安装配置
本文主要讲解了JDK8在windows环境下的下载、安装、已经环境变量的配置,参照本文,你只需要按步照搬,便可快速的安装好JAVA环境。原创 2022-11-28 16:45:51 · 1624 阅读 · 1 评论 -
Swagger的界面太丑,试试knife4j的接口文档吧
SpringBoot项目如果前后端分离,怎么把写好了的接口返回给前端的小伙伴呢,试试这款基于Swagger2的knife4j吧,简直好用到爆!原创 2022-07-04 09:31:45 · 882 阅读 · 1 评论 -
Git常用命令,满足日常开发使用,赶快收藏起来吧
Git常用命令,满足日常开发使用原创 2022-06-22 14:26:24 · 139 阅读 · 0 评论 -
Spring事务解读,一文让你彻底了解事务
本文主要包括事务简介、如何使用、事务传播机制、事务失效场景、以及事务常见的异常分析。让你一文读懂事务。原创 2022-06-20 10:23:17 · 615 阅读 · 1 评论 -
【笑小枫的SpringBoot系列】【十三】JAVA使用EasyExcel导出excel
在java处理excel方便从简单的实现功能到自己封装工具类,一路走了好多,阿里的easyExcel对POI的封装更加精简这里介绍一下简单使用。原创 2022-06-12 16:21:24 · 3754 阅读 · 8 评论 -
【笑小枫的SpringBoot系列】【十二】JAVA使用EasyExcel导入excel
在java处理excel方便从简单的实现功能到自己封装工具类,一路走了好多,阿里的easyExcel对POI的封装更加精简这里介绍一下简单使用。原创 2022-06-12 16:18:07 · 3718 阅读 · 3 评论 -
去掉复杂的逻辑计算,get一下Aviator吧
去掉复杂的逻辑计算,get一下Aviator吧,复杂的计算使用超级香...原创 2022-02-27 20:00:00 · 364 阅读 · 0 评论 -
《笑小枫》工具篇之HttpClient详解
哈喽,大家好,我是笑小枫,今天和大家一起学习一下HttpClient。原创 2022-01-21 22:16:53 · 515 阅读 · 5 评论 -
《笑小枫》玩转SpringBoot之搭建项目
大家好,我是笑小枫,跟我一起玩转SpringBoot项目吧,本文讲一下如何搭建SpringBoot项目。原创 2022-01-20 22:34:54 · 611 阅读 · 0 评论 -
java身份证、手机号、邮箱正则校验工具类
package myjava;/** * 通用的正则校验 * * @author zhangfuzeng * @date 2021/11/19 */public class RegularUtil { private RegularUtil() { } /** * 身份证校验,支持15位和18位身份证校验 * * @param idNumber 身份证号 * @return true:校验通过 false:校验未通过原创 2021-11-19 11:26:03 · 1036 阅读 · 0 评论 -
【工具篇】java导入excel工具类,简单通用,绝对值得你收藏
定义导入的excel模板定义需要导入的EXCEL模板,EXCEL格式变更,只需要变更对应的枚举信息就可以,如果定义多个EXCEL模板,只要定义多个枚举就行package org.web.sales.admin.util.excel;import lombok.AllArgsConstructor;import lombok.Getter;import org.apache.commons.lang3.StringUtils;import org.web.sales.admin.definit原创 2021-11-04 14:47:35 · 6389 阅读 · 1 评论 -
SpringBoot整合WebSocket实现消息推送
文章目录WebSocket简介Java端实现客户端实现WebSocket简介WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条原创 2021-02-19 10:40:53 · 1844 阅读 · 0 评论 -
JAVA文件与base64字符串互相转换工具类
文章目录文件转base64字符串base64字符串转文件文件转base64字符串 /** * 文件转base64字符串 * @param file * @return */ public static String fileToBase64(File file) { String base64 = null; InputStream in = null; try { in = n原创 2020-11-26 17:15:03 · 793 阅读 · 0 评论 -
SpringBoot集成Redis
文章目录SpringBoot集成Redis引入依赖Redis配置常用命令工具类监听redis Key过期的事件SpringBoot集成RedisRedis基础篇引入依赖pom.xml<!-- 引入redis依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&l原创 2020-11-26 17:03:37 · 229 阅读 · 0 评论 -
Redis常用操作(持续补充)
文章目录设置密码Redis常用的操作windows 下设置开机自启动过期时间操作设置ID递增递减Redis使用ip地址访问java使用redis递增Redis分布式锁设置密码# 设置密码CONFIG set requirepass "Hege2213@#$"# 查询密码CONFIG get requirepass# 密码登录AUTH passwordauth HeGe113344.# 访问其他服务上redis。需要在本地装redis客户端redis-cli -h ip地址 -p 6379原创 2020-11-26 16:59:59 · 187 阅读 · 0 评论 -
【工具类】java数字金额转换成大写
public class MoneyUtil { /** 大写数字 */ private static final String[] NUMBERS = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; /** 整数部分的单位 */ private static final String[] IUNIT = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾",原创 2020-11-19 10:09:26 · 2965 阅读 · 0 评论 -
java使用redis递增
如果key在redis中不存在,则会自动初始化生成key,并返回0。public Long getIncr(String key){ RedisAtomicLong redisAtomicLong = new RedisAtomicLong(key, redisTemplate.getConnectionFactory()); return redisAtomicLong.getAndIncrement();}...原创 2020-08-10 17:47:16 · 1968 阅读 · 0 评论 -
java 根据版本号设置展示的编号为为A-ZZ
需求: 版本号从1开始递增,页面展示为A-ZZ 例如: version = 1 ,则 versionDisplay = A version = 27 ,则 versionDisplay = AA具体代码实现如下:public class Test{ public String getVersionDisplay(int version){ if(version < 1){ throw new RuntimeException(.原创 2020-07-30 19:04:51 · 487 阅读 · 0 评论 -
java 自动设置结束时间为n个工作日后的日期
需求:自动设置截止日期为工作日15天需要手动维护节假调休的工作日,以及非周末的节假日例如:5月1号,周四为节假日,则需要维护为节假日5月4号,周天需要调休工作,则需要维护为调休工作日1、定义表结构,维护节假日或工作日CREATE TABLE `holiday_info` ( `id` int(11) DEFAULT NULL COMMENT '主键id', `date_info` varchar(20) CHARACTER SET utf8 COLLATE utf8_g原创 2020-07-30 18:54:46 · 738 阅读 · 0 评论 -
【面试篇】SpringMVC工作流程
基础介绍SpringMVC主要是通过前端控制器controller中的注解来完成请求处理的。前段请求从web.xml中servlet的配置开始,根据servlet拦截的url-parttern,来进行请求转发控制。处理请求的流程首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web原创 2020-07-07 09:31:57 · 6845 阅读 · 4 评论 -
SpringBoot部署在Weblogic步骤详情
SpringBoot版本:2.0.1.RELEASEWebLogic版本:Weblogic 12c本文为测试SpringBoot项目部署在Weblogic服务器上的测试项目。不牵扯到任何的业务逻辑。可以直接将本文重点标注的几个点移至您现有的项目。SpringBoot项目的pom.xml文件:其中需要添加的依赖为:<dependency> <groupId>org.springframework.boot</groupId> <artif.原创 2020-07-02 14:38:06 · 11161 阅读 · 21 评论 -
【工具篇】java导出excel工具类,多种模式自动配置,绝对值得你收藏
小伙伴们工作中有没有导出excel需求呀,这里为大家献上一个风骚的导出excel的工具类。具体怎么风骚,请看文章详情。原创 2020-05-09 11:28:32 · 11582 阅读 · 17 评论 -
海康威视SDK基于JAVA二次开发
项目背景项目中用到了海康威视的摄像机视频服务器。项目要求,要将海康威视的摄像视频同步按时间至我们自己的服务器,并且在项目中记录文件信息。原创 2020-04-29 16:17:02 · 20578 阅读 · 60 评论