自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 资源 (5)
  • 收藏
  • 关注

原创 ObjectMapper[jackson]常用配置及异常处理

Jackson 的 `ObjectMapper` 是一个功能强大且灵活的工具,通过正确配置特性,你可以精确控制 JSON 序列化和反序列化的行为。然而,在实际使用过程中,难免会遇到各种异常。了解并掌握这些异常的排查方法,可以帮助你更快地定位问题,并提高开发效率。

2024-09-03 18:41:52 1077 1

原创 DH&ECDH密钥交互算法

在现代通信中,数据的安全性至关重要。无论是网络浏览、电子邮件,还是移动支付,保护数据不被窃听和篡改都是首要任务。密钥交换是保障通信安全的关键技术之一,其中最著名的两个算法是 Diffie-Hellman (DH) 和 椭圆曲线 Diffie-Hellman (ECDH)。本文将详细探讨这两种密钥交换算法的原理、实现以及它们的优缺点。

2024-08-26 16:39:00 1221

原创 分布式环境下动态管理RabbitMq队列及常见问题

Rabbitmq分布式状态下管控应用

2024-07-20 15:03:20 1074

原创 你的程序真的被中断了吗?

如果中断标志位没有被清除,阻塞操作会不断抛出异常,可能导致线程陷入异常循环中。清除中断标志可以避免这种情况,让程序在捕获异常后重新决定是否继续处理中断。当这个异常被抛出时,Java 会自动清除线程的中断标志。在 Java 中,清除中断标志位是为了防止异常无限抛出,使得中断处理变得更为明确和可控。开发者可以在异常处理代码中明确如何处理中断:是忽略中断、恢复中断标志,还是进行其他操作。误以为中断标志一直存在:有些开发者误以为中断标志会一直存在,导致在代码逻辑中没有适当地重新检查和设置中断标志。

2024-06-30 13:49:52 369

原创 自定义Future+AQS实现异步转同步

AbstractQueuedSynchronizer,作为 Java 并发包中的一个核心类,是构建锁和其他同步组件的基础。它使用一个 int 成员变量来表示同步状态,并通过内置的 FIFO 队列来管理线程的阻塞和唤醒。AQS 的主要作用是作为构建锁和其他同步器的基础。例如,ReentrantLock、CountDownLatch 和 Semaphore 等都是基于 AQS 实现的。决定同步器是在独占模式还是共享模式下工作。根据需要覆写tryAcquiretryRelease和方法。根据需要覆写。

2024-01-28 17:04:28 831

原创 web开发常见安全漏洞

本文深入探讨了Web安全的当前状态,重点关注了几种最常见的Web安全漏洞,包括跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)、服务器端请求伪造(SSRF)和分布式拒绝服务(DDoS)攻击。

2023-12-09 14:24:33 1195

原创 本地idea远程调试服务器程序

本文主要介绍idea本地调试远程服务器程序的方式。相信很多同行跟我一样,在最初接触公司项目的时候,遇到测试提出的缺陷,往往会在本地进行调试、替换jar包远程调试等方式,本地调试往往会导致数据和环境不一致的问题使得问题无法复现,替换jar包也回因为需要替换的模块可能涉及其它功能,产生冲突。接下来先简单说下本地远程调试服务器程序的应用场景及优势。

2023-11-05 15:27:43 1594 1

原创 Spring源码编译过程

Spring Framework是一个非常受欢迎的Java开发框架,提供了丰富的功能和组件,用于构建企业级应用程序。通过深入学习和理解Spring的源代码,您可以更好地理解框架的内部工作原理,并在需要时进行自定义和扩展。idea的kotlin插件版本要与源码中build.gradle的kotlin版本统一,否则会出现很多莫名的报错。1.在编译Spring源码之前,您需要配置适当的开发环境。将gradle路径修改为本地下载路径,可以在编译时直接加载,避免再从网络上进行下载。在build.gradle中搜索。

2023-09-25 19:11:43 226

原创 大数据学习技术栈及书籍推荐

这种分布式存储和计算的方式使得Hadoop能够处理大规模数据集,并提供高可靠性和容错性,即使某个节点发生故障,数据仍然可以被恢复和处理。同时,Flink也支持批处理作业,可以处理有界的数据集。hadoop集群配套相关组件有很多,常用的组件有 Hive , Spark , Kafka ,Flink,ES, Storm等,下面不针对每一个组件进行展开介绍,仅推荐相关学习书籍,可针对自己的需求进行学习。它提供了一系列的工具和组件,帮助用户管理数据、执行复杂的数据处理任务,并从数据中提取有价值的信息和洞察。

