Java
文章平均质量分 52
古柏树下
努力吧少年
展开
-
记SQL插入emoji成功,但是程序插入失败问题
Cause: java.sql.SQLException: Incorrect string value: emoji入库失败,但是字符集设置已经为utf8mb4,控制台sql插入成功但是程序插入失败。到底是任性的泯灭,还是道德沦的沦丧,请和我一起看下去。原创 2022-12-07 15:46:54 · 711 阅读 · 1 评论 -
fastjson序列化参数丢失
问题现象:在调用mq去发送短信时,使用了一个jsonString对象去传递参数。发现消费方接收到的jsonString解析出来之后,只有第一个对象的参数有值,后序的参数中出现了$ref。模拟入参场景类似如下HashMap<String, String> map = Maps.newHashMap();map.put("mobile", "111111");List<Object> list = Lists.newArrayList();list.add(new Sms原创 2020-08-29 12:02:19 · 1401 阅读 · 0 评论 -
EasyExcel多sheet的导入和导出例子
EasyExcel多sheet的导入和导出EasyExcel对于导入导出的操作十分简洁,方便快捷。其中对于多单文件多sheet的操作比较不同,在此做一下记录从多sheet中导入数据@ApiOperation("导入") @RequestMapping(value = "/import", method = RequestMethod.POST) public Result importDetail(@RequestParam(value = "file") MultipartFile原创 2020-05-20 18:07:49 · 18977 阅读 · 10 评论 -
升级Springboot版本异常:HateoasConfiguration required a single bean, but 3 were found
在项目从springboot1.x升级到2.2.1时,报错***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of method linkDiscoverers in org.springframework.hateoas....原创 2019-12-06 14:18:02 · 5221 阅读 · 4 评论 -
MapStruct如何String转Date
翻阅官方文档https://mapstruct.org/documentation/stable/reference/html/#datatype-conversions发现官方有个例子,关于自定义转换器规则的例子When generating code for the implementation of thecarToCarDto()method, MapStruct will ...原创 2019-10-25 16:39:53 · 8051 阅读 · 2 评论 -
HashMap、Hashtable和ConcurrentHashMap的区别
HashMap和Hashtable有什么区别?1、HashMap是非线程安全的,HashTable是线程安全的。 2、HashMap的键和值都允许有null值存在,而HashTable则不行,key和value都不允许出现null值。。 3、因为线程安全的问题,HashMap效率比HashTable的要高。 4、Hashtable是同步的,而HashMap不是。因此,HashMap...原创 2018-08-10 15:13:45 · 512 阅读 · 0 评论 -
Lombok的使用
在Intellij中安装Lombok的插件想要体验一把Lombok的话,得先在自己的开发环境中安装上对应的插件。下面先为大家展示下如何在Intellij中安装上Lombok插件。通过IntelliJ的插件中心寻找Lombok从Intellij插件中心安装Lombok另外需要注意的是,在使用lombok注解的时候记得要导入lombok.jar包到工程,如果使用的是Maven的...转载 2018-08-03 17:45:41 · 311 阅读 · 0 评论 -
java使用正则表示式限制特殊字符的个数
package com.l.dubbo.service;import java.util.HashSet;import java.util.Set;import java.util.regex.Matcher;import java.util.regex.Pattern;public class ThreadPoolTest { public static boolean ...原创 2018-07-17 16:10:35 · 2311 阅读 · 0 评论 -
Request header field * is not allowed by Access-Control-Allow-Headers in preflight response问题解决
跨域问题报错信息为:Failed to load http://localhost:8080/jfly.openapi/produce/listMachFeedingBoard/v1: Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response....原创 2018-06-13 11:13:27 · 30897 阅读 · 2 评论 -
LocalDateTime只获取年月日
LocalDateTime只获取年月日localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")下面是LocalDateTime对比原有时间类的用法public class DateUtils { public static void main(String[] args) { //获取当前...原创 2018-08-07 16:34:19 · 54731 阅读 · 5 评论 -
偏向锁、轻量级锁和重量级锁的相互转换
结合网上查询的资料说说自己的见解Synchronized锁升级的过程:一个对象A刚开始实例化的时候,没有任何线程来访问它的时候。它是可偏向的,意味着,它现在认为只可能有一个线程来访问它,所以当第一个线程T1来访问它的时候,它会偏向T1,此时,对象A持有偏向锁。此时A是偏向第一个线程T1,T1在修改对象头成为偏向锁的时候使用CAS操作,并将对象头中的ThreadID改成自己的ID,之后再...原创 2019-01-25 16:56:59 · 2234 阅读 · 5 评论 -
本地导出不报错,线上导出报异常:Method not found: is$jacocoData
本地导出不报错,线上导出报异常:Method not found: is$jacocoData是因为excel导出的时候为了不一个个字段导出,通过反射获取类的字段Field[] fields = t.getClass().getDeclaredFields();项目上线之后发现反射获取的字段多于实体类的字段数目是因为发布时 增加了jacoco来统计代码覆盖率,是通过编译期间加上...原创 2019-03-29 14:07:07 · 2418 阅读 · 0 评论 -
了解登录中的JWT
1.JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。2.JSON Web Token有什么用下列场景中使用JSON Web Token是很有用的:Authorization (授权) : 这...原创 2019-05-06 16:03:59 · 1174 阅读 · 0 评论 -
java.lang.UnsupportedOperationException: null at java.util.AbstractList.add(AbstractList.java:148)异常
场景:Lists.transform返回的一个list,当对其进行addAll操作时,报出java.lang.UnsupportedOperationException,以下为list的来源 List<String> keys = Lists.transform(cells, new Function<Cell, String>() { @...原创 2019-07-12 17:13:55 · 5526 阅读 · 1 评论 -
深入理解jvm类加载机制
本文将以四个问题展开:什么是类加载? 什么是双亲委任模型? 如何破坏双亲委任模型? Tomcat 的类加载器是怎么设计的?1.什么是类加载?类加载机制一个很大的体系,包括类加载的时机,类加载器,类加载时机。1.1 类加载过程加载器加载到jvm中,接下来其实又分了好几个步骤:加载,查找并加载类的二进制数据,在Java堆中也创建一个java.lang.Class类...原创 2019-08-28 17:16:35 · 768 阅读 · 0 评论 -
jvm线程的状态转换
线程在一定条件下,状态会发生变化。线程一共有以下几种状态:初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方 法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使...原创 2019-09-10 10:49:55 · 410 阅读 · 0 评论 -
ehcache配置文件详解
java web开发缓存方案,ehcache和redis哪个更好ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。 如果是单个应用或者对缓存访问要求很高的应用,用ehcache。 如果是大型系统,存在缓存共享、分布式部...原创 2018-06-13 09:56:47 · 4697 阅读 · 0 评论 -
java中使用Jedis操作Redis实例
在测试方法之前先获取Redis连接@Beforepublic void getJedis() { jedis = new Jedis("127.0.0.1", 6379);}Jedis操作Map/*** 操作Map*/@Testpublic void operateMapRedisDemo() { Map<String, String> map = new HashMap&...原创 2018-04-12 16:35:20 · 731 阅读 · 0 评论 -
HashMap结构及存储原理
HashMap结构及存储原理数组的机制是存储连续,所以空间复杂度很高。表现出来就是插入,删除很慢但是查询很快链表的机制是存储分散,所以空间复杂度很小。表现出来就是插入,删除很快但是查询不快因此hash就结合数组与链表的结构优势,采用哈希表。该结构综合数组与链表的机制,有多种实现的方法,在这里解释一种最常用的方法:拉链法如图所示,纵向的0,1,2,3,4..表示的是数组,横向的则是链表结构用于存储e...原创 2018-04-11 14:50:23 · 3024 阅读 · 2 评论 -
筛选出list中出现次数最多的元素以及出现的次数
public List<String> getMaxNameFromList(List<String> list){ String s1 = ""; int max_cnt = 0; String max_str = ""; String tmp = ""; String regex; Pat原创 2017-08-29 16:34:06 · 5806 阅读 · 0 评论 -
拼接查询条件为list集合的sql函数
当deptId 为1时 sql语句不做更改 当deptId 为其他数字时 list中的id项作为sql查询条件刚开始编写的时候思路是用or语句进行循环遍历 重复加上or的sql语句来查询 发现比较复杂 最后采取了sql的in函数来实现public String getDeptIdSql(List<Long> deptIdList){ Iterator<Long> it = dept原创 2017-08-30 23:42:57 · 14642 阅读 · 0 评论 -
安装Eclipse Jee Oxygen后项目的js和json文件报错
更新了eclipse最新版Eclipse Jee Oxygen 发现原有项目中的js文件和json文件有很多报错 其实是因为eclipse自动对这些文件进行了语法校验 这些错误实际上是不影响项目运行的 可以关闭eclipse对于这些文件的校验1. 打开eclipse:2. 菜单Window - > Preferences3. 然后搜索 validation 4. 然后我们再点 Disab原创 2017-10-31 18:17:22 · 1083 阅读 · 0 评论 -
java分割超大文本文件
因需要处理数据库字段中的json字段,所以把数据库数据导出为sql文件 但是因为文件太大,想通过多线程来加快处理速度,需要把文件拆分开来package utils;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import原创 2017-11-10 14:52:26 · 3672 阅读 · 2 评论 -
去掉IntelliJ IDEA生成的mybatis映射文件中黄色和绿色的背景
IntelliJ IDEA 打开 mybatis 的 xml 文件时,对应的 xml 文件中 sql 语句背景色总是有黄色或绿色的背景色。提示(红圈处)上已经说明,需要配置在 IDEA 中配置 data source (通常我们很少使用 IDE 去查看数据库内容,而是使用其他专门的 DB 工具)。去掉 No data sources configure 警告转载 2017-11-15 16:05:06 · 28957 阅读 · 14 评论 -
IDEA使用mybatis-generator自动生成mybatis相关文件
1.首先创建webapp项目 在pom.xml中加入mybatis和junit的依赖 在中加入mybatis.generator插件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h原创 2017-11-15 16:52:32 · 1248 阅读 · 0 评论 -
使用java、js和sql计算两个日期的时间差
Java计算两个日期的时间差以下为例子Date stime = mt.getStartTime();Date etime = mt.getEndTime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Double time = (double) (etime.getTime()/1000 - stime原创 2017-10-14 14:46:33 · 877 阅读 · 0 评论 -
java获取日期的周数和所属年份
在项目中遇到需要导出excel表格 表格的标题需要根据数据来动态获取格式为 2017年第 50 周计划检修申报、实施确认表获取日期所属周数Date date = new Date();Calendar cal = Calendar.getInstance();cal.setFirstDayOfWeek(Calenar.MONDAY);//设置周一为一周的第一天原创 2017-12-22 16:36:39 · 16240 阅读 · 3 评论 -
java 项目利用POI导出excel总结
在项目中遇到需要把计划检修的项目导出 使用的是Apache POI 对数据进行导出1.通过单元格格式来设置表格样式对于表格的表头是固定的 所以先把表头设置为定值Workbook workbook = new HSSFWorkbook(); //新建excel表格Sheet sheet = workbook.createSheet("维修-检修计划详情"); //新建工作簿Row row =原创 2017-12-23 17:46:21 · 2545 阅读 · 0 评论 -
Unable to install breakpoint in class...异常
在调试程序的时候出现了Unable to install breakpoint in class...显示我打的断点无法生成 造成了无法调试的情况网上的解决方法普遍为同一种 最后只有到window-preferences-Java-compiler下面,把Add line number attributes..前的勾去掉,然后apply-OK。再window原创 2018-01-15 14:18:53 · 2647 阅读 · 0 评论 -
java泛型中 ?,T,S,K,字母的区别
在代码中经常会看到这样的函数public static void printColl(ArrayList<?> al){ Iterator<?> it = al.iterator(); while(it.hasNext()) { System.out.println(it.next().toString(...原创 2017-07-13 16:03:58 · 22544 阅读 · 1 评论 -
java虚拟机相关知识
JAVA程序执行过程java文件通过编码器编译成 .class文件,即字节码文件类加载器根据字节码文件来进行加载加载完字节码文件之后,有执行引擎进行执行,可能会使用到数据区的数据JVM结构如图所示,JVM主要包括两个子系统和两个组件。两个子系统分别是ClassLoader和ExecytionEngine, 两个组件分别是RuntimeDateArea和NativeInterfaceClassLoa...原创 2018-03-23 16:24:35 · 224 阅读 · 0 评论 -
java随机生成1~5的整数
共有两种方法random.nextInt和Math.random()public class RandomNum { public static void main(String[] args) { Random r = new Random(); for (int i = 0; i < 10; i++) { ...原创 2018-03-26 16:26:37 · 40682 阅读 · 2 评论 -
java.util.ConcurrentModificationException异常详解
今天学习java集合的时候遇到了以下问题,下面是出现异常的代码public class CollectionMapDemo { public static void main(String[] args) { Collection collection = new ArrayList(); Iterator it = collection.iterator(); ...原创 2018-04-10 15:46:45 · 1850 阅读 · 0 评论 -
常用java设计模式
spring用到哪些设计模式单例模式public class SingletonDemo { private static SingletonDemo demo = null; private SingletonDemo() { } public static SingletonDemo getDemo() { if (demo == null) { ...原创 2018-03-27 15:49:58 · 145 阅读 · 0 评论 -
No row with the given identifier exists: [com.device.entity.DcDevice]异常处理
今天在熟悉系统功能的代码的时候发现开发系统中的部件修改功能有问题 在保存修改过的数据时会出现错误描述:更新设备信息失败!No row with the given identifier exists: [com.jfly.apps.plugins.device.entity.DcDevice#ECBC0060239]在出现错误之后在网上找了找,发现发生该异常的原因就是原创 2017-07-14 13:31:03 · 841 阅读 · 0 评论