docker 启动中间件

docker 启动 MySQL

# 创建目录
mkdir -p /Users/dongdong/software/mysql/{conf,data}docker run -d \
-p 3306:3306 \
-v /Users/dongdong/software/mysql/conf:/etc/mysql/conf.d \
-v /Users/dongdong/software/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql-8.0.29 \
mysql:8.0.29docker run -d \
-p 3306:3306 \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=YUANfang888 \
--name mysql-8.0.29 \
mysql:8.0.29

docker 启动 PostgreSQL

# 创建目录
mkdir -p /Users/dongdong/software/pgsql/{conf,data}docker run --name postgres \
-e POSTGRES_PASSWORD=postgres \
-p 5432:5432 \
-v /Users/dongdong/software/pgsql/data:/var/lib/postgresql/data \
-d postgres:17.4

docker 启动 Oracle

# 内存至少为4G
# 创建目录
mkdir -p /Users/dongdong/software/oracle/{conf,data}# 下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c# 创建文件
mkdir -p /data/oracle/data# 授权,不授权会导致后面安装失败
chmod 777 /data/oracle/data# 默认账号 SYSTEM# 启动容器
docker run -d \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORCLCDB \
-e ORACLE_PDB=ORCLPDB \
-e ORACLE_PWD=123456 \
-e ORACLE_EDITION=standard \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v /data/oracle/data:/opt/oracle/oradata \
--name oracle \
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

docker 启动 SQLServer

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=DongDong@YUANfang888" \-p 1433:1433 --name sql1 --hostname sql1 \-d \mcr.microsoft.com/mssql/server:2019-latest

docker 启动 MariaDB

# 创建目录
mkdir -p /Users/dongdong/software/mariadb/{conf,data}docker run --name mariadb \
-p 13306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-v /Users/dongdong/software/mariadb/data:/var/lib/mysql \
-d \
mariadb:11.7.2

docker 启动 Redis

# 创建文件目录
mkdir -p /Users/dongdong/software/redis/{conf,data}# 进入配置目录
cd /Users/dongdong/software/redis/conf
# 创建配置文件
vi redis.conf# 开启持久化存储
appendonly yes
port 6379
# 为了禁止外网访问redis 默认是true
protected-mode nodocker run -d -p 6379:6379 -v /Users/dongdong/software/redis/conf:/etc/redis/conf -v /Users/dongdong/software/redis/data:/data --name redis redis:6.2.17 redis-server /etc/redis/conf/redis.conf

docker 启动 Minio

# 创建目录
mkdir -p /Users/dongdong/software/minio/{conf,data}# 运行
docker run --name minio \
-d -p 9000:9000  -p 9001:9001 -e "MINIO_ROOT_USER=dongdong" \
-e "MINIO_ROOT_PASSWORD=dongdong"  -e "MINIO_COMPRESS=off" \
-v /Users/dongdong/software/minio/data:/data \
-v /Users/dongdong/software/minio/conf:/root/.minio/ \
quay.io/minio/minio:RELEASE.2022-08-02T23-59-16Z \
server --address ':9000' --console-address ":9001" /data# 进入控制面板
http://localhost:9001   账号: dongdong 密码: dongdong

docker 启动 RabbitMQ

# 启动
docker run -d --hostname rabbitmq --name rabbit -p 15672:15672 -p 5673:5672 rabbitmq:3.13# 运行命令
rabbitmq-plugins enable rabbitmq_management
# 如果出现异常 则输入umask 0022
rabbitmqctl add_user dongdong dongdong          # 添加用户
rabbitmqctl set_permissions -p / dongdong ".*" ".*" ".*" # 赋予admin用户所有权限
rabbitmqctl set_user_tags dongdong administrator         # 赋予admin用户administrator角色

docker 启动 RocketMQ

