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

业务架构发展历史及相关技术应用介绍

1,单体架构

企业处于发展初期阶段,业务的开发量与用户的访问量较少的情况下,通常情况会将业务编写在一个应用中,由一个web容器完成部署调用。如下图,一个应用中所有的功能模块写在一个war包中,功能模块的代码由项目中的package包来区分,最后打包成war包,放在应用服务器中运行。
在这里插入图片描述

2,集群与垂直架构

随着业务的不断发展和访问需求的日益增加,将会出现以下问题:

  1. 用户量越来越多,网站的访问量也越来越大,服务器不堪重负,导致负载过高
  2. 用户量的增多,产品需要满足更多用户的需求,业务场景也越来越丰富,随之带来业务功能的拓展与维护量的增加

服务器负载过高将会导致用户在网上的操作响应变慢甚至无法访问

业务场景越多越复杂,意味着war包的代码量会持续上升,并且各个模块业务间代码的耦合度也会越来越高,后期代码维护以及版本发布测试都会变得更加困难。有时候一个小小的bug修复也会导致整个war包需要重新部署,一个小小的业务修改可能也会牵连到其他业务代码的修改
解决方案

1,将单台应用变成多台应用,构建集群实现横向扩展,单纯的集群模式,能缓解单台服务器的访问压力,降低单台服务器的负载;其中如果服务器的性能还可以的情况下,多个tomcat应用可以放在同一台服务器上,利用不同的端口运行,然后通过Nginx做负载均衡,做负载的转发工作;如果单台服务器性能较差,可以将tomcat应用放在多台服务器上,同样通过Nginx做负载均衡,做负载的转发工作。
在这里插入图片描述
2,对业务进行垂直拆分,每个业务模块拆分为相应的子系统,由不同的业务团队负责维护和独立部署。多个子系统对内是一个个独立的应用,对外则是一个整体,用户通过统一入口访问系统的各个子系统
在这里插入图片描述
此种架构较上面一种,主要区别在于应用层面做了拆分,将功能模块代码做了项目的划分,每个功能模块能够单独在tomcat中运行。按照上图部署,就不需要考虑系统登陆用户问题,session存放在tomcat中,一套应用可以共享session。
3,垂直拆分后的应用,引发的问题就是有的功能模块的访问量不是很大,比如用户服务访问量不大,而订单系统访问量大,因此在tomcat中都运行了系统所需要的所有war就会造成性能的浪费。因此分布式架构油然而生。
在这里插入图片描述
在应用被垂直拆分之后,单个应用可以独立运行,这样可以根据需要将访问量大的服务多跑几台服务,访问量小的服务,少跑几台,充分利用服务器的性能,不造成浪费,同时带来的问题是,单独的模块服务运行在不同的tomcat上,整个系统的登录用户每个系统都需要登录才能访问,因为session在不同的服务器上,单点登录就是解决这个问题的,主要的原理就是通过redis实现session共享,当用户登录一次之后,将用户登录的session缓存到redis中,然后访问其他应用服务的时候,在redis中获取登录用户信息,保证用户登录的session共享。

3,SOA面向服务架构 Service-Oriented Architecture

在垂直架构中,由于每个应用都由独立团队进行开发和维护,不可避免会出现多个垂直应用中出现重复冗余的业务处理,比如在一个电商系统中,用户系统和订单系统在用户下单时需要进行子系统的通信,此时下单检查库存的判断放在用户系统中还是放在订单系统中?诸如此类的共享业务将会大量出现在每个独立的垂直子系统中,使得子系统成为了信息孤岛

解决方案

将重复的业务抽离成独立的服务应用,将并服务发布到服务总线上,其他子系统可以通过服务总线对已发布的服务进行调用

