- 博客(13)
- 收藏
- 关注
原创 那些年我们踩过的坑-线程池核心线程数也有可能销毁重新创建
这个坑我在我另一篇文章里提过 不过感觉挺重要的 所以单独列出来https://blog.youkuaiyun.com/wwdwjm/article/details/99672803一般我们都知道线程池初始化的时候会设置核心线程数CorePoolSize 这个数量代表着我们把要执行的线程丢入到线程池中的工作线程执行 如果当前工作线程数小于等于核心线程数 执行完以后不会把这个工作线程销毁 而是一直等待 除非线...
2019-08-26 21:06:10
6695
原创 那些年我们踩过的坑-ConcurrentLinkedQueue.size慢
ConcurrentLinkedQueue作为队列 有时候需要调用size方法 看下 队列中是否有数据 可当这个队列大小比较大的时候发现size方法执行比较慢 可以看下一下源码public int size() { int count = 0; for (Node<E> p = first(); p != null; p = succ(p)) if (...
2019-08-22 20:20:38
1295
原创 那些年我们踩过的坑-BigDecimal精度丢失的问题
一般java需要对有小数点数字进行计算的时候都是推荐使用BigDecimal因为用这个来计算不会出现精度丢失的问题 可是如果使用不当 BigDecimal其实也会有精度丢失的风险下面的代码打印出来的结果可以猜猜是多少BigDecimal decimal = new BigDecimal(122.11);System.out.println(decimal.toString());//打印...
2019-08-21 21:00:05
1199
原创 ThreadPoolExecutor线程池源码解读keepAliveTime 空闲过期时间作用
keepAliveTime参数主要是把除了核心线程 其他线程当超过等待时间keepAliveTime 就会进行线程移除接下来主要讲下线程是如何创建 执行 然后操作等待时间是如何移除的 先介绍两个线程池的核心参数HashSet workers工作类集合Worker这个其实就是保存在线程池里的线程 实现了Runnable接口 当线程池中开启10个线程 就会创建10个Worker类 这些wor...
2019-08-16 13:04:08
2465
原创 mq如何通过异步命令组件做到顺序消费
场景当有一个业务需要监听订单创建和订单修改的消息 正常消费顺序肯定是需要先消费订单创建的消息 再消费订单修改的消息 不过也可能因为网络和mq投递速度的关系 导致订单修改的消息先发送到消费方 这就导致顺序乱了异步命令组件如何做到顺序消费https://github.com/bojiw/asyncmd收到订单创建的消息把消息内容放到异步命令对象中先保存到表中 然后返回给mq已经成功处理...
2019-08-14 20:38:25
550
原创 rabbitmq保证消息可靠 消息不丢失
三端可靠发送方和mq保证消息送达到mqmq保证保存的消息不丢失消费方和mq一起保证消息被成功消费发送方和mq保证消息送达到mq方案一、rabbitmq如果是用spring boot提供的模版接口发送 需要调用rabbitTemplate.convertSendAndReceive()方法发送 这个是当消息成功到队列了才会返回结果 如果失败则会抛异常 不过这就会导致等待时间比较长 适合...
2019-08-14 16:45:41
1076
原创 异步命令组件
这里写自定义目录标题前言使用demo异步命令组件核心功能使用逻辑使用场景一使用场景二使用场景三使用场景四使用场景五使用场景。。。欢迎补充快速使用注意点如何保证高可用详细配置项模型三种调度方式性能和调优默认配置性能测试调优github地址 https://github.com/bojiw/asyncmd码云地址https://gitee.com/wangwendi/asyncmd前言以前有幸...
2019-08-01 20:00:49
358
原创 jenkins加docker自动化部署
系统 阿里云centos7内网ip 172.17.188.51外网ip 59.110.157.77防火墙关闭因为服务器资源有限 一台服务器需要部署很多的服务 为了资源隔离所以采用docker容器的方式让各个服务分开购买的阿里云内存就2G 因为要部署很多应用 所以需要设置下交换分区swap来扩大内存 一般swap的大小为物理内存的2倍 所以我设置为4G一、查看系统
2017-09-05 00:12:41
905
原创 tomcat启动一直卡在Root WebApplicationContext: initialization completed
我在阿里云上安装docker然后在docker容器里启动tomcat一直卡在Root WebApplicationContext: initialization completed in 2520 ms以后要等3分钟才会启动我上传上去的项目 后来看到http://www.jianshu.com/p/576d356dc163这篇文章里找到了原因 主要是因为阿里云的熵池太小 熵池的大小是根据键盘 鼠标之
2017-09-04 17:57:46
11046
原创 docker安装redis
docker使用redis镜像安装默认是没有密码的 而我需要设置密码 所以需要从redis安装包拷贝配置文件出来cd /root/data[root@iZwz96h3u4k406z3koxxwaZ data]#wget http://download.redis.io/releases/redis-4.0.1.tar.gz[root@iZwz96h3u4k406z3koxxwaZ data]#
2017-08-31 15:26:07
730
原创 centos7挂载阿里oss到本地
阿里免费送了个oss 为了不浪费打算把oss直接挂载到系统本地 扩展系统空间 不过oss写入速度感觉一般般 可以拿来作为备份先在oss创建一个存储空间我命名为blog登录centos下载ossfs工具并且安装wget http://gosspublic.alicdn.com/ossfs/ossfs_1.7.9.3_centos7.0_x86_64.rpm yum localinstall ossf
2017-08-18 18:03:50
3416
原创 centos6.8升级内核安装docker
centos6.8默认的内核版本为2.6 而docker安装要求为系统64位 内核版本3以上 所以需要对内核版本进行更新最好先看看系统的selinux是否关闭 如果没关闭先关闭 SELINUX设置为disabled vi /etc/selinux/config # SELINUX= can take one of these three values:# enforcing - SE
2017-08-17 14:49:26
981
原创 阿里 旷视 百度 OCR图片文字识别功能对比
阿里旷视 百度 OCR图片文字识别功能对比因为项目中需要用到图片转文字的功能看到网上有挺多这方面的API 所以测试下哪个产品的功能更好目前选中了阿里 旷视 和百度这三家的API图片: 旷视识别出来的结果句对起沨1当初的爱你下面的是旷视把结果返回的json字符串{"image_id":"AvOVDQxfja9cu+rL0mYurQ==", "result":[{"
2017-08-03 10:09:45
10375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人