# 创建网络
docker network create rocketmq# 创建目录
mkdir -p /Users/dongdong/software/rocketmq/namesrv/{logs,store}
mkdir -p /Users/dongdong/software/rocketmq/broker/{conf,logs,store}# 启动nameServer
docker run -d --name nameserver \
-p 9876:9876 --network rocketmq \
-v /Users/dongdong/software/rocketmq/namesrv/logs:/root/logs \
-v /Users/dongdong/software/rocketmq/namesrv/store:/root/store \
apache/rocketmq:5.3.1 sh mqnamesrv# 创建brocker.conf 配置文件
# 配置 Broker 的IP地址
# brokerIP1 写 ip地址 
# echo "brokerIP1=192.168.31.199" > /opt/software/rocketmq/broker/conf/broker.conf
echo "brokerIP1=broker" > /Users/dongdong/software/rocketmq/broker/conf/broker.conf# 启动broker
docker run -d \
--name broker \
--network rocketmq \
-p 10912:10912 -p 10911:10911 -p 10909:10909 \
-p 8080:8080 -p 8081:8081 \
-e "NAMESRV_ADDR=nameserver:9876" \
-v /Users/dongdong/software/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf \
-v /Users/dongdong/software/rocketmq/broker/logs:/root/logs \
-v /Users/dongdong/software/rocketmq/broker/store:/root/store \
apache/rocketmq:5.3.1 sh mqbroker --enable-proxy \
-c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf# 部署dashboard
# JAVA_OPTS=-Drocketmq.namesrv.addr=nameserver:9876
# rocketmq.namesrv.addr 填写本机ip
docker run -d --name rocketmq-dashboard --network rocketmq \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=nameserver:9876" \
-p 9999:8080 weiweiplus/rocketmq-console-arm64:4.5.0

docker 启动 Nacos

