- 博客(23)
- 收藏
- 关注
原创 SynchronousQueue队列TransferStack源码transfer方法图解
SynchronousQueue内部使用Transferer来交换元素,分为公平模式和非公平模式:公平模式使用队列,非公平模式使用栈;public SynchronousQueue(boolean fair) { // 如果是公平模式就使用队列,如果是非公平模式就使用栈 transferer = fair ? new TransferQueue<E>() : new TransferStack<E&g
2020-11-05 22:56:45
592
1
原创 MultipartFile转File,getStoreLocation()为null;
场景 前端导入excel文件,springMVC解析内容入库.遇到问题 使用提供模板数据导入正常,但是删除部分数据再导入时报错.如图:解决方案1 配置springMVC的CommonsMultipartResolver也需要设置文件最小值(!@.@),默认为10k, 上传文件大小若小于此参数,则不会生成临时文件.<!-- 配置支持上传文件 -->
2020-09-10 10:20:24
1565
2
原创 根据实际文本区分度决定索引长度
在看java开发手册时,发现提到了索引长度与区分度(小白路过),如下:【强制】在 varchar 字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度。说明:索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为20的索引,区分度会高达90%以上,可以使用 count(distinct left(列名, 索引长度))/count(*)的区分度来确定。索引长度与区分度矛盾关系索引长度太短,那么区分度就很低,索引占内存越低,索引长度太长,区分度就高,
2020-08-20 10:38:37
571
原创 HTML中使用velocity标签
文章目录赋值语句问号表达式等价写法if 判断for循环集合循环固定次数字符串截取日期格式BigDecimal格式处理赋值语句#set($fixAndNorSize = 3)问号表达式等价写法例: gainVehicleSite == 2 ? ☑:☐;#set($gainVehicleSite2 = "#if($gainVehicleSite == 2) ☑ #{else} ☐ #end")if 判断if-else if -else #if($!fixAndNorSize == 1)
2020-08-13 16:03:51
716
原创 排序算法总结
排序算法归并排序原理复杂度递归法回溯法(待补充)有不足之处,欢迎指出! 欢迎来打脸 (:>)归并排序原理 分解: 分为两个序列,0~n/2与 n/2+1~n序列; 合并排序: 用归并排序法对两个子序列进行递归排序; 合并: 将两个排序的子序列进行合并;复杂度 平均时间复杂度:O(nlogn) 最佳时间复杂度:O(n) 最差时间复杂度:O(nlogn) 空间复杂度:O(n) &
2020-07-30 23:18:37
131
原创 bean生命周期执行的方法总结
方法执行顺序:1.@PostConstruct注解的方法.2.实现InitializingBean接口重写的afterPropertiesSet方法3.init-method/@Bean(initMethod)方法,指定创建bean时调用初始化方法4.实现SmartLifecycle接口的start方法5.实现SmartLifecycle接口的stop方法6.@PreDestroy注解的方法,7.实现DisposableBean接口重写的destroy方法8.destroy-method/@
2020-07-03 11:03:41
366
原创 打印零与奇偶数 思路分析
1116. 打印零与奇偶数假设有这么一个类:class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void even(printNumber) { ... } // 仅打印出 偶数 public void odd(printNumber) { ... } // 仅打印出 奇数}相同的一个
2020-07-01 14:58:20
3121
2
原创 org.springframework.web.servlet.resource.ResourceHttpRequestHandler.obtainApplicationContext()
检查依赖的org.springframework的版本:1.依赖的spring组件是否版本一致.2.依赖的其他组件中引入的spring版本是否和当前的版本是否一致,不一致需要排除.
2020-06-25 11:30:22
482
原创 Caused by: java.lang.NoClassDefFoundError: org/springframework/core/annotation/SynthesizingMethodPar
启动报错:Caused by: java.lang.NoClassDefFoundError: org/springframework/core/annotation/SynthesizingMethodParameterSynthesizingMethodParameter在Spring 4.2以上版本中才引入。<dependency> <groupId>org.springframework</groupId> <artifactId&g
2020-06-25 11:21:37
2292
原创 springMVC的doDispatch详细分析
文章目录示例:1.doDispatch执行逻辑2.根据reqeust获取handler2.1 getHandler2.2 getHandlerInternal2.3 lookupHandlerMethod2.4 createWithResolvedBean2.4 getHandlerExecutionChain3.根据handler获取handlerAdapter,4.preHandle5.handler执行源码分析5.1 handle5.2 invokeHandlerMethod5.3invokeAndH
2020-06-21 00:46:25
474
原创 内省(IntroSpector)、反射及IntrospectorCleanupListener
文章目录内省(IntroSpector)反射(Reflect)IntrospectorCleanupListener作用解释参考文献内省(IntroSpector) 内省(IntroSpector)是Java语言对JavaBean 类属性、方法及事件的一种处理方法,只有符合JavaBean规则的类的成员才可以采用内省API进行操作. 其操作方式是通过Introspector的getBea
2020-06-17 11:10:45
303
原创 获取请求中的真实IP
public class IpAddr { /** * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, * * 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢? * 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。 * * 如:X-F
2020-06-11 10:53:35
492
原创 跨域请求(CORS)分析及解决方案
文章目录什么是跨域常见的跨域场景解决思路 资源提供方策略: 支持跨域访问 调用方策略: 使用代理(使访问的资源都在同域名下)跨域解决方案跨域资源共享(CORS)nginx代理跨域参考文档什么是跨域 跨域: 一个域下的文档或脚本试图去请求另一个域下的资源, 即从一个服务器上通过(不同与当前服务器的域、协议或端口的)请求访问另一服务器上的资源。广义的跨域: 1. 资源跳转: A链接、重定向、表单提
2020-06-03 17:44:57
885
原创 spring源码中AOP全流程分析
文章目录1.加载xml配置标签加载及校验2.解析并注册3.初始化和实例化获取拦截对象的增强Advisors创建代理对象4 调用JdkDynamicAopProxyCglibAopProxy1.加载xml配置标签< beans .... xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/aop/spri
2020-06-01 09:34:54
435
原创 Count(1)、Count(列名) 与 Count(*) 区别
Count(1) 与 Count(*) 区别结论: COUNT(1)和COUNT()执行优化器的优化是完全一样的,并没有COUNT(1)会比COUNT()快。解释:COUNT()有两个非常不同的作用: 一.统计某个列值的数量,在统计列值时要求列值是非空的(不统计NULL)。如果在COUNT()的括号中定了列或者列表达式,则统计的就是这个表达式有值的结果数。 二.统计行数。当MySQL...
2020-05-07 15:34:01
378
原创 utf8mb4 与utf8 区别
utf8mb4 与utf8 区别区别utf8mb4: MySQL在5.5.3之后增加了这个utf8mb4的编码,专门用来兼容四字节的unicode,mb4表示most bytes 4,utf8mb4是utf8的超集,utf8: 最大字符长度为 3 字节,插入 4 字节的宽字符就会异常,修改sql # 修改数据库: ALTER DATABASE database_name CHA...
2020-05-07 15:22:54
401
原创 java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotatedElementUtils.findAllMerged
报错信息14:28:26.034 [main] DEBUG o.s.t.c.j.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class lease2018.ChangeRateByBillCode]14:28:26.065 [main] DEBUG o.s.test.context.Boo...
2020-01-16 19:56:27
685
2
原创 希尔排序图解
希尔排序希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。基本思想是: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。代码实现:public class Shell { public static void main(String[] args) ...
2020-01-15 15:19:29
190
原创 类的静态变量初始化
类的静态变量初始化例:public class Test { private static int a = 0; private static Test t = new Test(); private static int b = 0; private Test() { a++; b++; System.out....
2020-01-09 16:07:03
2158
原创 Error:java: Compilation failed: internal java compiler error 错误
Error:java: Compilation failed: internal java compiler error 错误项目的jdk版本配置不正确,通过下图方式修改:
2020-01-09 09:52:28
112
原创 springboot 使用poi导出excel文件,及注意项
springboot 使用poi导出excel文件,及注意项1.maven依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></...
2019-03-27 10:52:53
1344
转载 mybatis中使用Integer类型的参数为空判断
mybatis中使用Integer类型的参数为空判断<if test="staging != null and staging != ''"> staging = #{staging},</if>1.String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 staging= 0, mybatis在进行 staging!= ‘’ 的时候...
2019-03-26 10:02:34
5906
2
原创 解决org.apache.rocketmq报No route info of this topic:异常
解决org.apache.rocketmq报No route info of this topic:异常在使用rocket过程中遇到问题,使用com.alibaba.rocketmq的依赖包不会报错,而使用Apache(copy 官网 example)的报如下错误:Exception in thread &quot;main&quot; org.apache.rocketmq.client.exception.M...
2018-11-05 10:20:19
2396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人