
Java
文章平均质量分 71
Java开发中遇到一些问题和技术上的分析
徐州蔡徐坤
学习时长两年半,喜欢唱跳rap篮球的java后端开发
展开
-
基于 JAXB 注解方式解析 XML 文件与批量导入实现
本文以实际的项目需求为例,分享如何基于实现 XML 文件的解析,并将解析后的数据导入数据库本文主要使用的javax.xml是 Java 自带的包,通常用来处理 XML 和 Java 对象之间的转换。具体来说,这些类属于,用于将 Java 对象序列化为 XML,或者将 XML 反序列化为 Java 对象。被迁移到了模块化系统,并且从 JDK 11 开始默认支持。如果你使用的 JDK 是 11 或以上版本,需要通过添加外部依赖来使用这些类原创 2024-11-29 11:52:16 · 1149 阅读 · 0 评论 -
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。原创 2024-11-21 09:16:59 · 1148 阅读 · 0 评论 -
低危漏洞修复——点击劫持X-Frame-Options响应头缺失
X-Frame-Options响应头缺失,导致攻击者使用一个或多个透明的iframe覆盖在正常网页上,诱使用户在网页上进行操作,当用户在不知情的情况下点击透明的iframe页面时,用户的操作已被劫持到攻击者事先设计的恶意按钮或链接上。原创 2024-07-11 16:00:34 · 2009 阅读 · 0 评论 -
在 IntelliJ IDEA 中使用 Java 和 Selenium 模拟 Chrome 浏览器教程
Selenium 是一个流行的自动化测试工具,支持多种浏览器平台。它的灵活性和丰富的功能使其非常适合测试各种类型的网页应用。虽然关于 Selenium 和 Java 的资料较少且分散,但 Java 爬虫其实非常方便,只要多看源码就能掌握。环境准备:配置 Java 开发环境、下载并安装 ChromeDriver、设置 Chrome 浏览器和 ChromeDriver 版本一致、禁用 Chrome 自动更新原创 2024-06-23 12:04:59 · 2082 阅读 · 0 评论 -
Windows安装配置jdk和maven
tm的远程连接不上公司电脑,只能在家重新配置一遍,在此记录一下后端环境配置。本文主要介绍jdk安装配置,maven安装配置原创 2024-06-19 17:19:08 · 1504 阅读 · 0 评论 -
SpringBoot 大文件基于md5实现分片上传、断点续传、秒传
这篇文章介绍了在 SpringBoot 中实现大文件分片上传、断点续传和秒传的方法。分片上传通过将大文件分成多个小块,提高上传可靠性和效率;断点续传允许在上传失败后从断点处继续上传;秒传则通过文件哈希值判断文件是否已存在,避免重复上传。文章详细描述了前端使用 WebUploader 实现分片上传,后端保存分片文件并在全部上传完成后合并的步骤,同时提供了可运行的前后端源码。原创 2024-06-14 10:07:54 · 1618 阅读 · 2 评论 -
处理导入Excel文件过大导致Zip bomb detected的问题
此错误提示文件大小超过了压缩文件大小与解压后数据大小之比的最大限制,为了处理这一问题,可以在方法体的顶部添加一行代码来调整这一限制。调整垃圾回收器的设置,以提高内存管理的效率,例如,可以使用G1垃圾回收器。和增加堆内存大小外,还有一些优化策略可以帮助处理大文件。原创 2024-06-14 10:00:35 · 2227 阅读 · 0 评论 -
问题解决:Caused by: org.xml.sax.SAXParseException: 文档根元素 “service“ 必须匹配 DOCTYPE 根 “null“。
你个憨熊是不是建立也建立了一个application.xml的文件?改名就好了原创 2024-04-26 17:23:47 · 517 阅读 · 1 评论 -
Java使用aspose-words实现word文档转pdf
相比较与使用openoffice需要安装并且需要引入多个jar文件,使用aspose只需要一个jar文件即可,而且转换之后排版不混乱原创 2024-04-10 17:19:34 · 3386 阅读 · 5 评论 -
Java使用OpenOffice将office文件转换为PDF
OpenOffice: OpenOffice是一套跨平台的办公室软件套件,功能非常强大,适用windows、linux、mac等各大平台,简单来说Office能做到的OpenOffice也基本都能做到。JODConverter: 是一个Java的OpenDocument文件转换器,可以进行许多文件格式的转换。它依赖于OpenOffice.org或者LibreOffice提供的服务来进行转换,它能将Microsoft Office文档(Word,Excel,PowerPoint)转换为PDF格式。原创 2024-04-10 16:45:10 · 3859 阅读 · 1 评论 -
压力测试工具JMeter的下载安装与基础使用(一)
JMeter是用java开发的,示例Apache JMeter5.5版本需要jdk1.8以上的环境。首先检查当前是否安装jdk,win+r 输入cmd,打开窗口后输入 java -version,如下即表示环境ok。原创 2023-04-17 22:46:36 · 1127 阅读 · 1 评论 -
Centos7安装jdk8教程——rpm安装
本文主要介绍在centos7下使用rpm方式安装jdk原创 2023-08-06 14:03:55 · 1261 阅读 · 0 评论 -
Springboot使用pdfbox提取PDF图片
PDFBox是一个用于创建和处理PDF文档的Java库。它可以使用Java代码创建、读取、修改和提取PDF文档中的内容。PDFBox的功能:Extract Text - 使用PDFBox,您可以从PDF文件中提取Unicode文本。Split & Merge - 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。Fill Forms - 使用PDFBox,您可以在文档中填写表单数据。Print - 使用PDFBox,您可以使用标准Java打印API打印PDF文件。原创 2023-06-17 16:25:44 · 5840 阅读 · 6 评论 -
解决在谷歌浏览器下载时文件名包含逗号导致页面显示网页不可用问题
该问题是谷歌浏览器的一个bug,因此我们设置响应头时,对于filename加上引号处理设置响应头Content-Disposition中实际效果如:content-disposition=attachment;fileName="原文件名称"原创 2023-06-04 18:13:47 · 1449 阅读 · 0 评论 -
Java内存模型和常见的内存溢出类型及解决方案
本文主要介绍Java 运行过程和内存分配、内存溢出类型等。包括java内存中的元空间(MetaSpace),堆区(Heap),虚拟机栈(VM Stack),本地方法栈(Native Method Stack),程序计数器(Program Counter Register)。关于内存溢出方面:栈内存溢出(StackOverflowError),堆内存溢出(OutOfMemoryError:java heap space),永久代溢出(OutOfMemoryError:PermGen sapce)原创 2023-06-04 11:18:27 · 2988 阅读 · 1 评论 -
IntelliJ IDEA使用Alibaba Java Coding Guidelines编码规约扫描插件
Alibaba Java Coding Guidelines 是编码规约扫描插件,专注于Java代码规范,目的是让开发者更加方便、快速规范代码格式。该插件主要有以下特点 1. 扫描代码后,将不符合规约的代码按 `Blocker、Critical、Major` 三个等级显示出来,并且给出编码修改建议 2. 基于 Inspection 机制提供了`实时检测`功能,编写代码的同时也能快速发现问题所在原创 2023-05-29 21:36:02 · 4203 阅读 · 0 评论 -
Java使用xlsx-streamer和EasyExcel解决读取超大excel数据时OutOfMemoryError的问题
最近有个项目在生产环境做数据导入时,发现开始执行导入任务会出现cpu狂飙的情况。几番定位查找发现是在读取excel的时候导致此问题的发生,因此在通常使用的为POI的普通读取,在遇到大数据量excel,50mb一行或数十万行的级别的数据容易导致读取时内存溢出或者cpu飙升。以及解决Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded原创 2023-05-22 15:07:53 · 6038 阅读 · 2 评论 -
MultipartFile与File的互转
需求是上传Excel文件并读取Excel文件中的内容,根据获取的数据执行完某些业务操作后再将一些数据写回到excel中。前台使用FormData表单的方式请求后台,后台接收类型是MultipartFile,放置文件过大时会造成内存溢出需要转换为File类型。原创 2023-03-12 19:15:54 · 12675 阅读 · 1 评论 -
servlet简介及其生命周期详解
简介 Servlet生命周期,即阐述Servlet从产生到毁灭的整个过程。 在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求的方法service(),终止方法de...转载 2019-04-12 16:59:34 · 298 阅读 · 0 评论 -
Java -- JSP面试题及答案
JSP方面 1、forward 和redirect的区别forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,其实客户端浏览器只发了一次请求,所以它的地址栏中还是原来的地址,session,request参数都可以获...转载 2019-04-13 11:16:57 · 1347 阅读 · 0 评论 -
如何校验两个ipv6的ip范围存在交集
存在两个ipv6范围,如何判断两个ipv6范围之间存在交集 主要思路是根据NetUtil.createByteArrayFromIpAddressString()方法将ipv6地址转换为byte[],然后转换为BigInteger对象进行处理,这里的BigInteger 对象的比较是使用compareTo方法,如果是大于或相等,就返回1或0原创 2022-10-25 13:56:08 · 762 阅读 · 0 评论 -
Java后台+PDF.js 实现pdf分页加载的后端实现
主要解决大体积pdf在线浏览加载缓慢,影响用户体验的问题技术栈为:SpringBoot、Vue、pdfjs主要核心思路:前端请求时请求头附带请求范围range及读取大小,后端根据请求头返回相应的pdf文件流。原创 2022-08-19 15:57:32 · 4034 阅读 · 4 评论 -
list去重的五种方式
1.Stream去重 最好使! list = list.stream().distinct().collect(Collectors.toList());原创 2022-08-11 17:22:46 · 1418 阅读 · 0 评论 -
解决idea报错:Cannot access com.xxxx
Idea本地缓存异常,导致Idea无法识别Maven依赖,从而无法找到某些类。只需要删除原来的缓存和索引,等待Idea重新构建缓存和索引原创 2022-06-04 18:07:34 · 2368 阅读 · 0 评论 -
mysql表之间关联查询报错:1267 - Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_c
1.问题描述:在进行两个数据表联合查询时,由于数据库编码不一致,导致查询的时候报错1267 - Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and(utf8mb4_general_ci,IMPLICIT) for operation ‘=’2.问题解决需要增加关联字段的转换即可语法convert(‘column’ using’ utf8)SELECTdc.id,dc.data_id,dc.data_ruid,dc原创 2022-04-27 17:39:07 · 5612 阅读 · 1 评论 -
如何代码进行单元测试?
1.我们在验证自己代码的运行是否与预期运行结果一致时,往往在main函数里面调用自己写的方法运行,这是比较常用的一种方法。2.如果我们不使用main方法进行测试呢?以数据库连接为例,写一个测试类,包含一个主函数这是常用的方法package com.zhouquan.jdbc.util;import java.sql.Connection;import java.sql.PreparedSt...原创 2019-01-28 19:50:47 · 10674 阅读 · 1 评论 -
VMware中CentOS 7网络配置(十分钟解决)
直接去看原文:##原文链接:https://blog.youkuaiyun.com/qq_38531678/article/details/83988475配置环境说明:主机系统为win10、虚拟机为VMware Workstation 14Pro中文版、虚拟机中的linux系统为CentOS 7 64位。1、 设置虚拟机的网络连接方式:配置虚拟机的NAT模式具体地址参数:(1)编辑–虚拟网络编辑器–更改设置(2)选择VMnet8–取消勾选使用本地DHCP–设置子网IP–网关IP设置(记住此处设置,后转载 2022-03-22 22:10:23 · 4825 阅读 · 0 评论 -
Map集合如何按照put进去的值的顺序遍历
转载:https://www.cnblogs.com/qlqwjy/p/8046715.htmlimport java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinkedHashMap {public stat...转载 2019-09-05 17:04:50 · 4490 阅读 · 0 评论