2023-09-23 13:48:14 774

原创 websocket服务端实现

创建了一个名为 WebSocketServer 的类,并使用了 @Component 注解将其声明为一个 Spring 组件。在类中,使用了四个注解来处理 WebSocket 的生命周期事件:@OnOpen、@OnMessage、@OnClose 和 @OnError。其中,@OnOpen 表示 WebSocket 连接建立时触发的事件,@OnMessage 表示收到消息时触发的事件,@OnClose 表示连接关闭时触发的事件,@OnError 表示出错时触发的事件。

2023-04-12 23:14:09 443 1

原创 websocket客户端实现(java)

在构造函数中,我们首先创建了一个 ClientEndpointConfig.Configurator 对象,重写了其中的 beforeRequest() 方法,用于在请求之前设置请求头。最后,我们调用 container.connectToServer() 方法时,将 ClientEndpointConfig 对象作为参数传入,用于配置 WebSocket 客户端连接时的请求头。需要注意的是,不同的 WebSocket 客户端实现可能需要使用不同的 API 来设置请求头,具体请根据实际情况进行修改。

2023-04-12 22:46:55 3397

原创 大语言模型汇总(ChatGPT、盘古、通义、文心一言、混元)

大语言模型,包括 NLP 大模型、CV 大模型、多模态大模型、科学计算大模型等。其可以支持多种自然语言理解和生成任务,如文本生成、文本分类、问答系统等,也可以应用于多个领域,如医疗、工业、交通、气象等。

2023-04-09 23:01:16 15949

原创 JPA更新部分字段方式

JPA部分字段更新

2023-03-20 19:04:39 5077

原创 Mybatis-plus自动生成sql语句在实体字段中加入_和字母自动小写

Mybatis中实体与数据库字段映射大小写问题

2022-07-28 16:12:37 1776

原创 EditPlus安装

Editplus安装

2022-07-01 17:37:57 718 1

原创 Windows11出现无WiFi或WiFi经常断掉无法显示的问题

Windows11出现WiFi消失

2022-07-01 11:15:02 4190 1

原创 Linux环境下执行脚本时报错:/bin/bash^M: 坏的解释器: 没有那个文件或目录

错误主要原因是Windows和Linux下的换行符号不同,如果在Windows上编写的shell脚本,其换行符号是\n\r,而Linux下是\n,因此需要去掉\r.执行如下指令即可sed -i 's/\r$//' 你的脚本名称.sh

2021-11-09 09:57:50 1148

原创 java的int[] array、List<Integer>、Set<Integer>互转

