前言前不久帮同事一起review一个job执行缓慢的问题时发现不少朋友在撸码实现功能时还是有需要细节不够注意,于是便有了这篇文章。ArrayList踩坑List<String>temp=newArrayList();//获取一批数据List<String>all=getData();for(Stringstr:all){temp.add(str);}首先大家看看这段代码有什
分类:
其他好文 时间:
2020-12-16 12:52:45
阅读次数:
3
前言最近稍微闲了一点于是把这个半年都没更新的开源项目cicada重新捡了起来。一些新关注的朋友应该还不知道这项目是干啥的?先来看看官方介绍吧(其实就我自己写的
分类:
其他好文 时间:
2020-12-16 12:52:30
阅读次数:
3
前言最近个人事情比较多(搬家、换工作、短暂休息)所以一直也没有顾得上博客更新,恰好最近收到一封邮件提醒了我。也是时候写一篇文章来聊聊参与开源项目的事(最近也确实进入了笔荒期)。ps:第一次收到这样的中秋节礼物,加上Dubbo社区的活跃及阿里的重视度,还在做RPC或微服务技术选型的朋友可以考虑Dubbo。参与开源现在具体来聊聊参与开源的事;日常几乎所有的开发者都会享受到开源项目所带来的便利甚至是收益
分类:
其他好文 时间:
2020-12-16 12:52:07
阅读次数:
3
前言好久没更新了,最近事比较多,或许下个月就会恢复到正常的发文频次。这篇文章得从一个emoji表情开始,我之前开源的一个IM项目中有朋友提到希望可以支持emoji表情传输。https://github.com/crossoverJie/cim/issues/12正好那段时间有空,加上这功能看着也比较简单准备把它实现了。但在真正实现时却发现没那么简单。我首先尝试将一个emoji表情存入数据库看看:果
分类:
其他好文 时间:
2020-12-16 12:51:46
阅读次数:
2
前言近期在维护公司的调度平台,其中有个关键功能那就是定时任务;定时任务大家平时肯定接触的不少,比如JDK中的Timer、ScheduledExecutorService、调度框架Quartz等。通常用于实现XX时间后的延时任务,或周期性任务;比如一个常见的业务场景:用户下单N分钟未能支付便自动取消订单。实现这类需求通常有两种方式:轮询定时任务:给定周期内扫描所有未支付的订单,查看时间是否到期。延时
分类:
其他好文 时间:
2020-12-16 12:51:24
阅读次数:
2
前言最近在用Python的SQLAlchemy库时(一个类似于Hibernate的ORM框架),发现它的Events事件还挺好用。简单说就是当某张表的数据发生变化(曾、删、改)时会有一个事件回调,这样一些埋点之类的需求都可以实现在这里,同时和业务代码完全解耦,维护起来也很方便。例如当订单状态发生变化需要发异步通知这样的需求也可以利用这个实现。根据我之前使用Mybatis的经验,好像没怎么注意有这个
分类:
其他好文 时间:
2020-12-16 12:51:04
阅读次数:
2
前言最近准备将公司的一个核心业务系统用Java进行重构,大半年没写Java,JDK都更新到14了,考虑到稳定性等问题最终还是选择的JDK11。在整体架构选型时,由于是一个全新的系统,所以没有历史包袱,同时团队中也有多位大牛坐镇,因此我们的选项便大胆起来。最终结果就是直接一把梭,直接上未来的大趋势:ServiceMesh,直接把什么SpringCloud、Dubbo这类分布式框架全部干掉。本次的重点
分类:
其他好文 时间:
2020-12-16 12:50:42
阅读次数:
2
前言这段时间在维护产品的搜索功能,每次在管理台看到elasticsearch这么高效的查询效率我都很好奇他是如何做到的。这甚至比在我本地使用MySQL通过主键的查询速度还快。为此我搜索了相关资料:这类问题网上很多答案,大概意思呢如下:ES是基于Lucene的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于MySQL来说不擅长经常更新数据及关联查询。说的不是很透彻,没有解析
分类:
数据库 时间:
2020-12-16 12:50:13
阅读次数:
4
1.什么是AOP AOP为Aspect Oriented programming的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 (1)什么是动态代理? 是在不修改源码的情况下,对目标方法进行相应的增强 (2)动态代理的作用 可以完成程序功能间的松耦合 ...
分类:
编程语言 时间:
2020-12-16 12:49:55
阅读次数:
3
本地maven setting.xml 文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor ...
https://developers.weixin.qq.com/community/develop/doc/0000021e37c71054356781ba551c00 例子 {"touser":"${OPENID}","msgtype":"text","text":{"content":"本文内 ...
分类:
微信 时间:
2020-12-16 12:49:10
阅读次数:
3
前言 最近在学 react,看到 react-redux 这里,刚开始觉得一脸懵逼,后面通过查阅相关资料和一些对源码的解释,总算有点头绪,今天在这里总结下。 类似于 vue,React 中组件之间的状态管理 第三方包为:react-redux。react-redux 其实是 Redux的官方Reac ...
分类:
其他好文 时间:
2020-12-16 12:48:51
阅读次数:
3
Docker基础 Docker 安装 ubuntu18.04 server 服务器安装Docker程序 sudo apt install docker.io systemctl enable docker systemctl restart docker Docker 获取镜像 #获取nginx 镜 ...
分类:
其他好文 时间:
2020-12-16 12:48:32
阅读次数:
3
vi编辑文件,输入上下会出现字母,感觉按键错乱了 。 编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式; set nocompatible 并添加一句: set backspace=2 ...
分类:
系统相关 时间:
2020-12-16 12:48:07
阅读次数:
4
623. 在二叉树中增加一行 思路 采用广度优先遍历的方式,同时在遍历的时候记录当前深度,如果深度与d相等,那么就改变当前层次树的结构,遍历完了之后直接return root即可。 需要注意的点是,如果深度为1,则可以直接创立一个新的节点,并把root赋值给树的left节点即可。(这是一个隐藏的坑, ...
分类:
其他好文 时间:
2020-12-16 12:47:50
阅读次数:
3
搭建时间服务器,客户端可在每天早晨的9:00整从ntp服务器更新自己的时间 搭建时间服务器 [root@bogon ~]# getenforce # 查看 selinux 状态 [root@bogon ~]# systemctl status firewalld # 查看防火墙状态 [root@bo ...
分类:
其他好文 时间:
2020-12-16 12:47:27
阅读次数:
2
目标:可以配置Feign内置ribbon配置项和Hystrix熔断的Fallback配置 分析: 负载均衡 服务熔断 请求压缩 日志级别 都可以通过配置项在Feign中开启使用。 小结: 在服务消费工程consumer-demo中的配置文件: ribbon: ConnectTimeout: 1000 ...
分类:
其他好文 时间:
2020-12-16 12:47:09
阅读次数:
3