第三方类库
文章平均质量分 55
Full Stack Developme
不生产代码,只把代码搬运到适合它的地方。
展开
-
Hutool 工具类 TreeUtil 的使用
Hutool 工具类 TreeUtil 的使用转载 2022-06-19 21:58:16 · 1165 阅读 · 0 评论 -
SpringBoot 配置文件敏感信息加密
叙述使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开 application.properties 或 application.yml,比如 MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。jasypt 由一个国外大神写了一个 springboot 下的工具包,用来加密配置文件中的信息。解决方案pom.xml<dependency&g..转载 2022-01-27 10:10:03 · 103 阅读 · 0 评论 -
Http 客户端 OkHttp 的基本使用
叙述okhttp是一款优秀的http客户端,支持异步,http2等等。<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.14.0</version></dependency>基本的组件OkHttpClient它类似于一个转载 2022-01-26 14:38:11 · 643 阅读 · 0 评论 -
java emoji表情存储解决方案
叙述1.问题产生情况我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了。2.为什么会出现这种原因因为mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。3.解决方法之一把你的数据库编码集设置为utf8mb4,转载 2021-09-30 10:46:13 · 551 阅读 · 0 评论 -
java使用google开源工具实现图片压缩
叙述作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情。现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高清图片,分辨率也是相当的高,当然占用的存储空间也就大了。问题也就产生了,你每个用户都上传个3M的图片怎么办?但是显然现在硬盘的存放空间是不值钱的,1T、2T随便来,存放是能用钱解决的问题。但是网速太值钱了,用户如果天天加载你的网页加载个半天,就是因为图片太大导致的那就不是钱能解决的问题了。因为用户的网络环境你是不可控制的。所以你只能考虑压转载 2021-09-30 10:36:53 · 610 阅读 · 0 评论 -
使用jasypt加密配置的时候,报错:DecryptionException: Unable to decrypt
叙述异常com.ulisesbocchio.jasyptspringboot.exception.DecryptionException: Unable to decryptCaused by: com.ulisesbocchio.jasyptspringboot.exception.DecryptionException: Unable to decrypt: ENC(/AL9nJENCYCh9Pfzdf2xLPsqOZ6HwNgQ3AnMybFAMeOM5GphZlOK6PxzozwtCm+.转载 2021-09-03 17:53:12 · 1986 阅读 · 0 评论 -
okhttp3:unexpected end of stream on Connection
转载自:okhttp的坑坑坑 unexpected end of stream on Connection_suwenlai的博客-CSDN博客叙述之前okhttp用着没问题 很爽 突然不知道改了那 就一直报这个错误W/System.err: java.io.IOException: unexpected end of stream on Connection{app.zhicall.cn:443, proxy=DIRECT@ hostAddress=app.zhicall.cn/101...转载 2021-06-21 23:50:12 · 2003 阅读 · 0 评论 -
springboot 整合 oshi-core 监控 JVM及操作系统
叙述谈到监控,最快捷的还是使用Java本身进行对JVM和操作系统的监控。方便快捷又可靠。解决方案maven <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>3.5.0</version>转载 2021-04-06 19:11:18 · 3000 阅读 · 0 评论 -
Apache poi HSSFWorkbook 操作excel教程2(从excel文件导入数据)
转载自:https://www.hangge.com/blog/cache/detail_2722.html叙述 在之前的文章中演示了如何实现数据的导出,本文接着演示如何实现数据导入。对前端而言,数据导入就是文件上传,对后端这边则是获取上传的文件进行解析,并把解析出来的数据保存到数据库中。解决方案1,添加依赖编辑项目的pom.xml文件,添加poi相关依赖:<dependency> <groupId>org.apache.poi<...转载 2020-08-18 11:04:23 · 769 阅读 · 1 评论 -
Apache poi HSSFWorkbook 操作excel教程1(将数据导出成excel文件)
转载自:https://www.hangge.com/blog/cache/detail_2721.html叙述 在许多项目中,将数据库资料导出为Excel是一个很常见的需求,具体实现简单来说就是后端提供导出接口,前端下载导出数据即可。Jakarta POI是一套用于访问微软格式文档的Java API,它由很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,本文使用前者实现Excel文件的导出。解决方案1,添加依赖编辑项...转载 2020-08-18 10:57:17 · 508 阅读 · 1 评论 -
RabbitMQ 延迟消息的极限测试
转载自:http://blog.didispace.com/rabbitmq-deplay-message-max/叙述之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在此记录下来,给碰到类似问题的童鞋们参考。问题定位因为不是所有的消息都出现了没有延迟消息效果的因素,通过有问题的消息特征,大致猜测可能转载 2020-07-31 17:14:44 · 227 阅读 · 0 评论 -
JWT 简明教程
转载自:https://www.zuojl.com/jwt/叙述JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。应用程序或者客户端向服务器请求授权,授权服务器向客户端返回一个 JWT。之后将 JWT 放入到请求里(通常放在 HTTP 的 Authorization 头里)。服务器接收请求后,验证 JWT 并执行对应的逻辑。为了防止用户的信息被篡改,服务器在生成这个对象的时候,会加上签名。JWT 的大体结构如下JWT 结构JWT 有三转载 2020-07-10 15:26:05 · 238 阅读 · 0 评论 -
使用 Java 和 Excel 计算金融贷款
转载自:https://www.zuojl.com/finance-formula-on-java-and-excel/叙述主要涉及: 月利息,月本金,月本息三个的计算等额本金说的简单点就是等额本金法中,人们每月归还的本金额始终不变,利息随剩余本金的减少而减少,因而其每月还款额逐渐减少。计算公式:每月本金 = 总本金/还款月数 每月利息 = (本金-累计已还本金)×月利率 每月本息 = (本金/还款月数)+(本金-累计已还本金)×月利率由于公式过于简单我们就不进行演示了。.转载 2020-07-09 16:50:50 · 1262 阅读 · 0 评论 -
Spring之文件上传与MultipartFile
转载自:https://hewei0928.github.io/2018/06/20/Spring%E4%B9%8B%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E4%B8%8EMultipartFile/叙述Spring 文件上传使用的总结及MultipartFile的解析解决方案MultipartFile单文件上传@RequestMapping(value = "/UploadOneServlet.do", method = RequestMetho转载 2020-06-23 15:33:01 · 747 阅读 · 0 评论 -
Apache Tika 解析文件头及映射关系表
叙述检测文件类型靠读取后缀名的做法,是极度不安全可靠的。后缀名是可以任意修改的,很容易识别错误。我们使用Apache Tika来解析每个文件的文件头信息,返回具体的特征码,与映射表进行比对,就能知道文件的真实类型。解决方案代码只是项目的一部分,只供参考具体的操作如下:public class FileUtil { /** * Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容原创 2020-06-23 15:13:34 · 623 阅读 · 0 评论 -
解决 com.alibaba.fastjson.JSONException: autoType is not support 异常处理
转载自:https://blog.csdn.net/wgzhl2008/article/details/82184240叙述最近在使用spring-data-redis时,使用fastjson的序列化方式GenericFastJsonRedisSerializer可以正常序列化,但在反序列化时发生了如下异常com.alibaba.fastjson.JSONException:...转载 2020-03-05 14:59:22 · 3532 阅读 · 0 评论 -
Netty报错:Max frame length of 65536 has been exceeded 的解决
转载自:https://blog.csdn.net/maoyuanming0806/article/details/80199647异常信息io.netty.handler.codec.CorruptedFrameException: Max frame length of 65536 has been exceeded. at io.netty.handler.codec.ht...转载 2020-03-02 10:18:13 · 1276 阅读 · 0 评论 -
Netty IllegalReferenceCountException 异常原因及解决
转载自:https://emacsist.github.io/2018/04/28/netty%E4%B8%AD%E5%B8%B8%E8%A7%81%E7%9A%84illegalreferencecountexception%E5%BC%82%E5%B8%B8%E5%8E%9F%E5%9B%A0%E5%8F%8A%E8%A7%A3%E5%86%B3/问题代码import io.nett...转载 2020-03-02 10:10:39 · 919 阅读 · 0 评论 -
Spring Boot Netty 中 @Autowired, @Value 为空解决
转载自:https://www.cnblogs.com/victorbu/p/10692867.html叙述使用 Spring Boot + Netty 新建项目时 Handler 中的 @Autowired, @Value 注解的始终为空值解决方案@Component // 1. 添加 @Component 注解public class TestHandler extends...转载 2020-03-02 09:53:53 · 384 阅读 · 0 评论 -
POI 操作 Excel
转载自:https://www.cnblogs.com/gdwkong/p/8669220.html一、POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 结构: HSSF - 提供读写Microsoft Excel格式档案的功能。 XSSF - 提供读写Micr...转载 2019-07-17 09:34:49 · 242 阅读 · 0 评论 -
Apache-Commons 包解析
转载自:https://www.jianshu.com/p/820e7b004b481. Commons BeanUtils提供对Java反射和自省API的包装。依赖包:Commons Codec、Commons Logging2.Commons Codec是编码和解码组件,提供常用的编码和解码方法,如DES、SHA1、MD5、Base64、URL和Soundx等。3...转载 2019-07-11 11:47:48 · 353 阅读 · 0 评论 -
POI 导出数据到 Excel
转载自:https://www.cnblogs.com/duanrantao/p/8683022.html一、首先是导入poi所需要的jar包,我是用的是maven,添加jar包依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</a...转载 2019-05-30 16:58:21 · 312 阅读 · 0 评论 -
HttpClient 发起 GET POST 请求
转载自:https://www.jianshu.com/p/375be5929bed简介HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient最新版本是HttpClient 4.5.3 (GA)。官方下载:http://hc.apach...转载 2019-10-26 11:30:26 · 285 阅读 · 0 评论 -
Apache Tika 检测二进制资源类型
叙述使用 Apache Tika 检测二进制资源类型,获取类型。为什么不读文件后缀名呢?应为后缀名是可以随便修改,并上传的。一点都不准确,所以不能采用这种方法。使用步骤Tika类型检测Tika支持MIME所提供的所有互联网媒体文件类型。每当一个文件通过Tika检测到该文件,其文件类型。检测的介质类型,Tika内部通过以下机制。MIME标准多用途Internet邮件扩...原创 2019-11-28 11:12:46 · 317 阅读 · 0 评论 -
FastJson 之 JSONPath的使用
转载自:https://springboot.io/t/topic/309叙述jsonpath,类似于xpath。都是通过一种字符串表达式,来快捷检索json里面的数据。在非常复杂的json结构中,对于一些获取和判断操作,不需要层层的去get。可以通过简洁的JsonPath表达式获取到结果。解析JSONPath构造方法public JSONPath(String path...转载 2020-01-13 11:21:14 · 2497 阅读 · 0 评论 -
fastjson :com.alibaba.fastjson.JSONException: write javaBean error 解决方案
转载自:https://feifei.im/archives/291叙述今天给一个java类加了几个字段,没想到转为json字符串的时候报错了,定位了一下原因,觉得这种情况遇到的应该不多,又想起来很久没写博客了,于是就把遇到的问题以及定位过程记下来,省了以后遇到的人再花时间定位了。解决方案调用的是JSON.toJSONString(Object object)方法,具体的报错信息如...转载 2020-01-10 15:43:46 · 10568 阅读 · 0 评论 -
fastjson:JavaBeanSerializer.processValue 解决方案
转载自:https://github.com/alibaba/fastjson/issues/2790叙述fastjson 1.2.62 版本 执行序列化和反序列化时报以下异常:java.lang.NoSuchMethodError: com.alibaba.fastjson.serializer.JavaBeanSerializer.processValue(Lcom/alibab...转载 2020-01-09 18:10:15 · 2862 阅读 · 0 评论 -
Fastjson处理超大的json文本
转载自:https://springboot.io/t/topic/926叙述Fastjson提供了Stream api,用户序列化/反序列化超大的json。解决方案序列化超大的JSON数组JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json")); // 把json数组写入到哪里writer.s...转载 2020-01-09 15:44:11 · 979 阅读 · 0 评论 -
解决 com.alibaba.fastjson.JSONException: autoType is not support.
转载自:https://blog.csdn.net/adsl624153/article/details/79562282叙述升级fastjson的版本后,反序列化List集合时,报错:Exception in thread “???” com.alibaba.fastjson.JSONException: autoType is not support.解决方案2017年3月15...转载 2020-01-02 10:47:36 · 764 阅读 · 0 评论 -
Java计算两个经纬度间的距离最简单的方式
转载自:https://article.itxueyuan.com/pM97O叙述开发中经常会遇到计算两个点(经纬度)之间的距离或者计算最近门店的场景,下面简单实现一下如何计算两个经纬度之间相隔的距离。解决方案加入第三方开发包<dependency> <groupId>org.gavaghan</groupId> <artif...转载 2019-12-12 14:39:37 · 799 阅读 · 0 评论 -
fastjson 序列化 复杂JSON
见下图:自己一个个循环判断虽然可以实现,但是工程量比较大,而且要是增加层次,就又得自己手动添加。。如果用递归的话。返回的类型不知道怎么去控制。求大佬抬一手。应该怎样返回合适的类型。达成map的嵌套存储大佬代码如下:import java.util.List;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson...原创 2019-12-10 21:46:02 · 191 阅读 · 0 评论 -
fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析
转载自:https://blog.csdn.net/weixin_41622183/article/details/82805807前言: 近期在封装fastjson后,加入了redis进行开发时遇到的巨坑:com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0, f...转载 2019-11-04 16:41:23 · 5372 阅读 · 0 评论 -
JSON库 Jackson 常用注解介绍
转载自:https://blog.csdn.net/itguangit/article/details/78701110JSON库 Jackson 常用注解介绍注:以下所涉及到的实体类都使用了 Lomback 插件ackson JSON 框架中包含了大量的注解来让我们可以干预 Jackson 的 JSON 处理过程,例如我们可以通过注解指定 java pojo 的某些属性在生成 js...转载 2019-10-18 08:50:21 · 406 阅读 · 0 评论 -
logback.xml 配置相关策略
logback设置级别并按级别输出到不同的文件及相关策略配置application.propertieslogging.config = classpath:logback.xml配置logback.xml<?xml version="1.0" encoding="UTF-8" ?><configuration> <appen...原创 2019-08-29 09:32:18 · 430 阅读 · 0 评论 -
JAVA bean与XML互转的利器---XStream
转载自:https://blog.csdn.net/pushme_pli/article/details/7829621最近在项目中遇到了JAVA bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家分享。XStream是大名鼎鼎的thought works下的一个开源项...转载 2019-07-26 10:32:50 · 197 阅读 · 0 评论 -
IBM-MQ原理及使用场景
一、MQ简介及特点 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。...转载 2017-11-30 09:49:13 · 23222 阅读 · 2 评论 -
Netty 中的流控与统计
转载自:https://blog.csdn.net/qq_32523587/article/details/80623295Netty 流量相关的包io.netty.handler.trafficChannelTrafficShapingHandler: Channel 级别的GlobalChannelTrafficShapingHandler: 全局级别的(无论打开多少Cha...转载 2019-04-26 09:43:40 · 1542 阅读 · 0 评论 -
Netty中如何写大型数据
转载自:https://www.cnblogs.com/shamo89/p/8600833.html叙述因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题。由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大型数据时,需要准备好处理到远程节点的连接...转载 2019-04-27 16:17:52 · 219 阅读 · 0 评论