public void test(){ int[] array = {1, 2, 3, 4, 5, 6, 7}; /*int[]转list*/ //方法一:需要导入apache commons-lang3 jar List<Integer> list = Arrays.asList(ArrayUtils.toObject(array)); //方法二:java8及以上版本 List&l...

2021-11-01 09:40:57 858

转载 java的List集合去重总结

法一:使用List的contains方法/**使用List集合contains方法循环遍历(有序) * * @param list * */public static List removeDuplicationByContains(List<Integer> list) { List<Integer> newList =new ArrayList<>(); for (int i=0;i<list.size();i++) {

2021-10-22 16:17:14 206

原创 Matplotlib画图中文显示乱码的解决方法

1.首先在C:\Windows\Fonts下查找是否有所要字体,这里使用的是常规楷体右键属性获取其名称 这里是simkai.ttf2.在程序中定义Matplotlib的字体管理,这里将其命名为zhfont1,代码如下:hfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simkai.ttf')在绘图中出现中文的地方加上字体设置,如下代码:plt.legend(prop=zhfont1)...

2021-10-17 15:03:10 281

原创 java将int数组转化为Integer数组

这里使用java8的stream来进行转化,详细步骤如下所示://初始化int数组int[] nums = {1,2,3,4,5,6};//将int数组转换为数值流IntStream stream = Arrays.stream(nums);//流中的元素全部装箱,转换为Integer流 Stream<Integer> integerStream = stream.boxed();//将流转换为数组Integer[] integers = integerStream.toArra

2021-10-09 10:57:58 7235

原创 科研文章检索平台推荐

AMiner是清华大学2006年创立的平台,可以提供国内科研人员对于各个期刊、会议论文的检索,方便查找想要了解的会议相关论文。https://www.aminer.cn/

2021-09-17 11:12:13 273

原创 解决IDEA代码编辑页面中文乱码或不规范得问题

这里主要是写出自己感觉比较好得一个设置方法,基于UTF-8来进行设置,当然肯定也有更好得设置,仅供参考。第一步:在File Encodings里面将其对应位置修改如下第二步:在Font中修改为如下编码格式最终修改完后得效果如下所示:当然以上位置还有很多字体库可以设置,大家可以自行探索,找到适合自己的。...

2021-08-19 16:46:52 487

原创 Idea 行注释设置,不从行首开始,在代码之前

在idea的初始化设置中,使用注释快捷键,会出现如下的情况,//注释符出现在行首,显得整体页面很乱后面我想将其调整为如下(不加space)所示:加入space个人建议第二种,更为清晰美观。具体设置步骤如下:进入 Settings -> Code Style -> Java ,找到 “Code Generation” Tab,然后找到 Comment Code ,将(如图中红色箭头所指向得两个复选框去掉)Line comment at first columnBlock com

2021-08-19 16:32:43 2915 7

原创 No qualifying bean of type ‘com.suming.crowd.service.api.AdminService‘ available: expected at least

问题描述:出现以上问题的主要原因还是AdminService没有加载到容器中,我遇到这个问题无非就是以下几种情况,来进行逐一排查:1.可能存在相同的bean2.是否开启扫描,3.是否加载当前bean4.是否加载xml配置5.是否扫描出问题,或者没有扫描到当前类我遇到的问题如下所示:很明显是service没有加载成功,按照上述步骤进行排查,我的问题就是web.xml的配置导致没有成功加载spring-persist-mybatis和spring-persist-tx配置文件,由于servi

2021-07-22 13:41:29 718

原创 tomcat启动错误排查方法

tomcat启动失败,没有有效提示信息,不能解决问题,这时候需要获取更加详细的项目信息。在不能成成功部署的项目目录下WEB-INF/classes创建logging.properties文件,内容为:org.apache.catalina.core.ContainerBase.[Catalina].level=INFOorg.apache.catalina.core.ContainerBase.[Catalina].handlers=java.util.logging.ConsoleHandler

2021-07-21 21:12:16 488

原创 mybatis连接mysql8.0版本报错:Could not create connection to database server.

1.更新mysql-connector-java版本:<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</versi

2021-07-21 10:16:37 521

原创 idea配置SSM出现Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession

主要解决方式有以下几种一、缺少jar包解决方法:在pom.xml文件导入jar包<!-- MyBatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version></dependency><!-- MyBat

2021-07-21 10:06:50 1478

原创 java遍历map、map键排序、值排序

一、遍历mappublic static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通

2021-07-04 13:34:33 531

原创 螺旋矩阵求解

描述给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。示例1输入:[[1,2,3],[4,5,6],[7,8,9]]返回值:[1,2,3,6,9,8,7,4,5]import java.util.*;public class Solution { ArrayList<Integer> list = new ArrayList<Integer>(); public ArrayList<Integer> s

2021-07-02 18:08:00 155

原创 买卖股票的最好时机题解

描述假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。示例1输入:[1,4,2]返回值:3解法一:动态规划import java.util.*;public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ public int

2021-07-02 14:39:21 367

原创 LCP 07. 传递信息

小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下:有 n 名玩家,所有玩家编号分别为 0 ~ n-1,其中小朋友 A 的编号为 0每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传信息的关系是单向的(比如 A 可以向 B 传信息,但 B 不能向 A 传信息)。每轮信息必须需要传递给另一个人,且信息可重复经过同一个人给定总玩家数 n,以及按 [玩家编号,对应可传递玩家编号] 关系组成的二维数组 relation。返回信息从小 A (编号 0 ) 经过 k 轮传递到编号为 n-1

2021-07-01 21:48:48 144

原创 windows通过Sakura Frp内网穿透实现远程控制

之前一直使用向日葵和TeamViewer作为我校内和寝室电脑的通讯工具,最近校园网将这些工具都给禁掉了,无法使用校园网进行远程控制,因此就考虑使用内网穿透来进行桌面远程控制,下面是具体的步骤:一、首先确保是两台windows电脑之间的通信,其它系统我还没有试过,应该也是可以的,需要的可以自行去官网研究。二、首先是需要对要控制的电脑进行一些设置:(1)右键我的电脑->属性,下面这两处需要勾选,确保外部电脑可以访问这台电脑。(2)选择用户里面可以看到当前被访问的用户名称(你被控制电脑的用户名)

2021-06-30 20:56:33 4115

原创 解决ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)问题

首先出现这个问题的原因可能是你的电脑的/temp临时文件夹被清空了,因此可以通过以下方法来解决:首先说下紧急情况下可以先通过TCP来进行访问:# mysql -uroot -h 127.0.0.1 -p 方法: 使用find / -name mysql.sock命令查找是否有mysql.sock文件,如果找到的话,可以建立一个软链接到/temp文件夹中,使用如下命令: ln -s /run/mysql/mysql.sock /tmp/mysql.sock(因为我这里是在/run/mysql/

2021-06-28 21:29:54 701

原创 leetcode字符串的全排列题解

class Solution { public String[] permutation(String s) { List<String> list = new ArrayList<String>(); char[] array = s.toCharArray(); // 第一个字符与后面非重复出现的交换 int n = array.length; permutate(list, array,

2021-06-22 14:36:48 454

原创 解决..\OBJ\IIC.axf: Error: L6218E: Undefined symbol ADC_Cmd (referred from adc.o).问题

出现此问题的原因是没有导入stm32f10x_adc.c文件(此文件路径无法找到)将其导入后,重新rebuild成功出了ADC其它相关错误也是如此。

2021-06-08 11:00:34 14830 4

原创 Java使用lambda自定义Arrays.sort排序规则

首先注意默认排规则,当使用sort(Objetc[] a)来进行对象的自然排序,该对象必需实现Compareable接口,重写compareableTo方法,并一般在此方法中定义这3种返回值(1,0,-1)来进行排序标准的确认。return 1 时,按照从小到大排序 (也可以是2,3.....正数) return 0 时,原位置不动 return-1 时,按照从在到小排序Integer[] numsArr = new Integer[10];Arrays.sort(numsArr,...

2021-04-12 20:11:14 6524

转载 MatLab绘图总结

1. 二维数据曲线图1.1 绘制二维曲线的基本函数1.plot()函数plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。例:t=0:0.1:2*pi; x=2 * t; y=t.*sin(t).*sin(t); plot(x, y);2. 含多个输入参数的plot函数plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,x

2021-04-01 10:43:11 3702

转载 Java位操作技巧

// 1. 获得int型最大值System.out.println((1 << 31) - 1);// 2147483647, 由于优先级关系,括号不可省略System.out.println(~(1 << 31));// 2147483647// 2. 获得int型最小值System.out.println(1 << 31);System.out.println(1 << -1);// 3. 获得long类型的最大值System.out..

2021-03-03 20:33:29 134 1

原创 java中的>> << >>>

移位运算符就是在二进制的基础上对数bai字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。一、<<(左移)按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。语法格式:  需要移位的数字 << 移位的次数  例如: 3 << 2,则是将数字3左移2位  计算过程:  3 << 2  首先把3转换为二进制数字0000

2021-02-06 15:31:39 789 1

大文件查看工具.zip

可以查看记事本打不开的文件或日志信息,支持中文,需要设置encoding编码,可以查看记事本打不开的文件或日志信息,支持中文,需要设置encoding编码

2020-11-21

Phison_UPTool_Frank.7z

usb无法识别解决工具,usb无法识别解决工具,usb无法识别解决工具,usb无法识别解决工具,usb无法识别解决工具,

2019-08-15

虚拟串口工具.7z

usr tcp232 test 是一款功能强大的测试工具;它可以快速的帮助用户进行测试您需要的串口测试,不管是TCP server测试还是UDP测试都支持进行使用,而且还可进行选择中文的操作界面,让您的使用快捷方便;软件这进行运行的时候,如果用户不需要进行使用的话,还无需进行关闭,它会自动的隐藏在您的右下角,不会对任务栏进行占用,需要的朋友赶快下载来使用试试吧!

2019-06-05

plsqldeveloper.7z

PL/SQL Developer是一款集成开发环境工具,专用于辅助Oracle数据工作。可以说PL/SQL编程可以说已经成为项目研发中比较重要的组成部分了,而PL/SQL Developer软件也是比较注重易用性、代码质量和生产力,还有Oracle应用程序开发过程中的关键优势。

2019-05-24

VSPD串口模拟驱动与O-ComTool V2.1.0下载

现在许多电脑都没有了串口,因此做一些串口软件测试会很麻烦,VSPD可以在电脑上模拟串口,实现com串口,让你进行串口的测试,O-ComTool这款工具是目前比较完善的串口调试工具,是一款非常友好的串口调试助手,除支持传统串口收发功能外,还支持数据快捷发送、数据快速校验、协议数据自组发送、解析等功能,同时还支持计算器、设备管理器的快捷呼出,是嵌入式工作者不可多得的串口工具。

2019-05-23

空空如也

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

TA关注的人

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