java
阿演
将下一段苦涩换成俏皮的语言写在代码注释里,永远不能放弃希望,就像我们在修bug的路上
展开
-
后端:任何客户端的东西都不可信任
后端开发中要注意的低级安全问题原创 2022-09-05 16:35:36 · 1078 阅读 · 0 评论 -
java中Map根据key排序,根据value排序
java中Map根据key排序,根据value排序,使用EntryMap原创 2022-08-18 14:09:57 · 4028 阅读 · 0 评论 -
idea切换java版本需要修改的几处地方
idea切换java版本需要修改的地方原创 2022-08-05 14:24:16 · 391 阅读 · 0 评论 -
minio查询文件夹下面内容只返回了当前文件夹
minio查询文件列表注意事项原创 2022-06-15 14:53:24 · 2581 阅读 · 0 评论 -
springboot 接口返回json中null转换成空数组或空字符串(递归+反射实现)
本来想加一个Jackson的配置类修改ObjectMapper实现把null转空字符串或空数组,但是加上之后发现没效果,找不到问题在哪里,不知道是不是我使用@RestControllerAdvice全局返回处理类的问题,所以就自己写了一个工具类方法处理,就在全局返回处理类里面调用全局返回处理类是用kotlin写的,用来封装统一响应实体和处理全局异常的,用java也是一样的,语法换成java就行。当然,这不是这篇的博文重点,重点是处理null的方法package com.gt.gxjhpt.conf原创 2022-05-30 13:13:05 · 2771 阅读 · 0 评论 -
java 使用itextpdf分割pdf文件,pdf分页
itextpdf依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.2</version> </dependency>代码实现, 我这里是直接输出到respo.原创 2022-02-11 16:24:26 · 3370 阅读 · 2 评论 -
Windows server中java使用phantomjs+echarts-convert生成图表,图片中的中文乱码 解决办法
Windows server中java使用phantomjs+echarts-convert生成图表,图片中的中文乱码 解决办法原创 2022-01-27 18:41:44 · 2978 阅读 · 1 评论 -
mybatis 注解调用Oracle存储过程
看别人的博客试了半天注解调用一直报错,然后试了试xml里面写,成功了就根据xml里面写的改成注解也是成功了service层调用 public List<QualityTestLogResp> logList(String logicId, String startTime, String endTime) { Map<String, Object> resps = new HashMap<>(); resps.put原创 2022-01-26 15:27:33 · 1441 阅读 · 3 评论 -
spire doc for java 设置word中图片大小
代码如下,doc就是Document对象SectionCollection sections = doc.getSections(); for (int i = 0; i < sections.getCount(); i++) { Section section = sections.get(i)原创 2022-01-13 12:03:56 · 807 阅读 · 0 评论 -
java word转pdf 完美保留样式
本来是用的Spire.Doc生成的word文件,想直接再保存pdf一份,但是Spire.Doc保存pdf商业版有水印,免费版只能保存3页。只能找一个word转pdf的方法了依赖<dependency> <groupId>com.documents4j</groupId> <artifactId>documents4j-local</artifactId> <version>1.0.3</version>转载 2022-01-13 11:25:40 · 1554 阅读 · 1 评论 -
java 计算两个时间间隔几天几小时几分钟几秒
计算两个时间间隔几年几月几天几小时几分钟几秒本来想自己写一个方法,先去hutool里面看了看,中文文档里面只是会列举几个常用的方法,还是得看api文档,api文档里面有一个格式化时间间隔的方法,试了一下正是这个效果,直接拿捏了~hutool中文文档:https://hutool.cn/docsHutool参考文档Hutool,Java工具集https://hutool.cn/docshttps://hutool.cn/docshutool api文档:DateUtil (hutool-码云.原创 2021-12-08 17:23:37 · 1648 阅读 · 1 评论 -
nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘‘ not found. Ava
用mybatis写注解SQL的执行报错,这个报错有很多原因就不说了,说一下我的问题同一个mapper中方法有重名的,虽然编译没报错,相当于重载了,但是执行的时候就报错了方法写的太多了都没注意...原创 2021-11-29 17:34:01 · 581 阅读 · 0 评论 -
java 把一个时间段中的节假日和周末过滤掉,获得一个或多个时间段
工作中遇到这种需求了,就写了一个方法,测试了几种情况都没有问题 public void timeTest() { //原时间段集合 List<Map<String, Date>> list = new ArrayList<Map<String, Date>>() {{ Map<String, Date> m = new HashMap<>();原创 2021-11-04 14:20:39 · 1846 阅读 · 0 评论 -
java 计算多个时间段中重复的天数
工作中遇到这个需求,自己写了一下,测试了几种情况都没有问题。这里的时间段我是用的map存储的,map里面是一个key为st的开始时间,一个key为et的结束时间。方法中计算两个时间段相差天数的时候后面加了1,意思就是比如有两个时间段,st为2021-09-09et也是2021-09-09,那么使用hutool中的DateUtil.betweenDay方法的结果是0。我的需求是这种也算一天,所以加1了,没有需要的话可以去掉。 /** * 计算多个时间段中的重复时间原创 2021-11-04 14:19:56 · 976 阅读 · 0 评论 -
使用hutool中的树形结构api时自定义扩展属性
使用hutool的树结构工具时,其内置的TreeNode类只有固定的几个属性,想添加自定义属性怎么办?文档中给出了自定义字段名的方法,但是自定义的字段名还是不能从每个TreeNode结点中获取我的解决方法是新建一个结点类继承TreeNode,添加自定义属性,并实现构造方法@Datapublic class LayerTopicTreeNode extends TreeNode<String> { private String code; privat..原创 2021-10-13 09:52:20 · 939 阅读 · 1 评论 -
EasyCaptcha验证码去掉干扰线、圈
图形验证码工具EasyCaptcha,生成的图形验证码都默认带干扰线和圈在生成的时候,看源码里面是写的默认生成一条线两个圈,但是不想要这个怎么办看文档和SpecCaptcha类的api都没有去掉干扰线的方法新建一个类继承SpecCaptcha类,重写out和toBase64方法out方法里面的代码就是从父类的graphicsImage方法复制过来的,把添加干扰的两行代码删了再加一个构造方法import com.wf.captcha.SpecCaptcha;import原创 2021-10-12 18:21:50 · 985 阅读 · 1 评论 -
java 根据枚举中属性的值获取枚举类中枚举值的名称
示例:下面的getName方法/** * 申请人特殊程序状态 * @author vhukze * @date 2021/2/7 - 9:11 */@Getterpublic enum ApplicantSpecialStatusEnum { 未提交(1), 待缴费(2), 正在进行立案审查(3), 已完成立案审查_待接收立案通知(4), 已收到立案通知_待选择仲裁员(5), 已完成仲裁员选择_待接收组庭通知(6), 已收到组庭通知原创 2021-02-23 17:56:00 · 5060 阅读 · 0 评论 -
java9新特性之模块化
为了提高可靠的配置性和强大的封装性,我们将模块化看作是java程序组件的一个基本的新特性,这样它对开发者和可支持的工具更加友好。一个模块是一个被命名的,代码和数据的自描述的集合。它的代码有一系列包含类型的包组成,例如:java的类和接口。它的数据包括资源文件(resources)和一些其他的静态信息。在idea新建一个java项目,再在这个java项目下创建两个module,如下图所示然后在java9demo中创建两个类在java9index中创建一个测试类Demo此时在当前测.原创 2020-11-27 21:28:39 · 406 阅读 · 0 评论 -
java实现文字识别营业执照识别(百度、讯飞)
工作中遇到一个需求是识别营业执照,看了阿里云的,腾讯云的,讯飞的,百度的。然后发现阿里云和腾讯云目前都是公测或者内测阶段,所以就去试了百度的,但是百度的只是普通的文字识别,就是识别文字中的图片,而讯飞的就比较专业了,单纯的识别营业执照。先看一下使用百度的文字识别的步骤百度AI开放平台的地址:https://ai.baidu.com/tech/ocr_cards/business登录之后在右上角控制台创建一个应用,创建完应用后点击管理应用这里用AppId和两个key,后面代码里用到原创 2020-11-04 13:46:32 · 2799 阅读 · 0 评论 -
hibernate操作Oracle出现违反唯一约束条件
出现这个问题的原因无非是主键冲突,我这里引起主键冲突的原因是实体类使用的ID策略为GenerationType.SEQUENCE这个策略是在数据库中创建一个序列文件,在其中根据图中所指位置实现每次自增1我是在更换数据库后出现的这个问题,意思就是现在数据库序列文件产生的ID在之前数据库序列文件已经产生过,并且那条数据还存在数据库中处理方法可以把现在使用数据库中报主键冲突的表数据清空,我使用的是这个方法。如果不能删数据的话,使用另一个处理方法 :修改Oracle序列...原创 2020-08-07 16:07:24 · 663 阅读 · 0 评论 -
使用二分查找在有序数组里面查找元素
返回所有跟所求值匹配的元素下标public class BinarySearch { public static void main(String[] args) { int[] arr = {1, 3, 22, 22,444, 534, 1000}; List<Integer> resultIndex = binarySearch(arr, 0, arr.length - 1, 22); System.out.println(res原创 2020-08-04 17:06:55 · 454 阅读 · 0 评论 -
NIO详解----NIO与传统IO的区别 ,NIO的原理和使用
传统IO是面向流,NIO是面向缓冲区面向流的传统IO建立的通道是单向的,NIO创建的通道是双向的NIO的核心在于,通道和缓冲区。通道表示打开到IO设备的连接,若需要使用NIO,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。简而言之就是 通道负责传输,缓冲区负责存储。1> 缓冲区缓冲区的底层用的就是数组,根据传输数据类型的不同,java为我们提供了相应类型的缓冲区ByteBuffer、CharBuffer、ShortBuffer、..原创 2020-06-02 09:52:10 · 784 阅读 · 0 评论 -
java8中的Optional容器类,避免空指针异常
java8中使用Optional容器类来尽可能的避免或快速定位空指针异常Optional类的基本使用public class Person { private Integer age; private Double salary; public Person() { } public Person(Integer age, double salary) { this.age = age; this.salary = s原创 2020-05-28 10:20:13 · 232 阅读 · 0 评论 -
java8中的并行流,封装ForkJoin
并行流就是执行任务的时候分配给多个线程队列执行,但是如果某一个队列执行完成,其他队列还在执行,这个时候执行完成的队列就是空闲状态java8中的并行流,使用的是工作窃取模式,在一个队列的任务执行完成之后,他会去其他没有执行完成的任务队列里面窃取尾部的任务来执行。正常情况下我们计算一个大一点的数,这个耗时三十多秒 public void test(){ Long num = 100000000000L; long sum = 0; Inst原创 2020-05-27 18:23:32 · 324 阅读 · 0 评论 -
java8中的steam流
1,创建stream流 //1,通过Collection系列集合提供的stream方法 List<String> list = new ArrayList<String>(); Stream<String> stream1 = list.stream(); //2,通过Arrays中提供的静态方法stream 获取数组流 String[] strs = new String[10];原创 2020-05-26 15:35:53 · 1547 阅读 · 0 评论 -
java8中的Lambda表达式
现在有一个实体类Person,Person中有age年龄和salary工资属性还有一个集合static List<Person> persons = Arrays.asList( new Person(19,2000), new Person(13,3002), new Person(32,4000), new Person(78,1003) );现在有一个需求是取集合中年龄原创 2020-05-18 13:42:44 · 290 阅读 · 0 评论 -
<1>Dubbo快速入门 发布服务、启动服务
创建maven项目,服务生产者的接口项目项目名vhukze-member-public-dubbo-api在项目中新建一个包com.vhukze.api.member.service包中新建一个接口package com.vhukze.api.member.service;public interface MemberService { public String g...原创 2020-04-13 19:44:50 · 178 阅读 · 0 评论 -
base64转图片的时候Can't read input file!
如果不去掉编码中的图片头信息,就会报Can't read input file!。一开始还以为是文件路径格式有问题,然后看了看我之前用的,就有一个区别就是没有去头信息。// 去掉base64编码中的图片头信息String base64 = base.split(",")[1];System.out.println(base64);try { System.out.println(...原创 2019-10-30 10:25:02 · 456 阅读 · 0 评论 -
Eclipse中无法直接引入Base64Encoder的包
转载链接:https://blog.csdn.net/u011514810/article/details/72725398转载 2019-10-24 15:24:38 · 546 阅读 · 0 评论 -
java上传图片获取文件信息 校验文件尺寸
一开始我是用的是下面这种方法,测试了几个图片都没有问题,然后随便去网上下载了个图片测试,竟然报了空指针,获取不到高度和宽度,于是我右键查看图片属性,详细信息竟然都是空的这是一个jpg格式的图片,然后我用WPS看图打开他,WPS看图显示此图片的详细信息都有尺寸,还有图片类型是webp类型。InputStream murl = new URL(user1.getFileurl()).o...原创 2019-08-26 17:58:53 · 857 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.springframework.context.support.ResourceBundleMessage错误
使用SpringMVC加载校验文件的时候出现java.lang.ClassNotFoundException: org.springframework.context.support.ResourceBundleMessage错误,解决方法:spring.xml这样配文件路径这样放参考链接https://www.cnblogs.com/mrray1105/p/906871...原创 2019-07-27 16:10:12 · 254 阅读 · 0 评论 -
Oracle更改数据后后台无法操作 一直加载
今天用dbutils操作Oracle,在SQL developer里面测试执行完update语句后,在后台操作,前端页面一直加载,控制台也不报错,后台查询出来的还是更新之前的数据;然后试着在SQL developer里面直接在表里面修改数据 ,在表里面直接修改数据之后会有红框提示你没有提交,然后手动点击提交按钮,再查询就可以了,在后台执行更新操作也可以了,不会一直加载了;究其原因应该是...原创 2019-07-25 16:58:34 · 436 阅读 · 0 评论 -
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误
使用ajax往后台传输json数据SpringMVC的RequestBody自动转换 前端控制器报400错误错误指向调用ajax方法的那一行 在jsp页面找了半天不知道怎么回事原来是bean对象我加了个有参构造 没有了无参构造 SpringMVC无法自动转换...原创 2019-07-29 16:47:06 · 304 阅读 · 0 评论 -
正则表达式 获取功能
使用正则表达式获取符合规则的子串package regexDemo;import java.util.regex.*;public class regexText { public static void main(String[] args) { String str = "guang guai liu li ,bu buai ni"; //\b单词起始 [a-z...原创 2018-09-30 10:03:18 · 166 阅读 · 0 评论 -
java实现TCP数据传输反馈
客户端:import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.*;import java.util.Scanner;public class TCPseed { public static void main(Str...原创 2018-09-13 15:29:20 · 724 阅读 · 0 评论 -
java实现UDP数据传输
用java实现UDP数据传输;为了演示,发送端和接收端都是本机;端口是自己设置的,如果端口被其他程序占用,自行修改;代码示例:发送端import java.net.*;import java.util.Scanner;public class UDPDemo { public static void main(String[] args) throws Excepti...原创 2018-09-11 22:16:06 · 1874 阅读 · 3 评论 -
java程序生成配置文件,限制使用次数
每运行一次程序,使用次数就加一,到指定次数后提示使用次数已到。第一步,生成一个.ini的配置文件,里面用键值对的形式存放数据。File file = new File("info.ini");if(!file.exists()) { file.createNewFile();}第二步,需要用到使IO和Map相结合的类,util包中的Properties类。Properti...原创 2018-08-22 11:31:08 · 515 阅读 · 0 评论 -
实现自定义BufferedInputStream
根据BufferedInputStream的原理来自己实现MyBufferedInputStream:package ioDemo;import java.io.*;/* * 装饰设计模式 * */class MyBufferedInputStream{ private InputStream in; //定义一个指针变量,一个计数器。 private int pos...原创 2018-08-13 10:27:34 · 276 阅读 · 0 评论 -
java生成异常日志文件
将发生的异常信息保存到日志文件中:里面用到的日期时间格式化方法见另一个博客:java中的日期时间类package ioDemo;import java.io.*;import java.text.SimpleDateFormat;import java.util.Date;public class ExceptionDemo { public static void ma...原创 2018-08-15 11:48:34 · 591 阅读 · 0 评论 -
java中的日期时间类
java中获取日期时间,util包中的Date类,直接new一个对象打印他就可以,但是格式是外国的,对于我们来说肯定是希望有些格式的。Date d = new Date();System.out.ptintln(d);给他一个格式,需要用到text包中的SimpleDateFormat类,使用构造方法来指定格式,下面是一些格式的表示方法 那我们来写:将模式封装到Sim...原创 2018-08-06 20:35:50 · 1100 阅读 · 2 评论