自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 JUC入门重要知识点

本文摘要:JUC入门知识点包括线程分类、多线程编程步骤和Lock接口。用户线程是普通线程,守护线程运行在后台;多线程编程需创建资源类、定义方法、创建线程并防止虚假唤醒。Lock与Synchronized的区别在于Lock是接口,需手动释放锁,可响应中断,能提高读效率。通过售票案例展示了Synchronized和Lock的实现方式。

2025-11-24 09:33:33 928

原创 Java中如何替换掉if-else(策略+枚举)

以上便是策略+枚举来解决if-else的方法,这样写代码耦合度变低了,也更加简洁了,扩展性也很强,比如以后有了个星期八(只是举个例子),是不是我们只需要,在枚举中再创建一个实例,就不用改代码了。举个例子吧,比如说每周有7天,我每天都回家做不同的菜,根据入参1-7代表周一到周日,提醒我今天该做什么菜了,那么我们就使用if-else来实现的话,代码是这样的。这样我们就可以根据不同的dayOfWeekValue获取到相应的枚举了,接下来的步骤就是重点了,我们在枚举中定义一个抽象方法,作为做菜的行为。

2024-03-16 21:33:39 2087 1

原创 Java中的 “==” 与 equals 的区别

在Java中有两大类数据类型,一类是基础数据类型共有八种分别是byte、 short、 int、 long、 float、 double、 char、boolean,另一类则是引用数据类型,例如String、Integer等等。“ == ” 作为比较运算符,是用于比较两个值是否相等的,但是在比较基础数据类型和引用数据类型时是不一样的。我们可以看到返回结构为true,说明 a 和 b的值是相同的那如果比较两个引用数据类型呢?

2024-03-14 21:41:30 513 1

原创 Java基于itextPDF实现pdf动态导出

现在的业务越来越复杂了,有些业务场景已经不能满足与EXCEL导出和WORD导出了,例如准考证打印,电子证书等等,这些都是动态数据导出的PDF。接下来我们就看一下怎么实现PDF的动态导出吧。

2023-11-14 09:21:24 2162

原创 minio + linux + docker + spring boot实现文件上传与下载

p: 指定端口映射,格式为:主机端口:容器端口 (这里注意要映射两个,否则API会访问不到)接下来我们可以通过以下命令来查看 minio console和minio api 访问端口。注意 minio.endpoint 是minio API地址,不是控制台地址。-e “MINIO_ROOT_USER=vinci” minio用户名;-e MINIO_SECRET_KEY=123456 minio 密码。minio.bucket-name 是 bucket的名称。minio.secret-key是密码。

2023-10-27 14:13:44 1665 7

原创 Java中在循环体内拼接字符串时为什么使用StringBuilder而不是String

速度是 + String 的 两百多倍,极大的优化了执行效率。循环体内,字符串的连接方式,请使用 StringBuilder 的 append 方法进行扩展。说明:因为反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行。同样的逻辑,我们接下来使用StringBuilder 的append()进行拼接来跑一遍。我们使用for循环100000次来拼接一个字符串,并打印这段的运行时间,单位(ms)因此,在循环中拼接字符串的大部分场景下我们最好的选择一定是后者。

2023-10-12 17:24:07 479

原创 在Java中为什么不建议使用Object的clone()来拷贝对象

最近阅读了《阿里巴巴Java开发手册》一书,书中提到了不推荐使用Object对象的clone()方法来对对象进行拷贝,因为Object的clone()方法默认是浅拷贝,原文如下:【推荐】慎用Object的clone方法来拷贝对象。说明:对象的clone方法默认是浅拷贝,若想实现深拷贝需要重写clone方法实现属性对象的拷贝。

2023-09-25 08:46:41 492

原创 SpringMVC中Controller层获取前端请求参数的几种方式

可以使用@PathVariable注解获取url地址栏指定位置参数,url中的参数名需和controller形参一致,或是使用@PathVariable注解的value属性进行映射,在写@XXXMapping注解中的url时参数名需要使用 { } 括起来。只要参数类型和参数名与方法形参相同,则会自动绑定。在controller层方法中定义形参,若请求时参数名、参数类型相同,则SpringMVC会自动绑定。接下来使用PostMan进行测试发现,传值则接收到值,不传值则使用默认值。PostMan测试结果。

2023-08-24 12:32:00 1471

原创 使用EasyExcel实现Excel表格的导入导出

Java解析、生成Excel比较有名的框架有Apachepoi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POIsax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;

2023-08-18 14:19:20 5436 4

原创 Vue2仿网易云风格音乐播放器(附源码)

实现了搜索歌曲功能,输入歌手或歌曲关键字可获取对应的内容实现了歌曲播放功能,点击歌名或左侧超链接可播放对应的歌曲实现了封面黑胶旋转效果,歌曲播放时旋转,歌曲未播放时停止旋转实现了展示歌曲热门评论的功能,会显示当前歌曲排名前20的热门评论实现了播放MV的功能,点击右侧超链接弹出播放MV

2023-02-09 20:28:12 5612 5

原创 【数据结构】队列

因此,队列判空的条件是front = = rear,

2022-12-28 09:28:14 5878

原创 【数据结构】时间复杂度的计算方法

频度函数 f(n) 计算程序的频度之和。我们通常把程序执行的次数叫做频度。

2022-12-19 18:13:59 3558

原创 Java实现短信发送

首先,我们要实现Java短信发送功能需要去申请第三方短信接口,以阿里云为例点击跳转在API市场中找到短信验证码接口:我们可以先选择免费试用来测试:点击立刻购买后可前往控制台查看:OK,一切就绪后我们开始测试使用。首先我们先回到商品详情页,在商品详情页下面,说明了这个接口的调用地址以及请求参数等:接下来我们通过实例来调用接口进行测试:1、加入相关依赖具体可参考:相关依赖2、创建HttpUtils.java类HttpUtils.java类官方也已经帮我们封装好了,我们可以直接前往

2022-12-07 16:38:54 12745 2

Java生成图片验证码工具类源码

源码提供了一个生成图片验证码的工具类,适用于各种需要验证码的场景,如用户注册、登录等。该工具类使用随机字符生成验证码,并支持自定义验证码长度和字体样式。生成的验证码图片背景透明,线条清晰,可轻松辨认。本源码包含了工具类源码及调用示例,可供开发者参考使用,集成到您的项目中。

2023-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除