![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 50
HY_Chan
这个作者很懒,什么都没留下…
展开
-
Long.getLong 的坑:获取到null
getLong(String str )是将系统属性的字符串转为Long 类型数据如果你不是一个系统属性,比如一个“12”字符串,使用这个方法就会返回null根据string获取对应的Long值应该用:Long.parseLong(str) 或者valueOf()...原创 2021-12-21 16:53:39 · 1130 阅读 · 0 评论 -
Sql 解析出错
### Cause: java.lang.RuntimeException: Sql 解析出错. sql=select count(0) from (select id, partner_id, bu_id, warehouse_id, stop_payment_dimension, stop_apply_no, settlement_object_code, settlement_object_name, contract_code, stop_payment_type, approv原创 2021-07-29 11:44:39 · 753 阅读 · 0 评论 -
前端请求参数 传不到后端
原因:前端使用Json传输参数,后端参数没有使用RequestBody注解,导致获取不到前端的参数。修改方案:Controller层应修改为如下注解@PostMapping(value = “/xxx/xx/xxx”)public ResultVo depositBillAttachmentDelete(@RequestBody xxxDto queryDto) {}Controller层测试代码:需要传入dto的Json@Test public void depositBillAtt原创 2021-07-28 17:49:46 · 3285 阅读 · 0 评论 -
使用tika对文件类型进行判断
org.apache.tika tika-core 1.18Next, we’ll make use of the detect() method to resolve the type:@Testpublic void whenUsingTika_thenSuccess() {File file = new File(“product.png”);Tika tika = new Tika();String mimeType = tika.detect(file);assertEqu..原创 2021-07-28 17:29:02 · 537 阅读 · 0 评论 -
Guava学习笔记
一、导入Guava在pom.xml 中加入依赖<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>20.0</version></dependency>二、Ordering的用法@SpringBootTestpublic class Ord原创 2021-07-28 17:26:04 · 311 阅读 · 0 评论 -
org.eclipse.jetty.io.EofException: Closed问题解决
接口为http接口提示org.eclipse.jetty.io.EofException: Closed 的告警其原因是返回数据但客户端提前关闭了,将返回改为void,不再有异常原创 2020-09-03 14:59:16 · 10843 阅读 · 0 评论 -
java.io.IOException: Stream closed的问题排查
最近开发“导出数据生成文件”功能时使用到多处OutputStream流操作。如导出excel文件://创建outputStreamresponse.setContentType("APPLICATION/OCTET-STREAM");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(zipName.concat(".zip"), "UTF-8"));原创 2020-09-03 14:45:56 · 5555 阅读 · 0 评论 -
使用freemarker、Itext进行Html转Pdf(解决中文问题&图片问题)
步骤一:写ftl格式的htmldemo.ftl<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta http-equiv="X-UA-Compatible" content="ie=e原创 2020-08-20 20:01:41 · 4106 阅读 · 1 评论 -
实习记录——中文编码问题
这次是一个需求,系统需要支持中文的用户pin。 优惠券发放任务创建的时候可以上传txt文件到jss, 发放任务是一个定时任务,每隔三分钟遍历一边待发放任务,从jss上下载pin文件,遍历组装成一个pin的集合,然后根据pin集合发放优惠券。 因此中文编码问题主要出现在从jss上获取输入流读取数据,并正确解析,转成utf-8格式txt主要有ANSI、UTF-8、Unicode编码 因此首...原创 2018-08-03 18:51:37 · 193 阅读 · 0 评论 -
Spring MVC中的CharacterEncodingFilter介绍以及源码分析
一、场景CharacterEncodingFilter是Spring MVC很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。二、配置从名字就可以看出来它是个过滤器了,所以就要想配置普通过滤器那样配置到web.xml中去了,配置方式如下: <...原创 2018-08-20 10:27:24 · 1463 阅读 · 0 评论 -
jar包升级版本号引发的问题
一次部署tomcat,报错如下org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: com.jd.ump.profiler.proxy.Profiler.registerInfo(Ljava/...原创 2018-08-17 18:03:36 · 2811 阅读 · 0 评论 -
URI编码乱码
这次的需求是优惠券管理页支持多条件查询,之前一直都是单个条件查询。 做完后如果有多页,跳转指定页时如果当前搜索条件是包含中文的话会乱码,跳转后搜索不到内容 通过分析,发现跳转页面的链接是get方式,拼接如下:#set($pageModule=$!homeModule.getTarget("/couponList.html").addQueryData("couponCode",$!...原创 2018-08-17 18:58:59 · 1016 阅读 · 0 评论 -
Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction
问题场景 问题出现环境: 1、在同一事务内先后对同一条数据进行插入和更新操作; 2、多台服务器操作同一数据库; 3、瞬时出现高并发现象;原因分析 在高并发的情况下,Spring事物造成数据库死锁,后续操作超时抛出异常。 Mysql数据库采用InnoDB模式,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报错。...原创 2018-08-31 10:28:19 · 891 阅读 · 0 评论 -
Java之DateFormatUtils格式化时间Bug
DateFormatUtils的parseDate方法:public static java.util.Date parseDate (java.lang.String str, java.lang.String[] parsePatterns) throws java.text.ParseException该方法会将日期字符串按照第二参数中的String数组,依次比对,选择合适的Patt...原创 2018-08-24 11:38:28 · 2829 阅读 · 0 评论 -
调用Set.addAll()方法时抛UnsupportedOperationException异常
执行代码:Set<String>couponIdSet=couponInfoToCacheService.getCouponIdAll();if(catIdSet!=null&&catIdSet.size()>0){Set<String>couponIdCatSet=couponInfoToCacheService.getCouponIdB...原创 2018-08-29 18:15:31 · 3149 阅读 · 1 评论 -
Java JVM管理
1、查看pidps -aux | grep tomcatadmin 94 3.3 0.5 3557440 173496 ? Sl Jun04 4193:50 /export/servers/jdk1.6.0_25/bin/java -server -Xms128M -Xmx256M -Xss256K -XX:PermSize=32M -XX:MaxPerm...原创 2018-08-30 10:01:43 · 198 阅读 · 0 评论 -
《Java并发编程(核心方法与框架)》笔记记录
此文记录学习《Java并发编程(核心方法与框架)》时的记录代码见github:https://github.com/Bosssheep/JavaConcurrent一、SemaphoreSemaphore,这个单词翻译过来指:信号在Java中此类主要用来限制线程并发的数量。其常用方法如下:方法作用Semaphore(int permits)构造方法,permits...原创 2018-10-06 22:14:57 · 847 阅读 · 0 评论 -
Java NIO:浅析I/O模型
一.什么是同步?什么是异步?同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行; 异步就是:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。这就是同步和异步。举个简单的例子,假如有一个任务包括两个子任务A和B,对于同步来说,当A在执行的过程...原创 2018-07-14 15:31:31 · 193 阅读 · 0 评论 -
Java常见API-Date类、DateFormat类、Calendar类
介绍Date类、DateFormat类、Calendar类常用方法原创 2017-11-13 15:03:10 · 252 阅读 · 0 评论 -
Java——集合、迭代器
集合,迭代器,增强for循环原创 2017-11-23 23:10:29 · 160 阅读 · 0 评论 -
Java-List接口
一、List接口的特点A:List接口的特点: a:它是一个元素存取有序的集合。 例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。 b:它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。 c:集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。原创 2017-11-25 17:40:13 · 207 阅读 · 0 评论 -
Servlet学习笔记(一)
Servlet概述Jsp的前身就是Servlet。 Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模式来访问的这个驻留在服务器内存里的Servlet程序。Tomcat容器等级四个等级。 Containner,Engine,HOST,Servlet,Context(上下文)Servlet容器管理Context容器,一个...原创 2018-03-17 21:45:40 · 124 阅读 · 0 评论 -
Spring(一)——Bean配置
一、bean配置的要点1、配置形式:基于 XML 文件的方式;基于注解的方式 2、Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 &amp; 实例工厂方法)、FactoryBean 3、IOC 容器 BeanFactory &amp; ApplicationContext 概述 4、依赖注入的方式:属性注入;构造器注入 5、注入属性值细节 6、自动转配 7、b...原创 2018-04-06 11:05:35 · 202 阅读 · 0 评论 -
Spring(二)——AOP
一、AOP术语1、切面(Aspect): 横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象 2、通知(Advice): 切面必须要完成的工作 3、目标(Target): 被通知的对象 4、代理(Proxy): 向目标对象应用通知之后创建的对象 5、连接点(Joinpoint):程序执行的某个特定位置:如类某个方法调用前、调用后、方法抛出异常后等。连接点由两个信息确定:方法...原创 2018-04-12 21:11:14 · 263 阅读 · 0 评论 -
面试常问的知识点总结(持续更新)
JDK源码分析(jdk1.8)ArrayList源码分析 LinkedList源码分析 HashMap源码分析 HashTable源码分析 Object源码分析 Runtime源码分析 ConcurrentHashMap源码分析并发synchronized实现原理以及锁优化 volatile的底层原理(计算机层面——缓存一致性协议) 深入分析volatile的实现原...原创 2018-04-12 21:21:51 · 807 阅读 · 0 评论 -
常见开发框架
一、SpringSpring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。A.控制反转(IOC)是什么呢?IOC:控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初...原创 2018-04-12 21:27:02 · 10038 阅读 · 0 评论 -
ArrayList源码分析
概述:List接口可调整大小的数组实现。实现所有可选的List操作,并允许所有元素,包括null,元素可重复。 除了列表接口外,该类提供了一种方法来操作该数组的大小来存储该列表中的数组的大小。 时间复杂度: 方法size、isEmpty、get、set、iterator和listIterator的调用是常数时间的。 添加删除的时间复杂度为O(N)。其他所有操作也都是线性时间复杂...原创 2018-04-13 11:29:08 · 178 阅读 · 0 评论 -
List的clone()方法
概述在查看ArrayList和LinkedList的源码的时候,比较困惑的就是clone()方法。 我们都知道在Object里clone()方法是深拷贝,那在集合里它到底是深拷贝还是浅拷贝呢? 我们看一下ArrayList.clone()源码:public Object clone() { try { @SuppressWar...原创 2018-04-13 12:03:56 · 23076 阅读 · 4 评论 -
LinkedList源码分析
概述LinkedList是List和Deque接口的双向链表的实现。实现了所有可选List操作,并允许包括null值。 它可以被当作堆栈、队列或双端队列进行操作。并且其顺序访问非常高效,而随机访问效率比较低。 内部方法,注释会描述为节点的操作(如删除第一个节点),公开的方法会描述为元素的操作(如删除第一个元素) 注意,此实现不是同步的。 如果多个线程同时访问一个LinkedList实例,...原创 2018-04-13 12:17:36 · 167 阅读 · 0 评论 -
MySQL索引分类
一、MySQL索引的概念索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度(注:一般数据库默认都会为主键生成索引)。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对...原创 2018-04-14 09:41:17 · 306 阅读 · 0 评论 -
源码分析常见问题
一、ArrayList1、用数组存储数据 2、默认容量是10 3、容量不够时,创建新的一个数组,并且容量为原来的1.5倍(* old+(old&amp;amp;lt;&amp;amp;lt;1)* ,并将原来的data复制到新的数组里,原来的那个被垃圾回收。 4、非线程安全 5、clone()方法是浅克隆,只是创建一个新的数组,但是数据=引用二、LinkedList1、用链表存储数据 2、是List和Deq...原创 2018-07-10 17:44:43 · 291 阅读 · 0 评论 -
Netty学习笔记
前言: 作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事。如果你要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。 有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Red...原创 2018-07-06 16:29:22 · 176 阅读 · 0 评论 -
binlog以及Canel
一、NDB存储引擎在介绍binlog之前,需要先了解一下NDB NDB 存储引擎也叫NDB Cluster 存储引擎,主要用于MySQL Cluster 分布式集群环境。NDB特点: • 分布式:分布式存储引擎,可以由多个NDBCluster存储引擎组成集群分别存放整体数据的一部分 • 支持事务:和Innodb一样,支持事务 • 可与mysqld不在一台主机...原创 2018-07-06 18:10:11 · 13287 阅读 · 0 评论 -
ThreadLocal原理
一、TreadLocal介绍JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。ThreadLocal的四个方法:public T get()//获取ThreadLocal中当...原创 2018-07-13 22:45:17 · 186 阅读 · 0 评论 -
Java常见API-object、string、StringBuffer
介绍了三种最常见的API原创 2017-10-30 00:14:38 · 287 阅读 · 0 评论