服务的提供方和调用者可以实现高度解耦,并能实现功能功能的复用
在这里插入图片描述
因此微服务油然而生,SOA是一种企业开发的设计架构,用于满足日益增加的业务开发需求并实现高重用与高解耦。微服务是对SOA的细化表现,当每一个服务需要进行精度更高的设计,并完成进一步拆分和重用时,微服务由此诞生
在这里插入图片描述
微服务的特征:

  1. 是一种架构设计的风格
  2. 单独的应用会被拆分成一个个小的服务
  3. 每个服务是一个独立的进程
  4. 服务之间调用采用轻量级的通信机制【HTTP协议、RPC协议等】
  5. 每个服务可以通过不同的开发语言编写

微服务随之带来的问题:
7. 多个微服务之间的通信,使用http工具类?socket?webservice?rpc?【通信工具】
8. 每个微服务在调用时都应有一个url地址,当新增或者变化一个服务的url地址时,如何通知到调用者?因此服务的url需要进行管理和维护【注册中心】
9. 每个微服务都需要集群支持更多的并发访问量以及稳定性,如何选择集群中的多个服务?【负载均衡】
10. 如果某个微服务不可调用,或者调用失败该如何处理?【容错机制】
11. 每个微服务虽然是一个独立的应用,但对于用户而言多个微服务还是一个整体应用,因此需要一个统一的入口来访问【网关】
12. 因为业务的复杂度导致多个微服务间递进调用,由此形成一个调用链路,当某个微服务出现问题时如何对链路进行追踪?【监控】
13. …………

解决方案的选择处理

上述微服务中出现的每个问题实际上都有对应的解决方案,比如注册中心有Eureka、Nacos、Zookeeper、consul等,那我们到底选择哪种解决方案?

众所周知,现在Java开发离不开Spring框架的应用,因为spring makes Java simple|moden|productive,所在在考虑解决方案的时候必须要考虑如何将工具整合进spring,而所有能整合至 spring框架的技术内容必须要由spring提供接入的接口规范。因此spring推出一套微服务领域的标准,这就是springCloud
SpringCloud微服务解决方案

企业在微服务架构中遇到的种种问题给开发人员带来诸多麻烦,Spring在2015年将微服务开发中可能产生的问题与流程进行了规范,在Spring框架的基础上将解决微服务中常见问题的框架进行了整合,并提供了相应接口,为开发人员提供了较好的微服务开发体验,因此SOA是一种面向服务的架构设计思想,微服务是SOA的延展,提高了服务颗粒的细度,而SpringCloud则是微服务的一套具体的实施解决的方案和标准

SpringCloud中的每个服务都是一个SpringBoot应用,因此在使用SpringCloud时需要注意和SpringBoot版本的匹配,可以通过 https://spring.io/projects/spring-cloud/ 查看

在这里插入图片描述
SpringCloud的版本说明

SpringCloud的starter中包含了大量Spring组件,每个组件的版本也都独立发型,因此组件的版本号都不尽相同,每次使用时如果要分别指定这些组件的版本是件麻烦的事,并且这些组件还存在版本依赖的关系,所以SpringCloud为了统一设置这些组件的版本,使用了伦敦地铁的名称作为SpringCloud的版本号,这样我们在使用时就不用关注组件的版本了

springCloud提供了非常丰富的解决方案提供给开发人员选择,包括了spring自身提供的方案比如Config分布式配置、Gateway网关路由、OpenFeign服务调用、RabbitMQ分布式消息等,甚至将一些成熟团队的批量解决方案也一起并入了spring

Netflix团队 提供了Eureka注册中心、Hystrix熔断器、Feign服务调用、Zuul路由器、Ribbon负载均衡

Alibaba团队 提供了Nacos注册中心、Sentinel熔断器、RoketMQ分布式消息、Seata分布式事务、Dubbo RPC服务调用

开发时我们可以选择Netflix的配套方案,也可以选择Alibaba的配套方案,或者将两个团队的方案拆分使用都是非常灵活的

SpringCloudAlibaba版本说明

https://sca.aliyun.com/
在这里插入图片描述

