java
一只努力xx的程序媛
努力学习
展开
-
pdf转图片乱码Using fallback AdobeSongStd-Light for CID-keyed font STSong-Light
Using fallback XXX for CID-keyed font STSong-Light,指系统中没有安装STSong-Light字体,pdfbox使用XXX字体来替代,出现方块指替代字体也不存在,需要安装STSong-Light字体。链接:https://pan.baidu.com/s/1tvi0R4vlpBHAlUsWSyz8Iw。windows安装字体,接安装ttf/otf等格式结尾的文件,下载字体地址。安装,选中文件右键“为所有用户安装”原创 2023-05-17 11:50:51 · 1409 阅读 · 0 评论 -
POI Excel插入图片实现点击放大缩小
POI插入图片并实现单击放大或缩小功能原创 2023-03-29 19:56:05 · 1534 阅读 · 0 评论 -
修改JVM参数
JVM参数有3种标准参数java -version/-help-X参数非标准参数,随着JDK版本变动,如-Xint,使用较少-XX参数使用较多(1)Boolean类型-XX:[+/-]name 启用或停止,如:-XX:+UseG1GC 启用G1垃圾收集器-XX:-UseG1GC 停止G1垃圾收集器(2)非Boolean类型-XX:name=value,如:-XX:MaxHeapSize=100M 设置堆内存其他参数(由-XX参数变形)-Xms10原创 2022-03-13 21:28:20 · 2488 阅读 · 0 评论 -
EasyExcel多版本poi共存
修改poi的包名打包到本地仓库mvn install:install-file -Dfile=my-poi-4.1.2.jar -DgroupId=com.yootii -DartifactId=poi -Dversion=4.1.2 -Dpackaging=jarmvn install:install-file -Dfile=my-poi-ooxml-4.1.2.jar -DgroupId=com.yootii -DartifactId=poi-ooxml -Dversion=4.1.2 -Dpa原创 2022-03-10 20:16:03 · 2946 阅读 · 3 评论 -
jarjar.jar修改包名多版本共存
下载官网的jar包1.3版本:https://mvnrepository.com/artifact/com.googlecode.jarjar/jarjar将要修改的jar包和jarjar-1.3.jar放在同一个目录在jar包目录下,使用下面的命令,查看能不能正确输出包名,如果没有任何输出或报错,则无法使用。java -jar jarjar-1.3.jar strings poi-4.1.2.jar结果报错!!!看来这个jarjar的版本无法使用,在网上找到了https://gite原创 2022-03-10 19:32:42 · 1299 阅读 · 1 评论 -
POI生成Excel设置图片的等比缩放并居中
POI提供了HSSF、XSSF以及SXSSF三种方式操作Excel。区别如下:HSSF:操作Excel97-2003版本,文件扩展名为.xls。XSSF:操作Excel2007版本开始,文件扩展名为.xlsx。SXSSF:是在XSSF基础上,POI3.8版本开始提供的一种支持低内存占用的操作方式,扩展名为.xlsx。下面代码适用于Excel 97-2003,文件后缀为.xls,使用的poi版本为5.1.0 <dependency> <groupId>org.apac原创 2022-01-13 13:26:12 · 5949 阅读 · 0 评论 -
Java mail outlook发邮件提示升级TLS1.2
发送邮件失败提示如下:javax.mail.AuthenticationFailedException: 421 4.7.66 TLS 1.0 and 1.1 are not supported. Please upgrade/update your client to support TLS 1.2. Visit https://aka.ms/smtp_auth_tls. [HK0PR03CA0098.apcprd03.prod.outlook.com]增加发送邮件参数pro.put(“mail原创 2021-12-20 17:19:06 · 5716 阅读 · 1 评论 -
AOP中的JoinPoint、ProceedingJoinPoint
1.JoinPoint@AfterReturning("execution(* com..*.*Mapper.update*(..))|| execution(* com..*.*Mapper.insert*(..))" + " || execution(* com..*.*Mapper.add*(..))") public int afterAddAndUpdate(JoinPoint joinPoint){ try { String declaringTypeName = joinP原创 2021-11-01 17:03:08 · 2960 阅读 · 0 评论 -
eclipse maven项目没有test目录
确定源码中有test文件夹eclipse中选中项目名称,右键buildPath-configure build path确定,然后Apply就可以再项目中看到了原创 2021-10-14 10:30:56 · 1020 阅读 · 0 评论 -
[org.apache.pdfbox.pdmodel.font.PDTrueTypeFont] - Could not read embedded TTF for font CAAAAA+DengXi
1报错:Font 'STSongStd-Light' with 'UniGB-UCS2-H' is not recognized.修改为:2报错: [org.apache.pdfbox.pdmodel.font.PDTrueTypeFont] - Could not read embedded TTF for font CAAAAA+DengXian-Bold java.io.IOException: glyf is mandatory at org.apache.fon原创 2021-09-17 10:18:39 · 2155 阅读 · 0 评论 -
java poi 修改excel保留excel格式
/**outFilePath:输出文件路径inFilePath:输入文件路径rows:输入数据*/public static void writeExcel(String outFilePath,String inFilePath,List<Map<String, Object>> rows) throws Exception { if (rows == null) { return; } InputStream in = new FileInputStr原创 2021-09-13 12:07:42 · 1902 阅读 · 1 评论 -
浮点数、BigDecimal等值判断,不能使用==和equals
浮点数使用“尾数+阶码”的编码方式,类似于科学计数法的“有效数字+指数”的表示方式。二进制无法精确表示大部分的十进制小数。反例:float a = 1.0F - 0.9F;float b = 0.9F - 0.8F;if (a == b) { // 预期进入此代码块,执行其它业务逻辑 // 但事实上 a==b 的结果为 false}Float x = Float.valueOf(a);Float y = Float.valueOf(b);if (x.equals(y)) { // 预期转载 2021-08-05 16:09:19 · 400 阅读 · 0 评论 -
Eclipse启动Tomcat一直100% preparing launch delegate。。。
发现这个问题网上的答案真的是五花八门,原因一个和一个不一样,当然我遇到的问题,也可能和你的不一样,因为引起这个问题的原因太多了,,启动超过45s后,报超时,tomcat自动shutdown:然后点击右下角的100%显示最后将tomcat的server.xml的参数改为启动成功。...原创 2020-05-15 19:55:19 · 871 阅读 · 0 评论 -
接口请求时间太长,jstack观察锁持有情况
场景:在工程A中调用工程B的接口完成一些逻辑,A中每调用一个接口打印一条信息,观察出当接口连续调用一段时间后,会卡住一会,然后又继续执行。老大给出建议查看下jstack dump堆栈信息,查看阻塞和耗时长的操作。在命令行终端,输入jps 查看当前java进程id;jstack –l PID >>log.txt, PID指进程Id,将堆栈信息输出到当前目录下的log.txt文件中。...原创 2020-04-21 20:10:52 · 676 阅读 · 0 评论 -
java aspose word/html转pdf
下载aspose-words-15.8.0-jdk16.jar包package com.yootii.bdy.util;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStream;import com.aspos...转载 2020-03-18 16:27:06 · 2108 阅读 · 1 评论 -
java mht转html文件
mht文件转换成 html文件import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.F...转载 2020-03-18 16:02:43 · 891 阅读 · 0 评论 -
OCR识别PDF文件
1现有解析pdf的方法使用org.apache.pdfbox读取pdf,只能读取pdf中的文字,有些纸件扫描成的pdf文字会错乱,有些字还是图片的方式显示的,导致读取的内容不全,常常会获取不到想要的数据。2 OCR文字识别pdf需要转换为图片,进行识别,识别率高。2.1 调用百度接口优点:识别率高,识别速度快缺点:按次收费2.2 使用开源工具读取pdf文档2.2.1...原创 2020-03-11 19:41:09 · 5159 阅读 · 0 评论 -
spring中集成P6Spy监控对数据库的操作
源码:https://github.com/p6spy/p6spy对jdbc的操作监控,可以方便记录每次数据库操作语句和时间,在测试环境下使用,可以排查SQL语句问题,涉及数据库性能问题可以看看日志。注意不要在上线产品里使用。修改pom.xml,增加对p6spy的依赖<!-- https://mvnrepository.com/artifact/p6spy/p6spy -->...原创 2020-03-11 19:33:31 · 396 阅读 · 0 评论 -
Java反射判断对象的全部属性是否为空(包括父类属性)
//判断该对象是否: 返回ture表示所有属性为null 返回false表示不是所有属性都是null //子类对象判读为空不包括父类的字段 public static boolean isAllFieldNull(Object obj) throws Exception{ Class cla = (Class) obj.getClass();// 得到类对象 ...原创 2019-12-05 19:51:41 · 1375 阅读 · 0 评论 -
字符串去掉空格问题
遇到一个头痛的问题,解析不出来这个空格到底是什么空格,字符串str=“ 48 454878”,想要只获取到数字,使用str.replace(" “,”");得到结果为“ 48454878”,前面那两坨不是空格吗?正则表达式中,\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。但是这个空格匹配不了\s。String str = "123 48 4548...原创 2019-10-30 11:45:52 · 857 阅读 · 0 评论 -
MySQL复杂查询使用临时表/with as(类似表变量)
查询需求:如果第一个SQL能查出结果,则返回结果,否则,执行第二条SQL,返回第二条SQL的结果。SQL Server中使用表变量的方式:如果查出有“wangwang”用户则返回,否则查询“zhangzhang”用户的id返回。有优先级declare @temp table(id int)insert into @tempselect idfrom userwhere name =...原创 2019-10-22 17:58:26 · 15738 阅读 · 0 评论 -
学习正则表达式选项、断言
最近整了几天的正则表达式,在这记录下,以后忘了还能回过头看看。解释正则表达式:(?is)(?<=([\W\u4e00-\u9fa5A-Za-z0-9].*\n){6})(.*)(?=:\s*?\r\n\s+?)知识点1* (?is) 正则表达式选项链接:正则表达式选项学习内联匹配模式,通常用内联匹配模式代替使用枚举值RegexOptions指定的全局匹配模式。符号含义...原创 2019-10-15 12:29:45 · 175 阅读 · 0 评论 -
JAVA AES加解密在Linux报错javax.crypto.BadPaddingException: Given final block not properly padded.
在Windows加解密都正常,在linux中解密失败,报错javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.报错的代码private Key initKeyForAES(Stri...转载 2019-07-05 10:38:48 · 9584 阅读 · 0 评论 -
Log4j知识点记录
看了这个教程,学习到了很多,又经过实践,把教程中没涉及到的点,记录一下,方便以后查看。https://blog.csdn.net/u013870094/article/details/79518028log4j.rootLogger=DEBUG,Console,File,audit#定义日志输出目的地为控制台 log4j.appender.Console=org.apache.log4j...原创 2019-08-27 18:33:10 · 159 阅读 · 0 评论 -
java配置监听器使用WatchService实时监控某个目录下的文件变化
参考~~启动应用程序,不断监听:https://blog.csdn.net/yjc_1111/article/details/78819938随着tomcat启动,而启动:https://www.cnblogs.com/zishengY/p/6958564.html转载 2019-09-30 14:35:13 · 352 阅读 · 0 评论 -
使用Spring Boot开发邮件系统
这篇文章是我在公众号“纯洁的微笑”中发现的,与我现在做的业务完美契合,所以保存下来慢慢学习。文章链接地址:https://mp.weixin.qq.com/s/RHAmzoBwV4gypXT6Q4Tzhg前言互联网发展到现在,邮件服务已经成为互联网企业中必备功能之一,应用场景非常广泛,比较常见的有:用户注册、忘记密码、监控提醒、企业营销等。大多数互联网企业都会将邮件发送抽取为一个独立的...转载 2018-10-12 13:56:18 · 6208 阅读 · 0 评论 -
mybatis异常 There is no getter for property
Mybatis 传单个参数,xml中直接用#{id}表达式取值是不会有问题的。但是用去判断是否为空,这个时候就会报There is no getter异常。解决方法:在dao中,方法的参数加上@Param。参考:https://www.cnblogs.com/HendSame-JMZ/p/6061884.html...转载 2019-06-25 19:31:56 · 1461 阅读 · 0 评论 -
maven项目引用外部jar包
在做word转pdf功能,需要使用aspose-words-jdk16-15.8.0.jar包,在maven仓库中找不到依赖的包,采用传统方式将包拷入WEB-INF/lib目录下,然后通过Build path 将包引入到工程中。对于java web项目,这样做是可以的,但是对于maven项目,再打包时(maven install)出现了问题,failed。从网上看到有3种方式引入外部的jar包,...原创 2019-05-27 10:20:32 · 2550 阅读 · 0 评论 -
多线程结果合并计算CyclicBarrier的使用
参考:https://blog.csdn.net/weixin_33726313/article/details/87536997遇到问题:在main方法中可以正常执行,等待多个子线程执行完毕后,在主线程中执行回调函数,合并结果。但是在写的接口中,一直得不到想要的结果,整个主线程一直向下执行,直到返回结果,并不会等待回调函数执行完毕。注意事项:CyclicBarrier中等待几个线程,必...转载 2019-04-17 20:01:42 · 1057 阅读 · 0 评论 -
emoji表情,直接存入数据库,出现java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E\xF0\x9F...' for.
最近项目中在做基于netty-socketio的web实时聊天功能,刚做好可以建群、发消息,李老板说要试一下功能,老板第一条消息就发了一个表情,当场导致后台出现一大片红,,,[笑哭]问题:用户发送的emoji表情,直接存入数据库,会出现java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x8E\xF0\x9F…’ for…原...原创 2018-11-29 19:21:07 · 5728 阅读 · 0 评论 -
微信公众号获取access_token 定时刷新
微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;amp;amp;id=mp1421140183根据文档,首先需要将服务器IP地址添加到IP白名单中,才能获取。另外access_token的有效期为2个小时,需定时刷新,并且每天获取有次数限制。白名单设置是在:开发–&amp;amp;gt;基本配置 中的下图位置创建AccessToken类,属性acc...原创 2018-11-29 19:06:36 · 5755 阅读 · 0 评论 -
使用RestTemplate:报错Could not extract response: no suitable HttpMessageConverter found for response typ
项目中需要调用微信接口获取access_token等一系列和微信接口相关的操作,我使用了Spring自带的RestTemplate类来发送Get或Post请求,直接在Spring配置文件中依赖注入&lt;bean id="restTemplate" class="org.springframework.web.client.RestTemplate"/&gt;使用的时候直接@Resourc...原创 2018-11-29 18:48:02 · 87098 阅读 · 13 评论 -
启动Tomcat报错: this web application instance has been stopped already. Could not load...
启动程序报错:23-Nov-2018 11:01:24.120 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Fu ll details will be found in the appropriate ...原创 2018-11-23 13:37:49 · 56185 阅读 · 1 评论 -
Activiti笔记
Activiti概念定义Activiti是业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。其核心是超快速,稳定的BPMN2流程...原创 2018-10-24 16:18:40 · 215 阅读 · 0 评论 -
eclipse离线安装Activiti Designer插件
今天安装个插件费了半天的劲,特此记录一下。按照网上说的,菜单选择Help–Install New Software,点击Add,输入Name:Activiti BPMN 2.0 designer, Location:http://activiti.org/designer/update/ ,基本可以放弃了,提示以下错误:离线通过安装包安装a. 通过网盘下载所需文件。链接:https:/...原创 2018-10-19 12:58:58 · 18649 阅读 · 37 评论 -
java SQLserver JDBC 连接报错Connections could not be acquired from the underlying database!
Caused by: org.apache.ibatis.exceptions.PersistenceException: Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested excep...原创 2018-09-24 17:40:55 · 1711 阅读 · 0 评论 -
Java对象和json互转Date类型的处理
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;项目A中需要将对象Case转换成json字符串,然后发送字符串消息,项目B需要将收到的json消息,转换成Case对象,再进行操作。遇到了该Case对象中有多个Date类型的字段,我又不想麻烦的将所有Date转成String类型,再生成JSON,最后鼓捣了一下午,在网上找到了解决方法。使用n原创 2018-09-06 15:29:13 · 43141 阅读 · 4 评论 -
Tomcat启动activeMQ程序报错
启动Tomcat时,activeMQ相关程序时间长或报错原因: org.springframework.beans.factory.xml.XmlBeanDefinitionReader 读取spring-activemq.xml时,需要获取http://activemq.apache.org/schema/core/activemq-core-5.12.1.xsd,通过看spring的代码...原创 2018-07-11 16:38:34 · 1075 阅读 · 0 评论 -
独立线程发送邮件
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...原创 2018-08-27 18:03:34 · 940 阅读 · 0 评论 -
tomcat修改端口和下载文件URI不乱码配置
<Service name="Catalina"><Connector URIEncoding="UTF-8" connectionTimeout="20000" port="9080" protocol="HTTP/1.1" redirectPort="9443"/></Service>配置tomcat的server.xml文件,修改端口为9080...原创 2017-03-13 19:23:25 · 1660 阅读 · 1 评论