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...阅读全文>>
从Spring3开始提供了@Async注解,该注解可以被标注在方法上,以便异步地调用该方法。调用者将在调用时立即返回,方法的实际执行将提交给Spring TaskExecutor的任务中,由指定的线程池中的线程执行。Spring内部线程池,其实是SimpleAsyncTaskExecutor,它不会复用线程的,设计初衷就是执行大量的短时间的任务。指在@Async注解在使用时,不指定线程池的名称。查看源码,@Async的默认线程池为SimpleAsyncTaskExecutor。默认线程池的弊端在线程池应用中,参考阿里巴巴java开发规范:线程池不允许使用Executors去创建,不允许使用系统...阅读全文>>
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。拉去镜像docker pull docker.io/elasticsearch:7.1.1创建网络docker network create elastic运行docker run -d \ --name es01 \ --net el...阅读全文>>
HTML <video> 元素 用于在 HTML 或者 XHTML 文档中嵌入媒体播放器,用于支持文档内的视频播放。你也可以将 <video> 标签用于音频内容,但是 <audio> 元素可能在用户体验上更合适。在不支持 video 元素的浏览器中,<video></video> 标签中间的内容会显示,作为降级处理。controls属性加上这个属性,浏览器会在视频底部提供一个控制面板,允许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。具体参考:https://developer.mozilla.org/zh-CN/docs/We...阅读全文>>
这里使用的虚拟机是VMware® Workstation 16 Pro,使用的Linux是CentOS Linux release 7.9.2009 (Core)。默认安装的CentOS7以后,每次重启虚拟机,IP都会变化,这样肯定是不友好的,这里我们配置一个指定的IP,并且虚拟机可以通过本机上网。为了简便操作,你可以按照下述IP内容直接配置即可。一、配置IP地址(1)找到虚拟机软件配置的NAT地址信息编辑 -> 虚拟网络编辑器 -> 选择NAT模式的VMnet8 -> 点击NAT设置。(2)配置网卡信息控制面板\网络和 Internet\网络连接,配置VMware Netw...阅读全文>>