上述为大体的演变过程,还有更详细的演变过程如下:
https://mpbeta.csdn.net/mp_blog/creation/editor/103584125

相关文章:

业务架构发展历史及相关技术应用介绍

1,单体架构 企业处于发展初期阶段,业务的开发量与用户的访问量较少的情况下,通常情况会将业务编写在一个应用中,由一个web容器完成部署调用。如下图,一个应用中所有的功能模块写在一个war包中,功能模块的代…...

Java栈与队列深度解析:结构、实现与应用指南

一、栈与队列核心概念对比 特性栈 (Stack)队列 (Queue)数据原则LIFO(后进先出)FIFO(先进先出)核心操作push(入栈)、pop(出栈)、peek(查看栈顶)offer(入队)、poll(出队)、peek(查看队首)典型应用函数调用栈、括号匹配、撤销操作任…...

CentOS DVD完整版与Minimal版的区别

文章目录 一、体积与内置软件:从“大而全”到“小而精”二、安装体验:开箱即用 vs 高度定制三、适用场景:桌面与服务器的分水岭四、后续配置:时间成本的权衡五、性能与资源占用六、推荐新手下载完整版建议: 在 CentOS…...

AI日报 - 2025年4月13日

🌟 今日概览(60秒速览) ▎🤖 AGI突破 | OpenAI CFO称AGI可能已到来 Sarah Friar透露Sam Altman认为AGI潜力尚未完全发挥,引发行业热议 ▎💼 商业动向 | OpenAI开发新型AI工程师A-SWE 超越Copilot,能独立完成应用构建、…...

有哪些基于solidity的应用

🔥 Solidity 常见应用分类(附例子) 🏦 1. DeFi(去中心化金融) Solidity 的最大应用场景之一。 项目功能示例合约逻辑Uniswap去中心化交易所(AMM)流动性池、定价算法、swap函数Aave /…...

mybatis--多对一处理/一对多处理

多对一处理(association) 多个学生对一个老师 对于学生这边,关联:多个学生,关联一个老师[多对一] 对于老师而言,集合,一个老师有多个学生【一对多】 SQL: 测试环境搭建 1.导入依…...

中兴B860AV3.2-U-晶晨S905L3B芯片-安卓9.0-2+8G-线刷固件包

中兴B860AV3.1-U/B860AV3.2-U--晶晨S905L3B芯片-安卓9.0-28G-线刷固件包 线刷方法:(新手参考借鉴一下) 1、准备好一根双公头USB线刷刷机线,长度30-50CM长度最佳,同时准备一台电脑; 2、电脑上安…...

资源分配不均,如何优化

优化资源分配需要关注资源需求评估精准性、资源调度合理性、实时监控与反馈机制、沟通协调的高效性以及持续改进的管理理念。其中,资源需求评估精准性最为关键。精准的资源需求评估意味着对项目各阶段所需资源的准确把控,这能有效防止资源过剩或短缺现象…...

Kimi-VL 解读:高效 MoE 视觉语言模型VLM,兼顾长上下文与高分辨率

写在前面:一起读多模态大模型Kimi-VL Moonshot AI 推出了 Kimi-VL,一个高效的、开源的、基于混合专家(MoE)架构的视觉语言模型。Kimi-VL 旨在解决上述痛点,它具备以下几个核心特点: 高效 MoE 架构:语言解码器采用 MoE 架构,在保持强大能力的同时,显著降低了推理时的激…...

2024团体程序设计天梯赛L3-1 夺宝大赛

L3-037 夺宝大赛 分数 30 作者 陈越 单位 浙江大学 夺宝大赛的地图是一个由 nm 个方格子组成的长方形,主办方在地图上标明了所有障碍、以及大本营宝藏的位置。参赛的队伍一开始被随机投放在地图的各个方格里,同时开始向大本营进发。所有参赛队从一个方格…...

SpringBoot DevTools:开发工具与热部署机制

