最佳实践(置顶)针对大家在测试过程中,经常出现的性能问题,以下给出3组最佳实践配置:如果生成ID速度不超过5W/s,不用修改任何配置参数如果生成ID速度超过5W/s,低于50W,推荐修改:SeqBitLength=10如果生成ID速度超过50W/s,接近500W,推荐修改:SeqBitLength=12总之,增加 SeqBitLength 会让性能更高,但生......查看详细
dynamic特性支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密(可自定义) ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。支持 自定义注解 ,需继承DS(3.2.0+)。提供并简化对Druid,Hikari......查看详细
Disruptor 是一个开源的高性能内存队列,由英国外汇交易公司 LMAX 开发的,获得了 2011 年的 Oracle 官方的 Duke's Choice Awards(Duke 选择大奖)。Disruptor 提供的功能类似于 Kafka、RocketMQ 这类分布式队列,不过,其作为范围是 JVM(内存)。Github 地址:https://......查看详细
dynamic特性支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密(可自定义) ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。支持 自定义注解 ,需继承DS(3.2.0+)。提供并简化对Druid,Hikari......查看详细
ArrayList是线程不安全的,这点毋庸置疑。因为ArrayList的所有方法既没有加锁,也没有进行额外的线程安全处理。而Vector作为线程安全版的ArrayList,存在感总是比较低。因为无论是add、remove还是get方法都加上了synchronized锁,所以效率低下。无意中看到掘金中有人写了这样一遍文章(我花了两天时间没解决的问题,chatg......查看详细
一个可视化的管理工具,适用于 docker 容器和 docker 群集群,可以浏览和维护 docker 单节点 或同时使用辅助角色和管理器的群集节点。DockerUI 是一个易于使用且轻量级的 docker 管理工具。通过网页界面的操作,它更 方便不熟悉 docker 指令的用户更快地进入 docker 世界。DockerUI有一个易于使用的界面。它不需要记......查看详细
虽然 MySQL5.6 引入了物化特性,但需要特别注意它目前仅仅针对查询语句的优化。对于更新或删除需要手工重写成 JOIN。借助 explain 执行计划来分析索引失效的具体场景。看到 SQL 执行计划中select_type字段中出现“DEPENDENT SUBQUERY”时,要特别注意。来看一个SQLEXPLAIN SELECT t.......查看详细
从Spring3开始提供了@Async注解,该注解可以被标注在方法上,以便异步地调用该方法。调用者将在调用时立即返回,方法的实际执行将提交给Spring TaskExecutor的任务中,由指定的线程池中的线程执行。Spring内部线程池,其实是SimpleAsyncTaskExecutor,它不会复用线程的,设计初衷就是执行大量的短时间的任务。指在@Asy......查看详细
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。