当前位置: 首页 > news >正文

Java随机生成邀请码 (包含字母大小写+数字)

前言:

        目前我们生成的是6位包含数字和大小写字母的随机邀请码, 并且代码中已经有了处理冲突的机制确保了邀请码的唯一性如(①生成随机邀请码后会检查数据库中是否已存在②如果存在冲突,会尝试最多10次重新生成③如果多次尝试仍失败,会使用"U"+用户ID派生的备选方案), 所以您不用担心会有两个用户拥有完全相同的邀请码的情况,系统已经设计了防止这种情况发生的机制。

理论容量:

  1. 可用字符集:26个小写字母 + 26个大写字母 + 10个数字 = 62个字符
  2. 6位组合的可能性:62^6 = 56,800,235,584种可能组合,绝对的量大管饱.

1. askController.java

import java.util.Map;
import java.util.HashMap;/*** 随机生成邀请码* 如果用户已经有邀请码,则直接返回已有的邀请码* 如果用户没有邀请码,则生成新的邀请码并保存** @param userId 用户ID* @return 用户的邀请码*/@GetMapping("/random/{userId}")public Map<String, Object> generateRandomCode(@PathVariable Long userId) {Map<String, Object> result = new HashMap<>();if (userId == null || userId <= 0) {result.put("code", 400);result.put("message", "用户ID不能为空");return result;}try {String invitationCode = askService.generateInvitationCode(userId);result.put("code", 200);result.put("message", "获取邀请码成功");result.put("data", invitationCode);} catch (Exception e) {result.put("code", 500);result.put("message", "获取邀请码失败:" + e.getMessage());}return result;}

2. askService.java

/*** 生成并保存邀请码** @param userId 用户ID* @return 生成的邀请码*/String generateInvitationCode(Long userId);

3. askServiceImpl.java

/*** 生成并保存邀请码** @param userId 用户ID* @return 生成的邀请码*/@Overridepublic String generateInvitationCode(Long userId) {// 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写)GJSJQKTX gjsjqktx = askMapper.getByUserId(userId);// 如果用户已有邀请码且不为空,则直接返回已有的邀请码if (gjsjqktx != null && gjsjqktx.getPzProxyInvite() != null && !gjsjqktx.getPzProxyInvite().isEmpty()) {return gjsjqktx.getPzProxyInvite();}// 否则生成新的邀请码String invitationCode = "";//用来存储最终生成的邀请码boolean isUnique = false; //用来指示生成的邀请码是否在数据库中唯一int maxAttempts = 10; //最大尝试次数,避免无限循环int attempts = 0;//这是计数器,记录已经尝试生成随机邀请码的次数while (!isUnique && attempts < maxAttempts) {// 使用随机字符串生成器生成6位随机码invitationCode = generateRandomString(6);// 检查邀请码是否已存在isUnique = !askMapper.checkInvitationCodeExists(invitationCode);attempts++;}if (!isUnique) {// 如果尝试多次后仍无法生成唯一邀请码,使用userId作为前缀invitationCode = "U" + String.format("%05d", userId % 100000);// 确保这个也不存在if (askMapper.checkInvitationCodeExists(invitationCode)) {// 如果还存在,则添加一个随机后缀invitationCode = invitationCode.substring(0, 5) + generateRandomString(1);}}// 更新用户邀请码askMapper.updateInvitationCode(userId, invitationCode);return invitationCode;}/*** 生成指定长度的随机字符串,包含数字和大小写字母* * @param length 字符串长度* @return 随机字符串*/private String generateRandomString(int length) {String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";StringBuilder result = new StringBuilder(length);Random random = new Random();for (int i = 0; i < length; i++) {result.append(characters.charAt(random.nextInt(characters.length())));}return result.toString();}

4. askMapper.java

     /*** 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写)**/gjsjqktx getEscortInfoByUserId(Long userId);/*** 检查邀请码是否已存在* * @param invitationCode 邀请码* @return 如果存在返回true,否则返回false*/boolean checkInvitationCodeExists(@Param("invitationCode") String invitationCode);/*** 更新用户的邀请码* * @param userId 用户ID* @param invitationCode 邀请码* @return 影响的行数*/int updateInvitationCode(@Param("userId") Long userId, @Param("invitationCode") String invitationCode);

5. askMapper.xml

     <!-- 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写) --><select id="getEscortInfoByUserId" parameterType="Long" resultMap="PzPatientEscortResult">select * from 表名 WHERE user_id = #{userId}</select><!-- 检查邀请码是否已存在(注意此处根据自己实际情况填写) --><select id="checkInvitationCodeExists" resultType="boolean">SELECT COUNT(*) > 0 FROM 表名 WHERE pz_proxy_invite = #{invitationCode}</select><!-- 更新用户的邀请码(注意此处根据自己实际情况填写) --><update id="updateInvitationCode">UPDATE 表名 SET pz_proxy_invite = #{invitationCode} WHERE user_id = #{userId}</update>