文章目录 引言一、Spring Boot DevTools概述二、自动重启机制2.1 工作原理2.2 自定义重启触发器 三、LiveReload支持3.1 浏览器自动刷新3.2 与前端框架集成 四、属性默认值调整4.1 缓存配置4.2 日志配置 五、远程开发支持5.1 配置远程应用5.2 使用远程客户端 总结 引言 在Java…...

PyCharm 开发工具 修改字体大小及使用滚轮没有反应

PyCharm 开发工具 修改字体大小及使用滚轮没有反应 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是有学习/理解关联性,希望对您有用~ PyCharm 开发工具 修改字体大小及…...

小刚说C语言刷题——每日一题东方博宜1000熟悉OJ环境

1.题目描述 2.参考代码(C语言版&#xff09; #include <stdio.h> int main(void) { //定义两个整型变量num1和num2 int num1,num2; int sum;//定义两个数的和sum //下面语句表示输入两个数字 scanf("%d%d",&num1,&num2); sumnum1num…...

Ubuntu安装Docker容器,通过Tomcat部署项目

温馨提示&#xff1a;本教程不是最完美的&#xff0c;只能说是填鸭式教育&#xff0c;仅仅让你快速部署Docker的tomcat项目。 *******命令行需要一行一行操作哟&#xff01;&#xff01;&#xff01;******* 一、检查Ubuntu本地的Tomcat能发正常打开项目 1.1 检查本地tomcat是…...

ubuntu22.04安装zabbix7.0

一、安装repository wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0ubuntu24.04_all.deb dpkg -i zabbix-release_latest_7.0ubuntu24.04_all.deb apt update二、安装Zabbix server&#xff0c;Web前端&#xff0c;ag…...

AIGC工具平台-建筑平面图3D渲染

本模块是一款智能化的建筑设计辅助工具&#xff0c;可将任意房屋平面设计图快速转换为高品质3D渲染效果图&#xff0c;让建筑设计更加直观、高效。用户无需复杂的3D建模操作&#xff0c;仅需上传房屋平面图&#xff0c;系统即可一键生成符合实际尺度的3D渲染效果&#xff0c;精…...

OpenGL学习笔记(立方体贴图、高级数据、高级GLSL)

目录 立方体贴图天空盒环境映射斯涅尔定律&#xff08;Snells Law&#xff09;菲涅尔效应&#xff08;Fresnel Effect&#xff09;动态环境贴图 高级数据分批顶点属性复制缓冲 高级GLSL顶点着色器变量片段着色器变量接口块Uniform缓冲对象Uniform块布局使用Uniform缓冲测试 Git…...

嵌入式进阶:如何选择合适的开发平台?

随着现代工业、物联网以及人工智能技术的迅速发展&#xff0c;嵌入式系统已经由简单的控制器向复杂的高性能系统迈进。从传统家电到智能机器人、从自动驾驶汽车到工业自动化&#xff0c;每一项应用都对嵌入式系统的响应速度、运行稳定性和能耗管理提出了更高要求。在这种背景下…...

CVPR‘25 SOTA——GoalFlow论文精读

1&#xff09;第一遍___粗读 Q: 这篇论文试图解决什么问题&#xff1f; A: 这篇论文提出了一个名为 GoalFlow 的端到端自动驾驶方法&#xff0c;旨在解决自动驾驶场景中高质量多模态轨迹生成的问题。具体而言&#xff0c;它试图解决以下问题&#xff1a; 轨迹选择的复杂性&am…...

vue3 onMounted 使用方法和注意事项

基础用法 / 语法糖写法 <script> import { onMounted } from vue;// 选项式 API 写法 export default {setup() {onMounted(() > {console.log(组件已挂载);});} } </script><script setup> onMounted(() > {console.log(组件已挂载); }); </scrip…...

【ubuntu】linux开机自启动

目录 开机自启动&#xff1a; /etc/rc.loacl system V 使用/etc/rc*.d/系统运行优先级 遇到的问题&#xff1a; 1. Linux 系统启动阶段概述 方法1&#xff1a;/etc/rc5.d/ 脚本延时日志 方法二&#xff1a;使用 udev 规则来触发脚本执行 开机自启动&#xff1a; /etc/…...

OpenCV day2

Matplotlib相关知识 Matplotlib相关操作&#xff1a; import numpy as np from matplotlib import pyplot as pltx np.linspace(0, 2 * np.pi, 100) y1 np.sin(x) y2 np.cos(x)# 使用红色虚线&#xff0c;圆点标记&#xff0c;线宽1.5&#xff0c;标记大小为6绘制sin plt.p…...

OpenCV 图形API(31)图像滤波-----3x3 腐蚀操作函数erode3x3()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用3x3矩形结构元素腐蚀图像。 该函数通过使用中心作为锚点的3x3矩形结构元素来腐蚀源图像。腐蚀操作可以应用多次&#xff08;迭代&#xff0…...

机器学习概述自用笔记(李宏毅)

机器学习概述 机器学习即找一个复杂的人类写不出来的函数&#xff0c;把输入&#xff08;向量&#xff0c;矩阵&#xff0c;序列&#xff09;转换为输出。 regression&#xff1a;输出是一个数值&#xff08;预测PM2.5的数值&#xff09; classification&#xff1a;选择设置…...

大数据面试问答-Spark

1. Spark 1.1 Spark定位 "Apache Spark是一个基于内存的分布式计算框架&#xff0c;旨在解决Hadoop MapReduce在迭代计算和实时处理上的性能瓶颈。 1.2 核心架构 Spark架构中有三个关键角色&#xff1a; Driver&#xff1a;解析代码生成DAG&#xff0c;协调任务调度&a…...

UE5 设置父物体和解除父子关系(移除子物体)

文章目录 设置父物体解除父子关系 Acotor类似于untiy的objecttransfrom&#xff0c;可以用来进行父子操作 设置父物体 Actor attach to Actor节点 解除父子关系 Detach From Actor...

Git - 怎么把当前修改追加到前面某个commit中

怎么把当前修改追加到前面某个commit中 git log commit b7cb11b53388d410d07e3b3084c67274cee4cdad (HEAD -> hotfix/task-108344, origin_dbackup/hotfix/task-108344) Author: aaa <aaammm.com> Date: Thu Mar 27 15:08:32 2025 0800Fix #108344: add bbbcommit …...

【HFP】蓝牙 HFP 协议状态通知机制研究

目录 一、状态通知体系架构 1.1 核心功能矩阵 1.2 三层控制体系 1.3 角色分工 1.4 协议栈层级 二、核心AT命令解析 2.1 ATCMER&#xff1a;指示器状态报告控制 2.2 ATBIA&#xff1a;指示器激活控制 2.3 CIEV&#xff1a;未请求结果码 三、关键功能实现机制 3.1 注册…...

unity100天学习计划

以下是一个为期100天的Unity学习大纲,涵盖从零基础到独立开发完整游戏的全流程,结合理论、实践和项目实战,每天学习2-3小时: 第一阶段:基础奠基(Day 1-20) 目标:掌握Unity引擎基础与C#编程 Day 1-5:引擎入门 安装Unity Hub和Unity Editor(LTS版本)熟悉Unity界面:S…...

STM32电机库 电机控制特性

ST MC FW库提供FOC和六步法两种电机控制方式。这使得它能够驱动永磁同步电机 (PMSM) 和无刷直流电机 (BLDC)。FOC 更适合 PMSM,而六步法更适合 BLDC 电机。该固件可以驱动内嵌式PMSM 和标贴式PMSM。 ST Motor Control 固件库提供以下功能: FOC SVPWM 生成: 可配置的 PW…...

MySQL数据库 - 事务

事务 此笔记参考黑马教程&#xff0c;仅学习使用&#xff0c;如有侵权&#xff0c;联系必删 文章目录 事务1. 事务简介2. 事务操作2.1 事务操作 - 方式一2.2 方式二代码实现 3. 事务四大特性&#xff08;ACID&#xff09;4. 并发事务问题5. 事务隔离级别代码实现 总结 1. 事务…...

火山引擎旗下的产品

用户问的是火山引擎旗下的产品&#xff0c;我需要详细列出各个类别下的产品。首先&#xff0c;我得确认火山引擎有哪些主要业务领域&#xff0c;比如云计算、大数据、人工智能这些。然后&#xff0c;每个领域下具体有哪些产品呢&#xff1f;比如云计算方面可能有云服务器、容器…...

用 Python 从零构建异步回显服务器

简介 让我们从 0 开始&#xff0c;搭建一个异步服务输出服务器。 套接字 套接字&#xff08;socket&#xff09;&#xff0c;是不同计算机中实现通信的一种方式&#xff0c;你可以理解成一个接口&#xff0c;它会在客户端和服务端建立连接&#xff0c;一台发送数据&#xff…...

【3D文件】可爱小鹿3D建模,3D打印文件

【3D文件】可爱小鹿3D建模&#xff0c;3D打印文件 免费下载&#xff0c;下载链接&#xff1a; 3D文件可爱小鹿3D建模&#xff0c;可爱小鹿建模仿真&#xff0c;小鹿仿真设计&#xff0c;3D打印文件&#xff0c;免费下载资源-CSDN文库 资源下载&#xff1a; 3D文件可爱小鹿3D…...

RabbitMQ 优先级队列详解

本文是博主在记录使用 RabbitMQ 在执行业务时遇到的问题和解决办法&#xff0c;因此查阅了相关资料并做了以下记载&#xff0c;记录了优先级队列的机制和使用要点。 本文为长文&#xff0c;详细介绍了相关的知识&#xff0c;可作为学习资料看。 文章目录 一、优先级队列介绍1、…...

串口通信简述

一.串口的特点 1.全双工异步通信 全双工指通信双方可以同时进行数据的发送和接收操作。 异步通信是指通信双方不使用共同的时钟信号来同步数据传输&#xff0c;而是通过特殊的信号或约定来标识数据的开始和结束 2.数据字长度可编程&#xff08;8 位或 9 位&#xff09; 不…...

【2025年五一数学建模竞赛A题】完整思路和代码

1.问题背景与重述 2.解题思路分析 2.1 问题一的分析 问题一假设无人机以平行于水平面的方式飞行并投放物资&#xff0c;可以将物资的运动 类比成平抛运动&#xff0c;由于物资的重量较大&#xff0c;因此不能简单的看成质点&#xff0c;还要考虑物资 的重量。 2.1.1本题要求给…...

为了四季度的盈利,李斌的换人还在继续

李斌对蔚来和乐道人事调整还在继续。 4月10日&#xff0c;蔚来发布内部邮件宣布大量人事变动。 蔚来方面&#xff1a; 原用户关系&#xff08;UR&#xff09;负责人沈泓因个人原因将离开公司。 任命孙明担任用户关系&#xff08;UR&#xff09;负责人&#xff0c;向高级副总…...

Pytest 自动化测试框架详解

Pytest和Unittest测试框架的区别&#xff1f; 如何区分这两者&#xff0c;很简单unittest作为官方的测试框架&#xff0c;在测试方面更加基础&#xff0c;并且可以再次基础上进行二次开发&#xff0c;同时在用法上格式会更加复杂&#xff1b;而pytest框架作为第三方框架&#x…...

sqli-labs靶场 less 9

文章目录 sqli-labs靶场less 9 时间盲注 sqli-labs靶场 每道题都从以下模板讲解&#xff0c;并且每个步骤都有图片&#xff0c;清晰明了&#xff0c;便于复盘。 sql注入的基本步骤 注入点注入类型 字符型&#xff1a;判断闭合方式 &#xff08;‘、"、’、“”&#xf…...

奇趣点播系统测试报告

1.项目简介 本项目旨在搭建一个视频共享点播系统&#xff0c;服务器支持用户通过前端浏览器访问服务器&#xff0c;获取展示与观看和操作的界面&#xff0c;最终实现视频的上传以及观看和删改查等基础管理功能。让用户拥有良好的观看体验和分享视频的快捷方式&#xff0c;此外…...

空地机器人在复杂动态环境下,如何高效自主导航?

随着空陆两栖机器人(AGR)在应急救援和城市巡检等领域的应用范围不断扩大&#xff0c;其在复杂动态环境中实现自主导航的挑战也日益凸显。对此香港大学王俊铭基于阿木实验室P600无人机平台自主搭建了一整套空地两栖机器人&#xff0c;使用Prometheus开源框架完成算法的仿真验证与…...

01 - QEMU 初始化概览 - Init()

目录 1.初始化 - qemu_init() 1.1.基本设备 1.2.日志 1.3.模块信息 1.4.子系统 1.5.选项解析 - 阶段一 1.6.选项解析 - 阶段二 1.7.选项配置 1.8.Trace 1.9.主线程 1.10.CPU 时钟 1.11.其他设置 1.12.创建虚拟机 1.13.启动虚拟机 2.主线程 - qemu_main() 2.1.处…...

Vue3 使用ref

<button click"changeMsg">change</button> <div>{{ message }}</div>//接受一个内部值并返回一个响应式且可变的 ref 对象。ref 对象仅有一个 .value property&#xff0c;指向该内部值。 const message ref(hello world) const mum 1 co…...

React中 点击事件写法 的注意(this、箭头函数)

目录 ‌1、错误写法‌&#xff1a;onClick{this.acceptAlls()} ‌2、正确写法‌&#xff1a;onClick{this.acceptAlls}&#xff08;不带括号&#xff09; 总结 方案1&#xff1a;构造函数绑定 方案2&#xff1a;箭头函数包装方法&#xff08;更简洁&#xff09; 方案3&am…...

DeepSeek AI大模型:中国智能时代的“争气机“-AI生成

DeepSeek AI大模型&#xff1a;中国智能时代的"争气机" 当全球科技巨头在万亿参数竞赛中你追我赶时&#xff0c;一家中国公司悄然改写了游戏规则。DeepSeek AI最新发布的"探月"大模型不仅以中英双语能力打破技术壁垒&#xff0c;更用"动态脑区"设…...

Java老鼠迷宫(递归)---案例来自韩顺平老师讲Java

题目&#xff1a; 粉色圈圈是启动&#xff0c;红色方框是阻挡&#xff0c;蓝色五角星是出口&#xff0c;走到出口&#xff0c;老鼠winner 代码&#xff1a; public class test6 {public static void main(String[] args){//创建二维数组int[][] map new int[8][7];// 最外围都…...

Python大数据视频教程

概述 最新整理的Python大数据视频教程已出&#xff0c;需要学习的小伙伴抓紧了。 课程亮点&#xff1a; ❶ 编程基石&#xff1a;从Python基础到高阶函数式编程&#xff0c;用代码驯服数据 ❷ 数据魔法&#xff1a;SQL进阶ETL实战&#xff0c;Pandas玩转百万级数据分析 ❸ 分…...

Java工厂模式解析:灵活对象创建的实践指南

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、模式定义与分类 工厂模式&#xff08;Factory Pattern&#xff09;是创建型设计模式的核心成员之一&#xff0c;主要解决对象创建过程中的灵活性问题。根…...

PDF转换格式失败?原因及解决方法全解析

在日常工作中&#xff0c;我们经常会遇到将PDF转换为Word、Excel、PPT等格式的需求。有时候以为一键转换就能搞掂&#xff0c;没想到却转换失败。到底问题出在哪&#xff1f;别急&#xff0c;我们可以看看是否以下几个问题引起的&#xff0c;找到解决问题的关键&#xff01; 原…...