自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 opencsv解析CSV文件

opencsv解析CSV文件

2023-01-30 16:14:31 1103

原创 前端使用GET请求传入编译过的中文,Java后端转译(后端解码转为正常的中文)

前端使用GET请求传入encode过的中文,后端转译(后端解码)

2023-01-05 11:00:03 651

原创 IDEA启动项目报错无法编译:JPS INCREMENTAL ANNOTATION PROCESSING IS DISABLED,解决

启动报错JAVA: JPS INCREMENTAL ANNOTATION PROCESSING IS DISABLED. COMPILATION RESULTS ON PARTIAL RECOMPILATION MAY BE INACCURATE. USE BUILD PROCESS “JPS.TRACK.AP.DEPENDENCIES” VM FLAG TO ENABLE/DISABLE INCREMENTAL ANNOTATION PROCESSING ENVIRONMENT.解决方式:po

2021-11-22 17:11:52 12463 7

原创 学习WebFlux的前提之Reactive Stream

前言:这个是JDK1.9的新特性,并且Reactive Stream和JDK1.8的Stream没有关联Reactive Stream主要的操作类都是在整体使用的设计模式是发布订阅的设计模式java.util.concurrent.Flow 里面定义其中Publisher接口是用来定义发布数据的(类似于RabbitMq的发布者)subscribe方法用来连接Subscription(通道)Subscriber接口是用来定义消费数据的(类似于RabbitMq的消费者

2021-09-06 22:54:48 255

原创 解决Java内存溢出Heap Space/MetaSpace OutOfMemory的方法

Histogram 直方图,展示堆中所有的额对象Dominator Tree 占据主要空间的树,列出堆中最大的对象以及他们为什么活着,是谁让它们活着的,它们应该被回收,因为它们是垃圾,所以一直存活导致堆的空间不够,产生OOMLeak Suspects 内存泄漏的嫌疑人或者是嫌疑对象,包含了一些可能导致内存泄漏的对象,和整个系统的概览Top Components 列出了使用堆空间大于1%的组件一般来说只要打开Histogram,Leak Suspects来分析即可会先打开Leak Susp

2021-04-19 21:12:31 1037

原创 RabbitMq死信队列以及其它问题

之前放在有道云笔记,现在分享出来RabbitMq自动签收,也就是自动ack,都是执行完方法再签收的,本身使用了AOP方式来自动签收ack。所以手动签收如果放到最后,其实是一样的。不管是自动签收,还是手动签收,在开启了次数重试之后,重试到application.yml里面写的配置的次数之后,就会进入DLQ,如果配了的话。关于什么样的消息才会进DLQ,如果配了DLQ的话,RabbitMq是每个队列都可以配独立的DLQ的,所以DLQ能单独处理。消息进DLQ的情况:设置了超时时间的消息,

2021-04-19 21:10:14 376

原创 ReentrantLock源码思想

之前放在有道云,直接分享吧主要关注的是,所有的线程,进到ReentrantLook,挂起的是当前线程,也就是自己park(挂起)自己。获取到锁的线程在运行完之后unpark下一个。非公平锁是竞争之后获取锁,或者竞争不到锁放在当前链表最后,锁释放的时候,有锁的竞争,或者释放下一个。公平锁是竞争的时候发现有线程获取了锁,或者队列中有线程节点,都会把线程做成节点放在最后。当前获取到锁的线程,释放锁,就唤醒头节点。所以非公平锁和公平锁,队列一样的,挂起方式,唤醒方式都一致,不一样的是公平锁会多.

2021-04-19 21:07:53 89

原创 Mybatis兼容多套数据库(Oracle,SqlServer,Mysql),resultType如果是用Map或Map的子类,存在返回的key大小写的问题,解决方案

1.新建一个CustomCaseLinkHashMap继承LinkedHashMap,代码如下/** * 自定义LinkHashMap(主要是为了在mapper.xml里面的resultType为map的时候,要兼容两套数据库,Oracle是大写的key,sqlserver是小写的key) * * @param <V> * @author XiaoYiWW */pub...

2018-07-27 14:32:34 2644

原创 关于split方法,JDK1.7和JDK1.8的区别,以及问题解决方案

JDK1.8 String aa="XYZ"; String[] aaArr=aa.split(""); //[X, Y, Z]JDK1.7 String aa="XYZ"; String[] aaArr=aa.split(""); //[, X, Y, Z]

2018-07-06 18:55:44 2101

原创 Mybatis的ParameterType是hashmap,并且含有key是size的问题

Mybatis的mapper里面直接${map.size}(默认取hashmap的size也就是map的长度),而不会取key里面的size对应的value。 如果使用foreach迭代map,就能取到相应的index=size对应的value,而不是map的长度。...

2018-06-28 12:29:14 1687

原创 Mybatis插入数据返回主键,parameterType是HashMap,而非实体类做法

笔者当时想插入数据返回主键,但是parameterType使用的是HashMap,而非实体类笔者使用的是Oracle不过这种方式Mysql也可以参考一下,因为Mysql也是可以提前通过它自己的方言SQL语句拿到即将插入的数据的自增id尝试了一下使用HashMap获取id,获取成功,代码如下 <insert id="insertInfo" parameterType="java.util...

2018-05-24 12:46:02 4351 3

原创 电脑同时安装安装Oracle 11g和Oracle 11g Client导致PL/SQL Developer 12无法连接Oracle问题解决

连接错误提示:ORA-12154: TNS: 无法解析指定的连接标识符1. 双击桌面PLSQL Developer,点击Cancel2. 找到并点击Configure选项卡内的Preferences看到如下图修改Oracle Home如下图最后点击Apply提交,点击OK3. 重新启动PLSQL Developer即可连接到Oracle...

2018-04-24 11:21:52 1328

原创 JavaScript关于使用空函数来作为原型对象xx.prototype之间的桥梁的一些小问题

下面看一个例子:function C1(){}function C2(){}C1.prototype=C2.prototype;var cc=new C1();console.log(cc.__proto__===C1.prototype); //trueconsole.log(cc.__proto__===C2.prototype); //true如果C1.prototype=C2.p...

2018-02-25 16:18:54 349

原创 关于使用C3P0之后,项目在服务器上开启事务错误的原因

HTTP Status 500 - Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin transaction failed:type Exception reportmessage Could not open Hibernate Session for transaction; nested exception is

2017-12-25 14:54:39 876 3

原创 关于TimerTask里面的scheduledExecutionTime()方法,一些见解

笔者为了测试TimerTask里面的scheduledExecutionTime()这个方法,编写了如下测试代码

2017-12-20 17:36:00 2573 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除