
日常积累
文章平均质量分 89
多加点辣也没关系
一个普通的程序猿
展开
-
如何将 Java 应用做成 EXE 的可执行软件
最近使用GUI帮朋友写了一个软件,为了方便他处理工作上的重复性且很麻烦的事情,程序是使用Java写的,就不得不面对一个问题:我必须将这个程序打包成一个可执行的软件给到他,总不能让他下载个IDEA启动或者去通过java -jar这种命令去启动的吧,以下内容就是关于如何将java程序做成一个可执行软件的想法与实现先简单的介绍以下这个项目,主要用到的技术就是GUI。原创 2025-03-29 18:26:53 · 823 阅读 · 0 评论 -
easyExcel - 导出合并单元格
之前有介绍过如何使用 easyExcel,以及写了两个入门的 demo ,这两个 demo 能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇就是关于如何实现导出合并单元格将相同订单号的单元格进行合并将相同订单号的单元格进行合并,且同一订单号的总数和总金额进行合并将相同订单号的单元格进行合并,且同一订单号的总数和总金额进行合并,订单内相同商品分类进行合并,且分类总数和分类总金额根据订单号和商品分类进行合并将表中数据相同部分进行左右合并,上下合并。原创 2024-11-18 23:23:32 · 4669 阅读 · 1 评论 -
RocketMQ 自动注入消费者
之前接到一个需求,我们项目的技术负责人希望通过配置的形式,在项目启动的时候自动根据配置生成对应的消费者觉得还有点意思,随即记录一下~比如我这里有一个消费者@Slf4j@Service@OverrideSystem.err.println("我收到啦~~");在项目启动的时候会根据注解上的配置生成一个消费者假如我还需要一个消费者,其的配置为要设置为8通常情况下我们会再复制一个命名为@Slf4j@Service@OverrideSystem.err.println("我收到啦~~");原创 2024-11-07 21:58:29 · 679 阅读 · 0 评论 -
后端跨域问题的处理
在做前后端分离的项目时,很有可能会遇到这样一种情况:就是在游览器中请求后端的接口,出现了CORS error错误大概的意思就是:跨源资源共享(CORS)策略阻止了来自端口5173的前端应用对运行在端口8860的后端服务的请求。原创 2024-06-14 00:01:49 · 915 阅读 · 0 评论 -
Json-server 的使用教程
可以让前端人员不用去编写后端的代码,就能在本地搭建一个json服务,可用于测试一些业务逻辑,便于调试调用。在前后端分离的开发模式下前端使用模拟数据接口, 这时候 后端接口还没有开发出来, 前端又需要数据进行开发,这种情况下就需要前端先行模拟数据, 等后端接口写好进行targetUrl进行替换。github 地址npm 地址是一个零代码快速搭建本地使用JSON文件作为数据源,通过提供一组简单的路由和端点来模拟后端服务器的行为它允许前端开发人员在不依赖后端API的情况下进行开发,通过本地搭建一个JSON。原创 2024-06-12 00:09:02 · 4909 阅读 · 0 评论 -
Javav-面试 | 消息队列
这种情况就是 RabbitMQ 将消息存放在内存中,当 RabbitMQ 挂掉之后,内存中的消息也丢失了,通常情况下,需要开启 RabbitMQ 持久化,就是消息写入之后会持久化到磁盘中,哪怕 RabbitMQ 自己挂掉了,恢复之后会自动读取之前存储的数据,一般数据不会丢失,除非及其罕见的是,RabbitMQ 在持久化的过程中挂掉了,就可能导致少量的数据会丢失,但这个概率是很小的。如果是大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的,绝对没有问题,社区活跃度也很高,绝对不会黄掉的。原创 2024-05-30 11:06:42 · 1147 阅读 · 0 评论 -
easyExcel - 带图片导出
Java-easyExcel入门教程:https://blog.youkuaiyun.com/xhmico/article/details/134714025之前有介绍过如何使用 ,以及写了两个入门的 ,这两个 能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇讲述的是如何实现带图片导出在实际的开发过程中可能会遇到需要带图片导出的表格,比如以下案例:如果有多张图片要放在一个单元格中,并且单元格随着图片数量自动扩宽关于如何实现带图片导出的功能,在官方文档中有一个简单的说明:官方原创 2024-04-25 11:54:24 · 9787 阅读 · 10 评论 -
easyExcel - 动态复杂表头的编写
之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇讲述的是如何实现复杂表头编写在实际的开发过程中可能会遇到需要导出一些带有复杂表头的表格,比如以下案例:该表头占了两行,其中橙色部分的信息是需要动态生成的根据官方实现复杂表头的写法,自定义输出对象为。原创 2024-04-09 11:07:43 · 13006 阅读 · 2 评论 -
easyExcel - 按模板导出
之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇是如何使用模板实现导出功能在实际的开发过程中可能会遇到需要导出一些带有复杂表头的表格,比如:工资表和考勤表或者是类似于发票、报价单这种具有模板性质的表格如果仅仅通过代码去实现是比较困难的,通常情况下会写一个模板excel,模板中的需要变动的数据用占位符替代,导出的文件按照该模板填充数据easyexcel① 读取模板文件。原创 2024-04-08 17:43:30 · 19926 阅读 · 3 评论 -
Maven 导入本地 jar 包
最近项目中有跟第三方对接,需要引入第三方的jar包到本地,所以记录下Maven如何导入的本地的jar包目前以及将第三方的jar下载好了,静静的躺在我的文件夹下这里默认都安装了Maven了。原创 2024-04-02 15:01:16 · 924 阅读 · 0 评论 -
easyExcel-读取合并单元格
之前有介绍过如何使用easyExcel,以及写了两个入门的demo,这两个demo能应付在开发中大多数的导入和导出需求,不过有时候面对一些复杂的表格,就会有点不够用,该篇就是关于我如何处理表格中的合并单元格的一个开发过程记录以下内容是结合Java-easyExcel入门教程中的案例代码去实现的,可能与你项目中所使用的会有点不同假如说你有一个表格的数据想要导入到系统中,在通常情况下,面对标准的表格文件,比如:表头和内容都比较工整,每个单元格对应一个数据,通过Java-easyExcel入门教程。原创 2024-03-21 15:54:39 · 10186 阅读 · 5 评论 -
Java-布隆过滤器的实现
如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路,但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢 (O(n)O(logn)不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射成一个位阵列(Bit array)中的一个点。这样一来,我们只要看看这个点是不是1就可以知道集合中有没有它了。于是乎,布隆过滤器便应运而生了。原创 2024-01-10 22:21:20 · 1499 阅读 · 0 评论 -
Java-网络爬虫(一)
在大数据时代,信息采集是一项重要的工作,而互联网中的数据是海量的,如果单纯靠人力进行信息获取,不仅低效繁琐,而且搜集的成本也会提高,如何自动高效地获取互联网中的数据是一个重要的问题,而爬虫技术就是针对这些问题而生的。网络爬虫(Web crawler)又称为网络蜘蛛或网络机器人,是一种自动化程序,用于在互联网上浏览和抓取信息,是互联网时代一项普遍运用的网络信息搜集技术。该项技术最早应用于搜索引擎领域,是搜索引擎获取数据来源的支撑性技术之一。原创 2024-01-02 17:43:44 · 3543 阅读 · 0 评论 -
mybatis-plus中更新null值的问题
本文主要介绍 mybatis-plus 中常使用的 update 相关方法的区别,以及更新 null 的方法有哪些等。至于为什么要写这篇文章,首先是在开发中确实有被坑过几次,导致某些字段设置为 null 值设置不上,其次是官方文档对于这块内容并没有提供一个很完善的解决方案,所以我就总结一下。关于 Mybatis-plus 这里我就不多做介绍了,如果之前没有使用过该项技术的可参考以下链接进行了解。原创 2023-09-23 10:10:56 · 22901 阅读 · 3 评论 -
Java-根据模板生成PDF
在有些场景下我们可能需要根据指定的模板来生成 PDF,比如说合同、收据、发票等等。因为 PDF 是不可编辑的,所以用代码直接对 PDF 文件进行修改是很不方便的,这里我是通过itext和来实现的,以下就是具体实现方法。个人觉得代码实现起来不是很难,关键是要知道如何使用工具设置 PDF 模板以及itext的一些 API 的使用,以后有时间我会出一篇关于iText的博客,主要介绍iText在日常开发中的主要应用。为何选择iText?原创 2023-09-20 10:50:43 · 7674 阅读 · 12 评论 -
Java-生成数据库设计文档
开源地址官方文档已经详细介绍了screw的特点、功能以及使用,这里我也只是搬运了一下而已 ~~screw简洁、轻量、设计良好多数据库支持多种格式文档灵活扩展支持自定义模板MySQLMariaDBTIDBOracleSqlServerPostgreSQLhtmlwordmarkdownhtmlwordmarkdown引入依赖原创 2023-07-18 10:54:57 · 1125 阅读 · 0 评论 -
Java-通过IP获取真实地址
最近写了一个日志系统,需要通过访问的 IP 地址来获取真实的地址,并且存到数据库中,我也是在网上看了一些文章,遂即整理了一下供大家参考。原创 2023-07-12 13:35:09 · 8336 阅读 · 2 评论 -
Java-反射
为什么要学习反射?从语言的设计角度来考虑,反射使 Java 具备动态性,我们可以让程序在运行期才确定执行的结果,在不修改源码的情况下来扩展功能或者是控制程序Java是一门面向对象的语言,封装是面向对象的一个特性,它允许抽象的类把自己的数据和方法只让可信的类或者对象进行操作,对不可信的进行信息隐藏(private修饰),而反射能够使我们去操作这些私有的变量和方法反射是Java的灵魂,没有反射,甚至Spring的那些框架也不复存在,学习反射是为了之后去读一些框架的底层源码更容易理解。原创 2023-05-07 00:43:23 · 599 阅读 · 0 评论 -
Java-代码生成器的实现
最近看了一个开源的项目,,然后这个项目里面有一个代码生成器的功能之前虽然有用过代码生成器,但是从来没有看过相关的源码,所以就研究了一下,个人感觉这个项目的代码生成器还是蛮好的,能够根据指定的数据库和表生成前后端的代码,不过这个项目的框架是jfinal,直接把这个代码生成器相关的代码拷到自己的项目当中是运行不起来,而且每个项目的结构都存在一些特有的性质,很难找到一个拿来就能用的代码生成器,介于这一点,我就根据自己项目的架构,利用jfinal。原创 2023-04-27 11:36:27 · 4394 阅读 · 0 评论 -
Java-初识 .class 文件
全名称为Java class文件,主要在平台无关性和网络移动性方面使Java更适合网络。该文件打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而class文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件。当我们对一个 Java 源程序进行javac编译后就会生成class文件。就以使用javac编译。原创 2023-04-13 15:42:15 · 12082 阅读 · 0 评论 -
Java面试题总结
【Java最全面试攻略】-- 周瑜【面试突击班】-- 左神【Java面试】-- Mic有时间的话可以去看看以上 UP 主分享的原视频,我这里只是做了一点点搬运的工作。CAS 是 Java 中 Unsafe 类里面的一个方法,它的全称是叫 CompareAndSwap,比较并交换的一个意思,它的主要功能是能够去保证在多线程的环境下,对于共享变量修改的一个原子性。// 多线程环境中,存在原子性问题 state = 1;有一个成员变量state,它的默认值是 0 ,其中定义了一个方法doSome()原创 2023-03-04 11:28:39 · 981 阅读 · 0 评论 -
一次查询的全过程
比方说我这里有一个订单系统,一条查询请求发送过来,它内部是怎么执行的呢?原创 2023-02-27 14:57:59 · 298 阅读 · 0 评论