
JAVA
nailsoul
这个作者很懒,什么都没留下…
展开
-
EasyExcel导出文件wps打开正常excel打开乱码
controller导出方法参数列表里添加HttpServletResponse response参数。原创 2023-05-06 12:56:03 · 1199 阅读 · 1 评论 -
RestTemplate添加LogInterceptor后因为被多次执行导致response.getBody报Attempted read from closed stream错误
RestTemplate的Interceptor被多次执行导致response.getBody报Attempted read from closed stream错误原创 2023-03-15 15:51:16 · 888 阅读 · 0 评论 -
接口真实存在也能被访问了还能debug但是却返回404
接口真实存在却返回404原创 2023-01-31 16:09:22 · 365 阅读 · 0 评论 -
DecimalFormat使用和RoundingMode介绍
用来为实数格式化的工具 如位数不足补领 丢弃时舍入模式计算。原创 2022-11-04 11:45:18 · 485 阅读 · 0 评论 -
【无标题】
@TestMethodOrder注解不起作用依赖该注解junit5出现 依赖不是重点 可以替换尝试下<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.4.0</version></dependency>代码经原创 2022-03-24 22:12:12 · 432 阅读 · 0 评论 -
让日志带上颜色
原理让System.out和System.err打印出来的日志带上格式 格式如下原理将待打印字符串添加格式头让输出流支持格式 字符串末尾添加清楚格式字符串添加格式字串 \33[[背景色;][前景色;][其他格式;]其他格式m如\33[30m \33[30;40;1m \33[1m; \33[33;43;1;3;51m30-38 90-98代表前景色 40-48 100-108 代表背景色 1,3,4,7,921,51字体格式清除格式字符串 \33[m 字符串最后一定要加 否则后原创 2021-11-24 22:03:02 · 880 阅读 · 0 评论 -
Asm报数组异常-如ArrayIndexOutOfBoundsException
java.lang.NegativeArraySizeExceptionjava.lang.NegativeArraySizeException at org.springframework.asm.Frame.merge(Frame.java:1222) at org.springframework.asm.MethodWriter.computeAllFrames(MethodWriter.java:1610) at org.springframework.asm.MethodWriter.vi原创 2021-11-21 22:23:01 · 1319 阅读 · 0 评论 -
绑定rt.jar源码
绑定rt.jar源码下载openjdk8源码jdk目中的src.zip不包含rt.jar的源码 当点进相关的类时没有注释信息忍了 局部变量名变成了var开头 也忍了 继承个类复写方法 那参数鬼知道啥意思 还是忍了 一次两次的还好 当次数多了那滋味。。。 忍无可忍 无需再忍 可直接下载openjdk8的源码进行绑定下载地址 拿出迅雷开openjdk8页面定位rt.jar源码下载下来后解压 打开openjdk.jdk.src.share目录classes目录是rt.jar的源码 native原创 2021-11-14 12:03:59 · 905 阅读 · 0 评论 -
java中的系统属性和环境变量获取
今天查看源码发现如下代码public class DebuggingClassWriter extends ClassVisitor { public static final String DEBUG_LOCATION_PROPERTY = "cglib.debugLocation"; private static String debugLocation = System.getProperty(DEBUG_LOCATION_PROPERTY); public b原创 2021-11-13 00:37:14 · 491 阅读 · 0 评论 -
类型强转和抑制警告问题
类型强转和抑制警告问题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Ma原创 2021-11-08 18:32:04 · 681 阅读 · 0 评论 -
String.CASE_INSENSITIVE_ORDE字符比较问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-05-12 13:29:00 · 876 阅读 · 0 评论 -
lambda内部类局部变量值为什么不能被修改如和强制修改
内部类值无法修改原因问题描述原因分析原理分析内部类外面的局部变量不能被重复赋值否则会报错在内部类里面不能修改局部类外面定义的变量的值问题描述当使用内部类时内部类外面的局部变量不能被重复赋值否则会报错 为什么?在内部类里面不能修改局部类外面定义的变量的值 为什么?原因分析想知道上面的原因需要知道编译器是怎么编译内部类的原理内部类对象创建规则lambda内部类根据javap -p反编译可以发现会生成方法 private static void lambda$test$0(int)原创 2020-05-14 04:26:45 · 1345 阅读 · 0 评论 -
swagger笔记
介绍swagger是用来管理api的开源项目可以用来给团队共享api文档和提供测试api接口的工具文档和测试工具会随着代码的更新而更新只需要很少的配置就能实现模块swagger分为swagger模块和swagger-ui模块 前后端分离版本选择springfox目前最新版本2.9.2接受或返回map时 需要借助bean对象或插件(有缺陷)使接口文档中包含具体的参数和返回字段api ui是以上下滚动折叠框分组的形式提供的 不符合国人习惯不过习惯吗用着用着就改变了最重要的是原创 2020-05-13 22:33:57 · 375 阅读 · 0 评论 -
配置文件读取pom中的属性
背景今天突然需要在一个模块中读取该模块的版本号信息 而版本号定义在pom中 如果在到配置文件里写一份 那么需要修改2处地方 可能会不一致 所以就想有没有办法直接读取pom中的project.version解决思路直接读取pom中的内容 可以通过mvn package 打包时直接读取pom中的内容替换配置文件中的内容 步骤如下在pom里的build的resources下添加如下配置 <resource> <directory>src/mai原创 2020-05-10 10:49:16 · 3154 阅读 · 0 评论 -
坑爹的Period
今天debug代码时突然发现得到的结果不正确 当时就懵逼了 代码如下Period.between(firstDate, secondDate).getDays();firstDate和secondDate在同一个月没有问题 结果正确 但是firstDate和secondDate不同月或不同年结果就不知道啥意思了// 结果12System.out.println(Period....原创 2020-05-08 17:04:28 · 304 阅读 · 0 评论 -
hystrix 配置了较大的核心线程数导致wating线程过多的问题
环境spring cloud 版本Camden.SR7开启Hystrix背景当通过hystrix.threadpool.default.coreSize设置核心线程数量时 创建线程池时核心线程数和最大线程数都使用的它当执行feign逻辑时 会判断当前线程数是否小于最大线程数 所以每次都会新建一个线程来执行网络请求当请求执行完毕以后由于当前线程数不大于核心线程数(永远满足不了)所以...原创 2020-04-13 18:56:50 · 4067 阅读 · 0 评论 -
spring.profiles属性导致获取配置失败
今天启动项目突然报错 报错信息如下BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.xx.Application]; nested exception is java.util.NoSuchElementException: No value bound...原创 2020-04-08 13:22:25 · 1575 阅读 · 0 评论 -
启动失败 feign导致 not annotated with HTTP method type (ex. GET, POST)
@RequestMapping(value = "/api/server/list",method = RequestMethod.GET)Object getServerList();上面的方法报错not annotated with HTTP method type (ex. GET, POST)我是左看又看都冒发现问题。。。 最后比对版本库里代码发现 创建了个默认的feign...原创 2020-03-31 15:36:11 · 11260 阅读 · 3 评论 -
mybatis datetime 毫秒问题
Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DATE, -1);// 将小时至0calendar.set(Calendar.HOUR_OF_DAY, 0);// 将分钟至0calendar.set(Calendar.MINUTE, 0);// 将秒至0calendar.set(Calendar.S...原创 2020-03-24 13:58:38 · 4785 阅读 · 0 评论 -
今天启动时候报错Consider defining a bean of type '[Ljava.lang.String;' in your configuration.
今天改了下代码启动时就报下面的错Description:Parameter 0 of constructor in com.alibaba.fastjson.support.spring.FastJsonpResponseBodyAdvice required a bean of type '[Ljava.lang.String;' that could not be found....原创 2020-03-16 14:51:28 · 1046 阅读 · 0 评论 -
生成随机数字
---------------------- android培训、java培训、期待与您交流! ----------------------生成随机数可以用Random类或者Math类的random方法其实就是调用的Radom类的nextDoble方法 它是生成的0到1之间不包括1的双精度小时nextInt方法生成一个随机的整数范围是Int类型的取值范围有可能是正或者是负 带参数的是生成o原创 2011-07-18 05:45:55 · 905 阅读 · 0 评论 -
mybatis语法错之sql injection violation, syntax error: syntax error, expect RPAREN, actual FOR FOR
背景 mybatis执行sql正常返回数据 但是又报了错InteractAspect errInfo:org.springframework.jdbc.UncategorizedSQLException:### Error querying database. Cause: java.sql.SQLException: sql injection violation, syntax e...原创 2020-03-09 12:20:54 · 12127 阅读 · 0 评论 -
哪位大大帮看下spring boot server.port不起作用
天了噜 通过application.properties里配置server.port启动后端端口还是8080 哪位大大能解答下环境如下@SpringBootApplicationpublic class Application { public static void main(String[] args){ SpringApplication.run(App...原创 2020-03-08 20:05:55 · 2316 阅读 · 4 评论 -
mysql获取某个班级学习成绩的前几名
思路1.首先根据班级分组获取每个班级的所有学生并通过成绩排序2.过滤掉不符合条件的学生 最终获取所有符合条件的学生3.在通过学生唯一字段获取学生信息需要用到mysql下面几个函数GROUP_CONCAT 可以把结果集中的多行中特定数据显示成一列数据FIND_IN_SET 可以查看字串序列list(多个字串用逗号分隔)是否包含字串str 可以通过BETWEEN ...原创 2019-12-19 12:46:48 · 3795 阅读 · 0 评论 -
迭代器快速失败异常问题
当你用集合的迭代器进行迭代操作时 可以通过迭代器的方法增删集合里德元素这样是没问题的但是你用迭代器迭代时 在用集合的增删操作集合时接下来在调用迭代器的某些方法(方法内部会调用快速异常检测方法)就会抛ConcurrentModificationException异常当你 用hasNext进行判断 迭代器进行迭代时 可以用集合中的remove 方法删除倒数第2个元素不会报错 原因 假如集合的大...原创 2012-05-15 01:35:07 · 3778 阅读 · 0 评论 -
多线程消费者和生产者
package demo;import java.util.List;import java.util.ArrayList;import java.util.Random;class Demo1{ public static void main(String[] args) {原创 2011-07-18 03:02:10 · 96 阅读 · 0 评论 -
调用wait抛IllegalMonitorStateException
private void testWait(){ Thread thread = new Thread(() -> { synchronized (Log.class) { try { this.wait(); } catch (Interrupt...原创 2019-05-13 00:35:57 · 954 阅读 · 0 评论 -
Tomcat启动时卡在 INFO HostConfig.deployDirectory Deploying web application directory
今天在服务器上部署网站时 启动tomcat无错 tail -f catalina.out日志 和 catalina.sh run 方式启动时 卡在22-Jul-2016 23:00:53.921 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web appl原创 2016-07-23 22:51:56 · 19540 阅读 · 5 评论 -
jpa元注解
jpa注解大全@Entity(name="table_name")注释声明该类为持久类。将一个Javabean类声明为一 个实体的数据库表映射类,最好实现序列化.此时,默认情况下,所有的类属性都为映射到数据表的持久性字段.若在类中,添加另外属性,而非映射来数据库的, 要用下面的Transient来注解.必须 name 可选,表示表的名称.默认地,表名和实体名称一致,只有在不转载 2016-06-07 05:30:23 · 1067 阅读 · 0 评论 -
One-to-Many|Many-to-One(双向+自身)
原文转载 2016-06-07 05:37:44 · 340 阅读 · 0 评论 -
反射
java反射封装原创 2014-08-03 21:55:59 · 1565 阅读 · 0 评论 -
java继承和多态
package extend;import org.junit.Test;import cn.nailsoul.reflect.util.ReflectUtil;public class extendTest { @Test public void testAcccessMembers(){ System.out.println("===========testAcccessM原创 2014-08-03 22:29:32 · 1556 阅读 · 0 评论 -
equals()方法
equals Object类中的方法比较2个对象在内存中的起始地址是否相等 如果需要比较对象中的成员属性的值可以覆盖equals()方法 要覆盖equals()方法也得覆盖hashCode()方法 equals跟==号的区别如果是基本类型用equals和用==号比较没区别 如果原创 2011-07-09 13:59:20 · 545 阅读 · 0 评论 -
子父类转换
子类可以自动转换为父类 当子类转换成了父类可以强制转换回来否者不能强制转换,这点跟基本类型不同,基本类型之间强制转换只丢失精度。当类A,B继承类C,A和B类之间不能转换也不能强制转换 类 Qiche 和 Danche继承类Che Che a=new Qiche();用a掉用方法是调用的Qiche类的方法如果Qiche类没有此方法就调用父类的方法。用a调用属性调用的是che原创 2011-06-28 22:35:00 · 544 阅读 · 0 评论 -
数据类型
JAVA里的数据类型分基本和引用型 基本类型可以封装成引用类型 反之也行基本类型赋值小类型转换到大类型的时候如 char byte int 赋值给long会转换成long型在赋值给long 但是不能赋值回去不然编译出错 可以用强制转换成小类型但是可能会有危险 丢失精度。。char byte short 如果有计算的话会转换成int类型如果这是后赋值的话只能赋值给int long fl原创 2011-06-28 03:04:00 · 421 阅读 · 0 评论 -
java语法简述
对象是真实世界中的物体在人脑中的映象、是类的实例化 把对象进行抽象把抽象(某种有着相同点的集合的统称)出来的对象使用Java 表达出来,那就是类 class。类是对象的模版、模型或。比如货车,公交车,轿车它们都有着汽车车的特点,如都有车轮 外观 品牌颜色等车的属性 类要使用需先定义,一个完整的类有下面几部分 package语句 import 语句 类定义{成员属性,构造方法,方法}类3大原创 2011-06-28 01:45:00 · 500 阅读 · 0 评论 -
return的小功能
对于返回类型的方法 return必须返回同类型也不能返回空但是对于void类型的可以用return;结束方法public class Modem{ public static void mian(){ for (; ; ){ return; } }}原创 2011-06-28 02:18:00 · 480 阅读 · 0 评论 -
hibernate EntityNotFoundException异常处理
出现 javax.persistence.EntityNotFoundException: Unable to find com.tdrh.service_platform.entity.Customer with id 27异常 api dao.getOne() 把.getOne换成findOne没有该条记录会返回null不会出现调用getOne返回的对象抛异常的问题原创 2016-08-05 11:31:35 · 3675 阅读 · 0 评论 -
spring RequestMapping 拦截多个请求
@RequestMapping(value = {"/picture_content/{id}","/attachment_content/{id}","/music_content/{id}"},method = RequestMethod.GET)原创 2016-08-11 23:27:32 · 3252 阅读 · 0 评论 -
Hibernate entity属性修改导致对象的记录被修改
当通过hibernate获取到entity后 然后在get属性时修改了属性的值后 然后根据id从新到数据库中查询该实体 这是对应的表中该记录也被修改 如果没重新查询修改不修改还不好说log分析 当修改实体后在次查询执行了三次hibernate语句 首先执行查询语句 接着执行修改语句 访问实体时又执行了次查询语句原因分析 当通过herbernate查询出entity后 将被缓存在sess原创 2016-08-15 02:11:39 · 3324 阅读 · 0 评论