java
CCCAAAAFFFFF
菜鸟一只,但仍想努力
展开
-
基于消费者生产者模型,使用线程池控制发送HTTP请求的定时器
摘要: 在业务中遇到了一种场景,在对于被请求方难以被优化的情况下,尝试通过在发送端通过线程池控制允许同时发送请求的数量,以降低直接请求服务端的压力,也要考虑请求发送失败时的重试机制;同时,需要每一次请求后的数据的集合,进行数据库的批量查询,因此使用多线程中的经典的消费者生产者模型进行控制变量,等待所有请求处理完毕后,再统一进行操作。上干货 先来看线程池的声明,因为...原创 2020-04-30 00:33:50 · 349 阅读 · 0 评论 -
jdbcTemplate使用变量名的方式替换SQL,实现批量查询和模糊查询
在项目中遇到了一种优化场景,既需要条件查询、批量查询,又需要判断进行模糊查询,同时,在某种特殊场景下,会查询大量的数据,在不使用缓存的前提下,针对操作数据库的层级,进行了优化,同时只返回固定数据,减轻数据库的I/O负担。代码如下: 特别说明:考虑过使用jdbcTemplate拼接SQL后的查询效率和使用Mybatis的方式进行比较,但个人比较喜欢jdbcTempla...原创 2020-04-29 23:44:26 · 1778 阅读 · 1 评论 -
Result Maps collection already contains value for com.javaedu.dao.BrandMapper.BaseResultMap错误解决方案
11:30:05.908 [main] ERROR o.m.spring.mapper.MapperFactoryBean - Error while adding the mapper 'interface com.javaedu.dao.BrandMapper' to configuration.org.apache.ibatis.builder.BuilderException: Err...原创 2018-08-09 14:24:15 · 578 阅读 · 0 评论 -
Communications link failure及导致此原因的Permission denied: connect
起因:昨天编写的好好的程序,今天突然连不上MySQL数据库了,尤其是在使用mybatis-generator-core的逆向工程的生成工具时,完全不能成功。提示信息没有保存好,大致意思如标题所示借鉴博客1:https://blog.csdn.net/qq_19598855/article/details/45440157借鉴博客2:https://blog.csdn.net/gsyin...原创 2018-08-12 12:17:56 · 985 阅读 · 0 评论 -
Java在不同系统中的回车换行
被坑过,特别记录首先,要明确回车(carriage return):\r,换行(line feed):\n,Windows系统:\r\n,unix/Linx系统:\n,Mac系统:\r我们可以看Windows下的示例:package test01;/** * Java输出测试 * @author yanhan * */public class Scanne...原创 2018-08-27 10:11:13 · 1289 阅读 · 0 评论 -
已知一棵树的先序遍历和中序遍历,获取其后序遍历
public class Test { public class Tree{ public String data; public Tree left; public Tree right; } public Tree buildTree(String a,String b) { Tree root = new Tree(); int apos = 0; ...原创 2019-07-12 10:50:15 · 829 阅读 · 0 评论 -
expected single matching bean but found 2: onedbJdbcTemplate,twodbJdbcTemplate
异常问题,如题,详细见下Error creating bean with name 'monitorDao': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowi...原创 2019-08-21 13:54:07 · 1476 阅读 · 2 评论 -
Java下得到ArrayList<String>占用内存大小的方法
刚需:压测时需要占用较大的内存,但使用ArrayList<String>时,无法获得每次调用占用的内存大小.问题:Java中List的实际申请长度并不是size()取到的长度,而且,每次String申请的内存地址空间和主机有关,诸多因素导致计算估值并不是很准确参考方案如下代码Runtime r = Runtime.getRuntime();long startRAM...原创 2020-04-30 00:41:09 · 8497 阅读 · 0 评论