相关文章:

Java随机生成邀请码 (包含字母大小写+数字)

前言: 目前我们生成的是6位包含数字和大小写字母的随机邀请码, 并且代码中已经有了处理冲突的机制确保了邀请码的唯一性如(①生成随机邀请码后会检查数据库中是否已存在②如果存在冲突,会尝试最多10次重新生成③如果多次尝试仍失败&#xff0c;会使用"U"用户ID派生的…...

mybatis-plus配置逻辑删除

在实体类中标记软删除字段使用注解 TableLogic 标记该字段为软删除字段 import com.baomidou.mybatisplus.annotation.*;public class YourEntity {// ...其他字段TableLogicprivate Integer isDeleted;// getter/setter }yml配置 # 逻辑已删除值 logicDeleteValue: 2 # 逻辑…...

第二十五天打卡

常见报错类型 try-except-else-finally 语句 首先执行try语句&#xff0c;若正确直接执行else语句 若try语句发生错误&#xff0c;则判断错误类型&#xff0c;执行错误类型对应的except语句&#xff0c;不执行else语句 finally语句无条件执行&#xff0c;多用于资源保存&…...

JESD204 ip核使用与例程分析(一)

JESD204 ip核使用与例程分析(一) JESD204理解JESD204 与JESD204 PHY成对使用原因JESD204B IP核JESD204B IP核特点JESD204B IP核配置第一页第二页第三页第四页JESD204 PHY IP核配置第一页第二页JESD204理解 JESD204B是一种针对ADC、DAC设计的传输接口协议。此协议包含四层, …...

Synchronized详解及高频面试问答

目录 JVM简述 Synchronized详解及面试高频问答 而synchronized是什么&#xff0c;可以解决什么问题&#xff1f; synchronized怎么使用&#xff1f; 锁升级升级了什么&#xff1f; 为什么要这样做锁升级&#xff1f; 锁升级的过程是怎样的&#xff1f;为什么会有偏向锁&…...

【LLIE专题】基于码本先验与生成式归一化流的低光照图像增强新方法

GLARE: Low Light Image Enhancement via Generative Latent Feature based Codebook Retrieval&#xff08;2024&#xff0c;ECCV&#xff09; 专题介绍一、研究背景二、GLARE方法阶段一&#xff1a;正常光照代码本学习&#xff08;Normal-Light Codebook Learning&#xff09…...

26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述

26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述 文章目录 26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述1.1 计算机的发展1.2 计算机硬件和软件1.2.1 计算机硬件的基本组成1.2.2 各个硬件的工作原理1.2.3 计算机软件1.2.4 计算机系统的层次结构1.2.5 计算机系统…...

Linux云计算训练营笔记day08(MySQL数据库)

Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09; 目录 Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09;数据准备修改更新update删除delete数据类型1.整数类型2.浮点数类型(小数)3.字符类型4.日期5.枚举: 表头的值必须在列举的值里选择拷贝表复…...

从基础到实习项目:C++后端开发学习指南

在当今技术快速迭代的背景下&#xff0c;后端开发作为软件工程的核心支柱持续发挥着关键作用。C凭借其卓越的性能表现和系统级控制能力&#xff0c;依然是构建高性能后端服务的首选语言之一。本文将系统性地解析现代C后端开发的核心技术体系&#xff0c;包括从语言特性精要到架…...

jedis+redis pipeline诡异的链接损坏、数据读取异常问题解决

文章目录 问题现象栈溢出&#xff08;不断的重连&#xff09;读取超时未知响应尝试读取损坏的链接读取到的数据和自己要读的无关&#xff0c;导致空指针、类型转换错误&#xff0c;数据读取错乱 问题写法问题分析修复注意点 问题现象 栈溢出&#xff08;不断的重连&#xff09…...

十、HQL:排序、联合与 CTE 高级查询

作者&#xff1a;IvanCodes 日期&#xff1a;2025年5月15日 专栏&#xff1a;Hive教程 Apache Hive 作为大数据领域主流的数据仓库解决方案&#xff0c;其查询语言 HQL (Hive Query Language) 是数据分析师和工程师日常工作的核心。除了基础的 SELECT-FROM-WHERE&#xff0c;HQ…...

数据结构—排序(斐波那契数列,冒泡,选择,插入,快速,归并,图,广度优先算法)

目录 一 斐波那契数列&#xff08;递归算法&#xff09; 定义 原理 二 冒泡排序 定义 排序思路 函数原型 参数详解&#xff1a; 算法分析&#xff1a; 1. 使用函数库的qsort函数 2. 自定义冒泡排序 三 选择排序 定义 排序思路 四 插入排序 定义 排序思路 五 快速…...

NetSuite CSV导入Item Fulfillment的功能测试

上一篇我们说过如何通过CSV导入更新IF上的Department/Class信息&#xff0c;这篇是来测试一下如果SO在Pending Fulfillment的状态下通过CSV导入IF&#xff0c;这个新版本的一个功能&#xff0c;刚好将测试的过程与结果与大家分享~ 准备文件 External ID是外部ID&#xff1b; …...

网络原理 | 网络基础概念复习

目录 网络中的重要概念 IP地址 端口号 协议 五元组 协议分层 OSI七层网络模型 TCP/IP 五层&#xff08;四层&#xff09;模型 网络设备所在的分层 封装和分用 网络中的重要概念 IP地址 IP地址主要用于标识网络主机、其他网络设备的网络地址。在网络数据传输中&#…...

Vsan数据恢复——Vsan上虚拟机不可用,虚拟机组件信息破坏的数据恢复

Vsan数据恢复环境&#xff1a; 一台采用VsSAN分布式文件系统的存储设备由于未知原因关机重启。管理员发现上层的虚拟机不可用&#xff0c;存储内的数据丢失。 Vsan数据恢复过程&#xff1a; 1、将故障存储设备断电&#xff0c;将存储内的硬盘编号后取出。硬件工程师检测后没有发…...

V837s-LAN8720A网口phy芯片调试

目录 前言 一、LAN8720A 芯片概述 二、硬件连接 三、设备树配置 四、内核配置 五、网口调试 总结 前言 在嵌入式系统开发中,网络连接是至关重要的一部分。v837s开发板搭载了LAN8720A系列的网口PHY芯片,用于实现以太网连接。在开发过程中,对于网口的稳定性和性能的调试至…...

C++(12):using声明

目录 一、定义 二、核心用法示例 示例 1:单独引入 std::string 和 std::coun 示例 2:在局部作用域中使用 using 声明 三、对比 using namespace std(不推荐) 四、关键注意事项 1. 名称冲突问题 2. 作用域规则 3. 头文件中的陷阱 五、最佳实践总结 六、完整安全示…...

Xinference 命令大全:从模型部署到管理

Xinference 是一个高性能、分布式的模型推理框架,支持多种大语言模型(LLM)、嵌入模型(Embedding)和图像生成模型。本文将详细介绍 Xinference 的常用命令,涵盖模型启动、管理、监控及 API 调用,帮助你快速掌握其核心功能。 1. 安装与启动 Xinference 1.1 安装 Xinferen…...

如何在线免费压缩PDF文档?

PDF文件太大&#xff0c;通常是因为内部嵌入字体和图片。怎么才能将文件大小减减肥呢&#xff0c;主要有降低图片清晰度和去除相关字体两个方向来实现文档效果。接下来介绍三个免费压缩PDF实用工具。 &#xff08;一&#xff09;iLoveOFD在线转换工具 iLoveOFD在线转换工具&a…...

在Rocky Linux 9.5上部署MongoDB 8.0.9:从安装到认证的完整指南

mongodb 的部署 #安装依赖 yum -y install libcurl openssl #安装mongodb yum -y install https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/RPMS/mongodb-org-server-8.0.9-1.el9.x86_64.rpm #启动服务 systemctl start mongod.service && system…...

Unix Bourne Shell

本文来源 &#xff1a; 腾讯元宝 Unix Bourne Shell&#xff08;简称sh&#xff09;是Unix系统中最经典的命令行解释器&#xff08;shell&#xff09;&#xff0c;由Stephen Bourne于1977年在贝尔实验室开发&#xff0c;并成为后续众多shell&#xff08;如bash、ksh等&#xff…...

如何在 AWS 上构建支持 AVIF 的前端图片优化方案

一、为什么使用 AVIF 图片格式&#xff1f; 优势点 说明 高压缩率 在相似质量下&#xff0c;AVIF 文件比 JPEG/PNG/WebP 更小&#xff0c;能有效节省带宽和存储空间。 更高画质 即使在低码率下也能保持清晰细节&#xff0c;减少压缩带来的马赛克或模糊问题。 支持透明度 …...

Linux系统进行环境开发环境配置

一. 使用fishros(鱼香肉丝)配置开发环境 对于初学者来说&#xff0c;最难的关卡莫非是开发环境的的搭建&#xff0c;特别是在Ubuntu系统上ROS系统安装时后出现的各种报错以及失败&#xff0c;本篇博客讲述了ROS系统的一键安装过程&#xff0c;适用于18.04及以后的Ubuntu系统版本…...

前端npm的核心作用与使用详解

一、npm是什么? npm(Node Package Manager) 是 Node.js 的默认包管理工具,也是全球最大的开源代码库生态系统。虽然它最初是为 Node.js 后端服务设计的,但如今在前端开发中已成为不可或缺的基础设施。通过npm,开发者可以轻松安装、管理和共享代码模块。 特性: 依赖管理…...

软考软件评测师——软件工程之系统维护

一、系统质量属性 可维护性 衡量软件系统适应修改的难易程度&#xff0c;包括修复缺陷、扩展功能或调整规模的效率。计算公式为&#xff1a;系统可用时间占比 1/(1平均修复时间)&#xff0c;其中平均修复时间(MTTR)指排除故障所需的平均耗时。 可靠性 vs 可用性 可靠性&…...

CSRF攻击 + 观测iframe加载时间利用时间响应差异侧信道攻击 -- reelfreaks DefCamp 2024

参考: https://0x90r00t.com/2024/09/30/3708/ 题目信息 有些事情最好还是保持低调。当然&#xff0c;除非你是个真正的怪胎。 注意&#xff1a;该网站通过HTTPS提供服务 标志格式&#xff1a;DCTF&#xff5b;&#xff5d;题目实现了一个类似视频网站的东西 在其提供的数据库中…...

火山RTC 8 SDK集成进项目中

一、SDK 集成预备工作 1、SDK下载 https://www.volcengine.com/docs/6348/75707 2、解压后 3、放在自己项目中的位置 1&#xff09;、include 2&#xff09;、lib 3)、dll 暂时&#xff0c;只需要VolcEngineRTC.dll RTCFFmpeg.dll openh264-4.dll&#xff0c; 放在intLive2…...

spring boot Controller 和 RestController 的区别

spring boot Controller 和 RestController 的区别 5.3.1常用注解 Spring MVC控制器中常使用的注解有如下几种。 Controller Controller 标记在类上。使用Controller 标记的类表示是Spring MVC的Controller对象。分发处理器将会扫描使用了该注解的类&#xff0c;并检测其中的…...

mavgenerate 在 win11 下环境搭建注意问题

开发随笔 mavgenerate 是mavlink配套的协议生成工具&#xff0c;mavgenerate 在 win11 下环境搭建注意问题&#xff1a; 1、Python 就使用文件包当中的版本&#xff0c;由于python 版本能与 future 及 pip 之间存在特定的组合关系&#xff0c;故不推荐下载使用最新版本 2、安…...

SSM项目集成redis、Linux服务器安装redis

在SSM&#xff08;Spring Spring MVC MyBatis&#xff09;项目中引入Redis主要分为以下步骤&#xff0c;确保配置正确并能在业务中灵活使用&#xff1a; 1. 添加Redis依赖​​ 在Maven的pom.xml中添加Spring Data Redis和Jedis&#xff08;或Lettuce&#xff09;依赖&#…...

sqli-labs靶场第七关——文件导出注入

一&#xff1a;目标 通过sql注入将php代码写入网站目录&#xff0c;通过这个php文件执行命令 二&#xff1a;确认前置条件 %secure_file_priv% 首先我们需要Mysql是否允许导出文件 先尝试在网页中sql注入&#xff0c;检查导出权限 ?id1)) union select 1,secure_file_pr…...

python使用matplotlib无法显示中文字体报错

python使用matplotlib字体报错 当我们使用python使用matplotlib总是出现报错&#xff0c;图片中文变成方框 findfont: Font family WenQuanYi Micro Hei not found. findfont: Font family Heiti TC not found. findfont: Font family [SimHei] not found. Falling back to De…...

VTEP是什么

VTEP&#xff08;VXLAN Tunnel Endpoint&#xff0c;VXLAN 隧道端点&#xff09;是 VXLAN&#xff08;Virtual Extensible LAN&#xff09;网络中的关键组件&#xff0c;用于处理 VXLAN 流量的封装和解封装。以下以可读的 Markdown 格式详细解释 VTEP 的定义、功能、实现方式以…...

React Native简介

React Native 是由 Meta&#xff08;原 Facebook&#xff09;开源的跨平台移动应用开发框架&#xff0c;基于 React 和 JavaScript&#xff0c;允许开发者使用同一套代码库构建 iOS 和 Android 原生应用。通过 JavaScript 调用原生组件实现高性能渲染。 跨平台开发 共享 80%-9…...

边缘计算模块

本文来源 &#xff1a;腾讯元宝 边缘计算模块是一种部署在网络边缘&#xff08;靠近数据源&#xff09;的集成化硬件/软件设备&#xff0c;用于实时处理本地数据&#xff0c;减少云端依赖&#xff0c;提升响应速度与安全性。以下是其核心要点&#xff1a; ​​1. 核心组成​​ …...

策略模式-枚举实现

策略模式的实现方法有很多&#xff0c;可以通过策略类if,else实现。下面是用枚举类实现策略模式的方法。 定义一个枚举类&#xff0c;枚举类有抽象方法&#xff0c;每个枚举都实现抽象方法。这个策略&#xff0c;实现方法是工具类的很实现&#xff0c;代码简单好理解 枚举实现…...

C++算法(22):二维数组参数传递,从内存模型到高效实践

引言 在C程序设计中&#xff0c;二维数组的参数传递是许多开发者面临的棘手问题。不同于一维数组的相对简单性&#xff0c;二维数组在内存结构、类型系统和参数传递机制上都存在独特特性。本文将深入探讨静态数组、动态数组以及STL容器三种实现方式&#xff0c;通过底层原理分…...

LeetCode LCR 015. 找到字符串中所有字母异位词 (Java)

LCR 015. 找到字符串中所有字母异位词 题目描述 给定两个字符串 s 和 p&#xff0c;要求找到 s 中所有是 p 的变位词&#xff08;字母相同但排列不同&#xff09;的子串&#xff0c;并返回这些子串的起始索引。例如&#xff1a; 输入 s "cbaebabacd", p "a…...

幼儿学前教育答辩词答辩技巧问题答辩自述稿

### &#x1f4d8;《幼儿园大班活动开展存在的问题及解决策略》&#x1f4dd; 我的论文题目是《幼儿园大班活动开展存在的问题及解决策略》&#x1f4d6;。我将从论文框架、研究内容、需要解决的问题、研究结论这四部分来阐述我的论文&#x1f4dd;。 论文框架由绪论&#x1f4…...

双目立体视觉

文章目录 1&#xff0c;前言2&#xff0c;原理3&#xff0c;组成部分3.1&#xff0c;数字图像采集。3.2 &#xff0c;相机标定。3.3&#xff0c;图像预处理与特征提取。3.4 &#xff0c;图像校正。3.5 &#xff0c;立体匹配。3.6 &#xff0c;三维重建。 4&#xff0c;主要的算…...

机器人弧焊二八混合气体节约

焊接技术在现代工业生产中作为关键环节之一&#xff0c;其效率和成本直接影响到整个制造流程的经济性与环保性。近年来&#xff0c;随着节能减排理念深入人心&#xff0c;各行业都在积极探索绿色制造方案。在焊接领域&#xff0c;二八混合气体的应用结合WGFACS智能流量调节系统…...

Linux进程通讯和原子性

在Linux系统中&#xff0c;进程间通信&#xff08;IPC&#xff09;和原子性是并发编程中的核心问题。以下是对这些概念的详细分步解释&#xff1a; 一、进程间通信&#xff08;IPC&#xff09;方法 1. 管道&#xff08;Pipe&#xff09; 匿名管道&#xff1a;用于父子进程等有…...

深度学习之用CelebA_Spoof数据集搭建一个活体检测-一些模型训练中的改动带来的改善

实验背景 在前面的深度学习之用CelebA_Spoof数据集搭建一个活体检测-模型搭建和训练&#xff0c;我们基于CelebA_Spoof数据集构建了一个用SqueezeNe框架进行训练的活体2D模型&#xff0c;采用了蒸馏法进行了一些简单的工作。在前面提供的训练参数中&#xff0c;主要用了以下几…...

Oracle APEX IR报表列宽调整

1. 问题&#xff1a;如何调整Oracle APEX IR报表列宽 1-1. 防止因标题长而数据短&#xff0c;导致标题行的文字都立起来了&#xff0c;不好看。 1-2. 防止因数据太长而且中间还没有空格&#xff0c;把列撑开的太宽也不换行&#xff0c;不好看。 2. 解决办法 针对如上问题解…...

6大核心记忆方法

以下是结合脑科学原理和高效学习策略总结的 6大核心记忆方法&#xff0c;帮助你摆脱“学完就忘”的困境&#xff1a; 一、间隔重复与分散学习 遵循艾宾浩斯遗忘曲线&#xff1a;学习后20分钟遗忘58%&#xff0c;1天后遗忘66%。通过设定复习节点&#xff08;如学后1天、3天、1周…...

conda更换清华源

1、概览 anaconda更换速度更快、更稳定的下载源&#xff0c;在linux环境测试通过。 2、conda源查看 在修改之前可以查看下现有conda源是什么&#xff0c;查看conda配置信息&#xff0c;如下&#xff1a; cat ~/.condarc 可以看到你的conda源&#xff0c;以我的conda源举例&am…...

5月15日星期四今日早报简报微语报早读

5月15日星期四&#xff0c;农历四月十八&#xff0c;早报#微语早读。 1、中国至越南河内国际道路运输线路正式开通&#xff1b; 2、免签国1&#xff0c;中乌&#xff08;兹别克斯坦&#xff09;互免签证协定6月生效&#xff1b; 3、杭州“放大招”支持足球发展&#xff1a;足…...

网络损伤仪功能介绍与应用场景剖析

以下是关于 网络损伤仪&#xff08;Network Impairment Emulator&#xff09; 的核心功能介绍及其应用场景的详细说明&#xff1a; 一、网络损伤仪的核心功能 带宽限制&#xff08;Bandwidth Throttling&#xff09; 模拟不同网络带宽&#xff08;如从1Mbps到10Gbps&#xff09…...

超时检测机制和心跳包机制(Heartbeat)

一、超时检测机制 1. I/O 函数超时设置 1.1 select/poll/epoll 的超时参数 select c struct timeval timeout {3, 0}; // 3秒超时 int n select(maxfd1, &readfds, NULL, NULL, &timeout); if (n 0) printf("select timeout\n"); // 超时无事件poll c …...

经典卷积神经网络

目录 经典卷积神经网络 一、卷积神经网络基础回顾 二、LeNet&#xff1a;开启 CNN 先河 三、AlexNet&#xff1a;突破性进展 四、ZFNet&#xff1a;继承与优化 五、GoogLeNet&#xff1a;引入 Inception 模块 六、VggNet&#xff1a;深度与简单结构的融合 七、ResNet&a…...