# 准备数据库表文件
/** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//******************************************/
/*   表名称 = config_info                  */
/******************************************/
CREATE TABLE `config_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description',`c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage',`effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述',`type` varchar(64) DEFAULT NULL COMMENT '配置的类型',`c_schema` text COMMENT '配置的模式',`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/*   表名称 = config_info_aggr             */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************/
/*   表名称 = config_info_beta             */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   表名称 = config_info_tag              */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   表名称 = config_tags_relation         */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   表名称 = group_capacity               */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   表名称 = his_config_info              */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(20) unsigned NOT NULL COMMENT 'id',`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`op_type` char(10) DEFAULT NULL COMMENT 'operation type',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************/
/*   表名称 = tenant_capacity              */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`),	UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (`username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',`password` varchar(500) NOT NULL COMMENT 'password',`enabled` boolean NOT NULL COMMENT 'enabled'
);CREATE TABLE `roles` (`username` varchar(50) NOT NULL COMMENT 'username',`role` varchar(50) NOT NULL COMMENT 'role',UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (`role` varchar(50) NOT NULL COMMENT 'role',`resource` varchar(128) NOT NULL COMMENT 'resource',`action` varchar(8) NOT NULL COMMENT 'action',UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);# 创建目录
mkdir -p /Users/dongdong/software/nacos/conf# 创建配置文件
vi application.properties
spring.sql.init.platform=mysqldb.num=1
db.url.0=jdbc:mysql://mysql-8.0.29:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root# 启动容器
docker run --name nacos \
--link mysql-8.0.29 \
-e MODE=standalone \
-v   /Users/dongdong/software/nacos/conf/application.properties:/home/nacos/conf/application.properties -p 8848:8848 -d -p 9848:9848  nacos/nacos-server:v2.4.2

docker 启动 GitLab

docker run --detach \--hostname gitlab.local.com \--env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.local.com'" \--publish 443:443 --publish 80:80 --publish 10022:22 \--name gitlab \--restart always \--volume /data/gitlab/config:/etc/gitlab \--volume /data/gitlab/logs:/var/log/gitlab \--volume /data/gitlab/data:/var/opt/gitlab \--shm-size 256m \192.168.31.85/arm64/gitlab:17.1.4-ce.0# gitlab 迁移两个版本必须相同
# 获取密码 用户名 root
docker exec -it 容器名字或容器ID grep 'Password:' /etc/gitlab/initial_root_password

docker 启动 Nexus3

# 创建数据目录并设置正确权限
mkdir -p /data/nexus-data && chown -R 200:200 /data/nexus-data# 运行Nexus容器
docker run -d \-p 8081:8081 \--name nexus \-v /data/nexus-data:/nexus-data \sonatype/nexus3:3.81.1# 查看容器ID
docker ps -f name=nexus# 获取初始密码
docker exec -it <容器ID> cat /nexus-data/admin.password

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88654.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何批量旋转视频90度?

用相机拍摄视频的时候&#xff0c;原本是竖直拍的&#xff0c;但是放到电脑里面看的时候&#xff0c;却变成了横版的。如果我们需要放到剪映或者其他软件做剪辑的时候&#xff0c;一个一个去旋转视频会比较麻烦&#xff0c;这里&#xff0c;我们可以事先用.bat文件批处理的方式…

(2025)IDEA 下载与安装保姆级指南

目录 一、下载 IntelliJ IDEA &#xff08;一&#xff09;访问官方网站 &#xff08;二&#xff09;选择版本 &#xff08;三&#xff09;下载安装包 二、安装 IntelliJ IDEA &#xff08;一&#xff09;运行安装程序 &#xff08;二&#xff09;选择安装语言 &#xf…

【CV综合实战】基于深度学习的工业压力表智能检测与读数系统【1】压力表位置检测

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

性能狂飙 Gooxi 8卡5090服务器重新定义高密度算力

国鑫Intel Eagle Stream平台8卡RTX5090AI服务器性能到底有多强&#xff1f;小编一文带你看懂个中奥妙。国鑫Intel Eagle Stream平台8卡RTX5090AI服务器如图&#xff0c;国鑫Intel Eagle Stream平台8卡RTX5090AI服务器&#xff08;SY6108G-G4&#xff09;只有6U高度&#xff0c;…

零基础掌握Go语言需要多久?报班的话哪家好?

大家有没有发现&#xff0c;近年来&#xff0c;Go语言越来越受欢迎了&#xff0c;TIOBE榜单中&#xff0c;Go现在已经稳居前10了。 尤其在云计算、区块链、微服务等领域&#xff0c;Go语言更是“钦点语言”&#xff0c;很多大厂也都在积极使用Go语言&#xff0c;薪资待遇更是连…

【网络】Linux 内核优化实战 - net.ipv4.tcp_no_metrics_save

目录一、TCP连接指标缓存的作用二、tcp_no_metrics_save的取值及含义三、适用场景与影响推荐启用缓存&#xff08;值为0&#xff09;的场景&#xff1a;推荐禁用缓存&#xff08;值为1&#xff09;的场景&#xff1a;实际影响&#xff1a;四、如何查看和修改参数1. 查看当前值2…

13. G1垃圾回收器

1. JVM介绍和运行流程-CSDN博客 2. 什么是程序计数器-CSDN博客 3. java 堆和 JVM 内存结构-CSDN博客 4. 虚拟机栈-CSDN博客 5. JVM 的方法区-CSDN博客 6. JVM直接内存-CSDN博客 7. JVM类加载器与双亲委派模型-CSDN博客 8. JVM类装载的执行过程-CSDN博客 9. JVM垃圾回收…

算法学习笔记:13.归并排序——从原理到实战,涵盖 LeetCode 与考研 408 例题

归并排序是一种基于分治策略的经典排序算法&#xff0c;由约翰・冯・诺依曼在 1945 年提出。它以稳定的 O (nlogn) 时间复杂度和良好的可并行性&#xff0c;在大规模数据排序场景中占据重要地位。与快速排序的 “先分区后排序” 不同&#xff0c;归并排序采用 “先排序后合并”…

Kotlin基础学习记录

变量和函数 变量 // val为常量&#xff0c;一旦赋值就不可变 val a 10 val a: Int 10 a 3 // 报错// var为变量 var a 10 a 3 var b: Int 20 b 2函数fun add(a: Int, b: Int): Unit {a b // 报错&#xff0c;参数默认val }fun add(a: Int, b: Int) {var x: Int ax b …

【C#】GraphicsPath的用法

在 C# 中&#xff0c;GraphicsPath 是 GDI 提供的一个非常强大的类&#xff0c;用于创建和操作复杂图形路径。它可以用来绘制直线、曲线、多边形等形状&#xff0c;并支持判断点是否在路径内或路径的轮廓上。一、基本概念GraphicsPath 类功能&#xff1a;添加各种几何图形&…

C语言32个关键字

文章目录数据类型1、数据类型&#xff08;12个&#xff09;控制语句2、控制语句关键字&#xff08;12个&#xff09;存储类型3、存储类型关键字&#xff08;4个&#xff09;其他关键字4、其他关键字&#xff08;4个&#xff09;​一共32个关键字分为 数据类型 1、数据类型&am…

粒子滤波|粒子滤波的相关算法理论介绍

在自动控制、导航、目标跟踪等众多领域&#xff0c;系统状态估计是获取真实状态的关键环节。由于观测信号常受噪声干扰&#xff0c;滤波技术成为提取可靠信息的核心手段。本文将围绕目标跟踪技术中的滤波算法理论展开&#xff0c;重点解析粒子滤波框架的原理与应用。一、动态系…

Jenkins+Gitee+Docker容器化部署

写在前文 本文主要是通过Jenkins的maven项目版本GiteeDocker-maven插件来进行部署的&#xff0c;本文没有使用dockerfile/docker-compose。 本文默认已经安装了Docker 1、安装Jenkins Step1、创建文件夹当作映射jenkins的home文件夹 mkdir /app/jenkins Step2、赋权&#xff…

[Meetily后端框架] 多模型-Pydantic AI 代理-统一抽象 | SQLite管理

第5章&#xff1a;人工智能模型交互&#xff08;Pydantic-AI 代理&#xff09; 欢迎回来&#xff01; 在上一章第四章&#xff1a;文字记录处理逻辑中&#xff0c;我们学习了TranscriptProcessor如何将冗长的会议记录分解为称为"块"的较小片段&#xff0c;因为人工…

利用DeepSeek实现rust调用duckdb动态链接库的duckdb CLI

提示词&#xff1a;请用rust调用duckdb-rs实现一个duckdb CLI,支持语法突出显示和计时&#xff0c;还支持命令行管道输入输出 Cargo.toml [package] name "duckdb-cli" version "0.1.0" edition "2024"[dependencies] duckdb "1.3.1&qu…

C++,从汇编角度看《虚拟继承的邪恶》

刷到一篇文章&#xff1a; 作者&#xff1a; 原文&#xff1a;虛擬繼承的邪惡 讨论到这样的一个程序&#xff0c;最终输出什么&#xff1f;&#xff1f;&#xff1f; 代码有简化命名 using namespace std;class A { public:A(int a 0) : v(a) {};int v; };template <type…

多 Agent 强化学习实践指南(一):CTDE PPO 在合作捕食者-猎物游戏中的应用详解

我们来详细讲解如何在合作捕食者-猎物游戏中结合 PPO (Proximal Policy Optimization) 算法。我们将聚焦于 CTDE&#xff08;Centralized Training, Decentralized Execution&#xff0c;集中训练、分散执行&#xff09; 模式&#xff0c;因为这是处理合作多 Agent 任务的常用且…

Web应用文件上传安全设计指南

引言 在当今的Web应用中&#xff0c;文件上传功能已成为基础且必要的服务能力&#xff0c;但不当的设计可能带来目录遍历、代码注入、服务端资源耗尽等安全风险。本文从威胁模型、安全设计原则、技术实现三个维度&#xff0c;系统阐述安全文件上传架构的设计要点。 一、威胁模型…

用 React Three Fiber 实现 3D 城市模型的扩散光圈特效

本文介绍了如何使用 React Three Fiber&#xff08;R3F&#xff09;和 Three.js 实现一个从中心向外扩散的光圈特效&#xff08;DiffuseAperture 组件&#xff09;&#xff0c;并将其集成到城市 3D 模型&#xff08;CityModel 组件&#xff09;中。该特效通过动态调整圆柱几何体…

【牛客刷题】COUNT数字计数

文章目录 一、题目介绍二、题解思路三、算法实现四、复杂度分析五 、关键步骤解析5.1 数字分解5.2 三种情况处理5.2.1 情况1: d < c u r d < cur d<cur(完整周期)5.2.2 情况2: d = c u r d = cur d=cur(混合周期)5.2.3 情况3: d > c u r d > cur d>cu…