09 2021 档案
摘要:概述 IO模型: 同步阻塞IO同步非阻塞IOIO多路复用异步IO BIO,NIO,AIO,Netty及Redis线程模型 1、BIO,NIO,AIO的区别? 2、什么是阻塞IO以及非阻塞IO? 3、Reactor和Proactor IO设计模式是什么? 4、NIO底层select、poll和epol
阅读全文
摘要:概述 本文非原创,整理网络资源学习备用。 MySQL 8.0 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 注意:从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,不支
阅读全文
摘要:概述 实际开发中,很常见的一种需求,即拦截机器人登陆,增加略微复杂的滑动验证码(相对于静态验证码而言)。 网络上有很多的实现,并且封装成maven可以检索的jar包。 实现 先给出后端的接口: 后端 /** * 校验滑动验证码 */ @RequestMapping("checkcaptcha") p
阅读全文
摘要:概述 在 Servlet3.0 之前,Servlet 采用 Thread-Per-Request 的方式处理 Http 请求,即每一次请求都是由某一个线程从头到尾负责处理。 如果一个请求需要进行 IO 操作,比如访问数据库、调用第三方服务接口等,那么其所对应的线程将同步地等待 IO 操作完成, 而
阅读全文
摘要:概述 随着MySQL单表的数据量越来越大,即使有加索引,查询速度也会越来越慢。如果历史数据无用,可以使用硬删除,但即使把这些数据删除,但底层的数据文件并没有变小。面对这类问题,最有效的方法就是在使用分区表。最常见就是按照时间进行分区,可以非常高效的进行历史数据的清理。 MySQL有一种早期的简单的分
阅读全文
摘要:概述 作用:用于抑制编译器产生警告信息,即IDEA里面的黄色代码块。 抑制单类型的警告: @SuppressWarnings("unchecked") public void add(String item) { List items = new ArrayList(); items.add(ite
阅读全文
摘要:概述 项目使用到 impala/hive 查询引擎,ELK记录每天都要抛出差不多一两条报错信息:java.net.SocketTimeoutException: Read timed out。原因应该是SQL比较复杂,查询超时。故而可以考虑设置超时时间。 参考SocketTimeoutExcepti
阅读全文
摘要:概述 说来惭愧,工作5年多,才来研究这个问题。平心而论,这种实际问题比什么单例模式的几种写法有意义有价值多。真要给自己找理由的话,刚工作时用hibernate及Spring Data Jpa,后短暂使用过MyBatis,再后来使用公司自研的数据访问层框架DAL,也没用到MyBatis,再就是现在的工
阅读全文
摘要:定义 @Autowired:默认byType进行自动装配,可以用于构造器、字段、方法注入,且必须有一个Bean候选者注入;如果允许出现0个Bean候选者需要设置属性"required=false","required"属性含义和@Required一样,只是@Required只适用于基于XML配置的s
阅读全文
摘要:背景 某次代码提交后,测试扔过来一个构建失败的链接,整个页面上百行都是红的。大致扫了眼,都是一些cannot find symbol的报错,而且都是在POJO类上面,而这些类本地代码看下来没有任何毛病。在POJO的定义上有使用lombok,但是这不是第一次构建,显然与lombok无关: 遂,让测试重
阅读全文
摘要:概述 本文记录历史遗留项目在生产环境中使用Quartz时遇到的问题,有些问题并未解决,请知悉。 背景:项目虽然立项时间并不早(2018年),但是依然没有使用分布式的任务调度系统,如xxl-job,elastic-job等开源产品。而是使用quartz这个算是最古老的工具,Quartz虽然可以实现分布
阅读全文
摘要:概述 MySQL5系列最高版本号是5.7;没有MySQL 6,7系列。 MySQL 8.0+才引入regexp_replace,regexp_like,regexp_instr,regexp_substr四个函数,在低于此版本的MySQL客户端执行这四个函数,报错:FUNCTION regexp_x
阅读全文
摘要:概述 作为一个Java开发者,FastJson可以说是必用的JSON序列化和反序列化工具。 FastJson是一个高性能JSON处理器,无外部依赖。FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要指定引用。FastJson采用独创算法
阅读全文