要在Edge中强制启用黑色模式(深色模式),可以按照以下步骤进行:在地址栏里输入: edge://flags,然后按下回车键。在搜索框里输入:"Force Dark Mode for Web Contents"(如果没有这项就输入"Auto Dark Mode for Web Contents")它的中文意思是强制网页开启暗色模式将选项中的Default 改为 Enabled点击下方重启即可完成上述步骤后,Edge浏览器将强制启用黑色模式(深色模式)。要在Google Chrome中强制启用黑色模式(深色模式),可以按照以下步骤进行:在Chrome浏览器...阅读全文>>
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。https://www.rabbitmq.com/ 如果不指定,系统运行,MQ就会马上进行消息的处理。但是此时系统并没有完全加载完毕,有一些内存的变量现在还没有值,这样启动肯定会有问题。这里我们需要指定一下MQ为手动启动,启动时机为系统初始化完毕。首先本地需要有RabbitMQ环境,然后创建一个Queue名字为myQueue。用Spri...阅读全文>>
Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。 它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。 下载 (官网:https://min.io/ ) cd /tmp wget https://dl.min.io/server/minio/release/linux-amd64/minio 创建...阅读全文>>
最佳实践(置顶)针对大家在测试过程中,经常出现的性能问题,以下给出3组最佳实践配置:如果生成ID速度不超过5W/s,不用修改任何配置参数如果生成ID速度超过5W/s,低于50W,推荐修改:SeqBitLength=10如果生成ID速度超过50W/s,接近500W,推荐修改:SeqBitLength=12总之,增加 SeqBitLength 会让性能更高,但生成的 ID 也会更长。算法介绍这是优化的雪花算法(雪花漂移),它生成的ID更短、速度更快。支持 k8s 等容器环境自动扩容(自动注册 WorkerId),可在单机或分布式环境生成数字型唯一ID。原生支持 C#/Java/Go/C/Rust/...阅读全文>>
dynamic特性支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密(可自定义) ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。支持 自定义注解 ,需继承DS(3.2.0+)。提供并简化对Druid,HikariCp,BeeCp,Dbcp2的快速集成。提供对Mybatis-Plus,Quartz,ShardingJdbc,P6sy,Jndi等组件的集成方案。提供 自定义数据源来源 方案(如全从数据库加载)。提供项目启动后 动态增加移除数据源 方案。...阅读全文>>
Disruptor 是一个开源的高性能内存队列,由英国外汇交易公司 LMAX 开发的,获得了 2011 年的 Oracle 官方的 Duke's Choice Awards(Duke 选择大奖)。Disruptor 提供的功能类似于 Kafka、RocketMQ 这类分布式队列,不过,其作为范围是 JVM(内存)。Github 地址:https://github.com/LMAX-Exchange/disruptor 官方教程:https://lmax-exchange.github.io/disruptor/user-guide/index.html Disrup...阅读全文>>
dynamic特性支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密(可自定义) ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。支持 自定义注解 ,需继承DS(3.2.0+)。提供并简化对Druid,HikariCp,BeeCp,Dbcp2的快速集成。提供对Mybatis-Plus,Quartz,ShardingJdbc,P6sy,Jndi等组件的集成方案。提供 自定义数据源来源 方案(如全从数据库加载)。提供项目启动后 动态增加移除数据源 方案。...阅读全文>>
ArrayList是线程不安全的,这点毋庸置疑。因为ArrayList的所有方法既没有加锁,也没有进行额外的线程安全处理。而Vector作为线程安全版的ArrayList,存在感总是比较低。因为无论是add、remove还是get方法都加上了synchronized锁,所以效率低下。无意中看到掘金中有人写了这样一遍文章(我花了两天时间没解决的问题,chatgpt用了5秒搞定)看到最后,终归来说是一个多线程下的并发问题,有些人可能觉得这个问题很弱,但是咋说呢,我也遇上了。因为我按正常逻辑写了一段代码,需要从数据库查询7次数据,后来发现每次查询的速度特别慢,由于业务原因SQL暂时无法优化。此时想到...阅读全文>>
一个可视化的管理工具,适用于 docker 容器和 docker 群集群,可以浏览和维护 docker 单节点 或同时使用辅助角色和管理器的群集节点。DockerUI 是一个易于使用且轻量级的 docker 管理工具。通过网页界面的操作,它更 方便不熟悉 docker 指令的用户更快地进入 docker 世界。DockerUI有一个易于使用的界面。它不需要记住 docker 指令。只需下载图片 您可以立即加入并完成部署。基于docker的特性,镜像的版本可以 直接在码头工人 UI 中更新。使用相同的设置,可以通过重新部署和替换 刚性容器,可以使用最新版本的功能。DockerUI 涵盖了 doc...阅读全文>>
虽然 MySQL5.6 引入了物化特性,但需要特别注意它目前仅仅针对查询语句的优化。对于更新或删除需要手工重写成 JOIN。借助 explain 执行计划来分析索引失效的具体场景。看到 SQL 执行计划中select_type字段中出现“DEPENDENT SUBQUERY”时,要特别注意。来看一个SQLEXPLAIN SELECT t.id FROM student t WHERE t.is_del=0 and t.classin_err_times<10 AND&nbs...阅读全文>>