Java
文章平均质量分 76
Dengrz
the more we see, the less we know
展开
-
InvalidKeyException: Illegal key size异常解决方案
目录产生错误原因为什么会产生这样的错误?如何解决AES加密工具抛出InvalidKeyException: Illegal key size异常,根据以往经验初步判断是加密出现问题需要安装JCE相关的包。产生错误原因为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,往往会出现这个异常原创 2022-04-06 15:08:58 · 2620 阅读 · 0 评论 -
Java实现RSA+AES+签名进行加解密
介绍RSA+AES混合加密形式并对数据进行加签过程与方法,也会贴上相应的代码。1、RSA密钥RSA密钥很重要,开始加密的起源第一步。1.首先我们通过一些工具可以生成RSA密钥对,Java也有生成密钥对的代码,密钥对顾名思义就是一对钥匙,我自己平台生成RSA时会有公钥和私钥,我们会把自己平台的公钥交给第三方,私钥自己保存,同样第三方按照规则生成RSA公私钥,给我们平台公钥,自己保留私钥, 这样更安全,后续加签加密都是需要RSA操作的。2.第三方会给相应的加密规范,我们生成RSA密钥长度为20转载 2022-04-06 11:53:29 · 2395 阅读 · 0 评论 -
Callable多线程实现对list数据的处理
1.简单介绍通过实现Callable接口创建线程与Runable相比的区别在于:runable没有返回值,Callable可以用Future<数据类型>接收返回值class TaskWithResult implements Callable<String> { //创建一个线程 private int id; public TaskWithResult(int id) { this.id=id; ...原创 2022-03-29 11:42:42 · 692 阅读 · 0 评论 -
Spring Bean的生命周期剖析
Spring Bean的生命周期是Spring面试热点问题。这个问题即考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。四个阶段:是的,Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。实例化和属性赋值对应构造方法和setter方法的注入,初始化原创 2021-10-11 10:23:12 · 192 阅读 · 0 评论 -
记录一次 Mybatis plus使用baseMapper插入一条数据并返回id
实体类代码:@Data@TableName("T_***")public class Flow*** implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private int id; @LengthForUtf8(max = 50) private String nam原创 2021-09-02 15:21:36 · 2151 阅读 · 0 评论 -
批量上传文件之Java MultipartHttpServletRequest.getFileMap方法
本文整理匯總了Java中org.springframework.web.multipart.MultipartHttpServletRequest.getFileMap方法的典型用法代碼示例。如果您正苦於以下問題:Java MultipartHttpServletRequest.getFileMap方法的具體用法?Java MultipartHttpServletRequest.getFileMap怎麽用?Java MultipartHttpServletRequest.getFileMap...转载 2021-05-11 14:41:38 · 4488 阅读 · 0 评论 -
Jep 解析字符串数学公式
由于项目需要从服务器端传来一个计算公式,客户端根据公式计算得到值,故而学习了一下Jep。如果是一般公式,使用Jep很容易实现计算得到结果。[java]view plaincopyStringstr="6+7+8-9"; Jepjep=newJep(); jep.parse(str); System.out.println(jep.evaluate());默认情况下,Jep支持的符号列表如下: ...原创 2021-04-30 08:42:57 · 628 阅读 · 0 评论 -
BitMap简介
目录1. BitMap2. Bitmap有什么用3. BitSet1. BitMapBit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。(PS:划重点节省存储空间)假设有这样一个需求:在20亿个随机整数中找出某个数m是否存在其中,并假设32位操作系统,4G内存在Java中,int占4字节,1字节=8位(1 byte = 8 bit)如果每个数字用int...转载 2021-04-26 10:24:21 · 3073 阅读 · 1 评论 -
Java8 Stream流使用及其基本原理
Stream流,是对集合对象操作的增强基本使用比如有一个Person类的集合:List<Person> personList,可以通过stream()对集合中的元素进行操作,下面的操作流程可以归纳为 过滤-映射-收集。List<Integer> personIdList = personList.stream() //选出年龄大于20的Person对象 .filter(person -> person.getAge() >.转载 2021-01-13 16:29:22 · 1293 阅读 · 0 评论 -
springboot2.x 集成websocket使用Base64发送图片
websocket虽说兼容性差,但是随着移动互联网的发展,websocket的使用也越来越多。今天就来说一下,springboot如何集成websocket,其实很简单,这些spring都给我们做好了,只需简单配置一下就可以用来,废话不多说,直接撸码。第一步: 先创建一个springboot项目第二步:在pom中引入websocket依赖 <dependency> <groupId>org.springframework.boot<.转载 2021-01-13 11:03:04 · 1098 阅读 · 1 评论 -
拥抱 Java 8 并行流!
前言在 Java7 之前,如果想要并行处理一个集合,我们需要以下几步 手动分成几部分 为每部分创建线程 在适当的时候合并。 并且还需要关注多个线程之间共享变量的修改问题。而 Java8 为我们提供了并行流,可以一键开启并行模式。是不是很酷呢?让我们来看看吧并行流认识和开启并行流什么是并行流:并行流就是将一个流的内容分成多个数据块,并用不同的线程分别处理每个不同数据块的流。例如有这么一个需求:有一个 List集合,而 list 中每个 apple 对象只..转载 2021-01-04 11:00:31 · 184 阅读 · 0 评论 -
记录一次Apache Commons CSV库中封装的令牌和定界符之间的字符无效
使用Apache Commons CSV库解析CSV文件时出现以下错误。java.lang.IllegalStateException: IOException reading next record: java.io.IOException: (line 1) invalid char between encapsulated token and delimiterat org.apache.commons.csv.Lexer.parseEncapsulatedToken(Le...原创 2020-12-03 14:13:06 · 3965 阅读 · 0 评论 -
springboot 集成Fastcsv读取csv文件
Fastcsv的使用:springboot中读取csv文件pom.xml添加依赖 <dependency> <groupId>de.siegmar</groupId> <artifactId>fastcsv</artifactId> <version>1.0.3</version> </dependency..转载 2020-11-26 11:01:20 · 1665 阅读 · 0 评论 -
Spring Cloud Config 实现配置中心
配置文件是我们再熟悉不过的了,尤其是 Spring Boot 项目,除了引入相应的 maven 包之外,剩下的工作就是完善配置文件了,例如 mysql、redis 、security 相关的配置。除了项目运行的基础配置之外,还有一些配置是与我们业务有关系的,比如说七牛存储、短信相关、邮件相关,或者一些业务上的开关。对于一些简单的项目来说,我们一般都是直接把相关配置放在单独的配置文件中,以 properties 或者 yml 的格式出现,更省事儿的方式是直接放到 application.propertie转载 2020-09-22 11:59:27 · 286 阅读 · 0 评论 -
Elasticsearch集群节点配置详解
Elasticsearch集群节点配置详解注意:如果是在局域网中运行elasticsearch集群也是很简单的,只要cluster.name设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群。2.elasticsearch-servicewrapper1)安装到github,https://github.com/elastic/elasticsearch-servicewrapper下载,把service拷贝到ES_HOME/bin目录下。2)使用ES_HOME.转载 2020-07-08 17:11:43 · 2085 阅读 · 0 评论 -
redis过期策略及定期策略配置
原文地址:https://my.oschina.net/funcy/blog/2245358redis服务器实际使用的过期键删除策略有两种:定期删除 惰性删除redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定时遍历这个字典来删除到期的 key。除了定时遍历之外,它还会使用惰性策略来删除过期的 key,所谓惰性策略就是在客户端访问这个 key 的时候,redi...转载 2019-06-26 16:45:29 · 5083 阅读 · 0 评论 -
Java反射原理
原文地址:https://www.cnblogs.com/techspace/p/6931397.html什么是反射?反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。java反射使得我们可以在程序运行时动态加载一个类,动态获取类的基本信息和定义的方法,构造函数,域等。除了检阅类信息外,还可以动态创建类的实例,执行类实例的方法,获取类实例的域值。反射使java...转载 2018-09-20 15:40:53 · 235 阅读 · 0 评论