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

Tomcat初篇

目录

  • Tomcat
    • 主要特点
    • Tomcat的核心组件
    • Tomcat使用
        • 安装Tomcat
        • 配置Tomcat
        • 启动和停止Tomcat
    • Tomcat工作原理
    • 目录结构
    • 配置文件
    • 性能优化策略

Tomcat

Apache Tomcat是一个开源的Servlet容器和Web服务器,广泛用于运行基于Java的Web应用程序。它实现了Java Servlet和JavaServer Pages (JSP)规范,支持多种Web应用部署和管理功能。Tomcat的设计目标是轻便、快速和可扩展,适合用于开发和生产环境。它可以独立运行,也可以与Apache HTTP服务器等其他Web服务器配合使用,以提供更高的性能和安全性.
在这里插入图片描述

主要特点

Tomcat是一个流行的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 技术规范。

  1. 开源免费:Tomcat是Apache软件基金会的一个项目,完全开源且免费使用。

  2. 轻量级:与一些重量级的Java EE应用服务器相比,Tomcat是一个轻量级的Servlet容器,资源占用较少。

  3. 易于部署:Tomcat支持WAR(Web Application Archive)文件格式的Web应用部署,简化了部署流程。

  4. 跨平台:Tomcat可以在多种操作系统上运行,包括Windows、Linux、macOS等。

  5. 支持Java EE规范:Tomcat实现了Java Servlet和JSP规范,支持EJB(Enterprise JavaBeans)和JNDI(Java Naming and Directory Interface)。

  6. 高性能:Tomcat使用NIO(Non-blocking I/O)技术,支持高并发连接,提供高性能的Web服务。

  7. 安全性:Tomcat提供了多种安全机制,包括SSL/TLS支持、用户认证和授权、安全配置等。

  8. 可扩展性:Tomcat允许通过添加额外的组件和模块来扩展其功能,如支持WebSocket、Servlet 3.1等。

  9. 灵活的配置:Tomcat提供了丰富的配置选项,可以通过修改配置文件来调整服务器的行为。

  10. 集成开发环境支持:Tomcat与许多IDE(如Eclipse、IntelliJ IDEA)集成,方便开发者在开发环境中进行测试和调试。

  11. 集群支持:Tomcat支持集群部署,可以实现负载均衡和会话复制。

  12. WebSocket支持:Tomcat支持WebSocket协议,可以用于构建实时Web应用。

  13. Servlet 3.0以上支持:Tomcat支持Servlet 3.0及以上版本的特性,如异步Servlet。

  14. JSP支持:Tomcat内置Jasper JSP引擎,支持JSP的编译和执行。

  15. 社区支持:Tomcat拥有一个活跃的社区,提供大量的文档、教程和支持。

  16. 监控和管理:Tomcat提供了管理界面,可以监控和管理服务器的状态、应用部署等。

  17. 日志记录:Tomcat提供了详细的日志记录功能,帮助开发者诊断问题。

  18. 国际化支持:Tomcat支持国际化,可以处理多语言的Web应用。

  19. 数据库连接池:Tomcat通过JDBC连接池支持数据库连接的复用,提高数据库操作的效率。

  20. 支持多种Web服务:Tomcat可以作为RESTful Web服务和SOAP Web服务的容器。
    在这里插入图片描述

Tomcat的核心组件

  1. Catalina:Catalina是Tomcat的Servlet容器,负责处理Servlet和JSP的生命周期管理。它是Tomcat架构的核心,负责加载、执行和管理Web应用。

  2. Coyote:Coyote是Tomcat的HTTP/1.1协议的实现,作为Tomcat的网络连接器(Connector)。它负责监听端口,接收客户端请求,并将其转换为Tomcat可以处理的ServletRequest对象。

  3. Jasper:Jasper是Tomcat的JSP引擎,负责将JSP页面编译成Servlet类。它实现了JSP的生命周期管理,包括编译、执行和优化。

  4. NioEndpoint/Nio2Endpoint:这些是Tomcat的非阻塞I/O(NIO)实现,用于处理网络请求。NioEndpoint基于Java NIO的旧版本,而Nio2Endpoint基于Java 7引入的更高级的NIO.2特性。

  5. AprLifecycleListener:这个组件用于集成Apache Portable Runtime(APR)库,可以提高Tomcat在Unix/Linux系统上的I/O性能。

  6. Cluster:集群组件,用于支持Tomcat的会话复制和负载均衡,允许多个Tomcat实例共享会话信息。

  7. Realm:Realm组件负责Tomcat的安全管理,提供认证和授权服务。它可以与不同的数据源(如数据库、LDAP等)集成,以实现用户身份验证。

  8. Juli:Juli是Tomcat的日志实现,提供了日志记录和管理功能。它允许开发者配置日志级别和输出目的地。

  9. WebSocket:Tomcat支持WebSocket协议,允许实现全双工通信,WebSocket组件处理WebSocket请求和事件。

  10. SSLImplementation:这个组件负责Tomcat的SSL/TLS实现,处理HTTPS请求和安全套接字连接。

  11. Executor:Executor组件提供了一个线程池,用于管理Tomcat的工作线程,提高并发处理能力。

  12. GlobalResourcesSharedResources:这些组件负责管理Tomcat的全局和共享资源,如数据库连接池、JNDI资源等。

  13. Host:Host组件代表一个虚拟主机,可以配置多个Web应用,并为每个应用提供独立的配置和管理。

  14. Context:Context组件代表一个Web应用的上下文环境,它包含了应用的配置信息,如Servlet映射、参数设置等。

  15. Manager:Manager组件负责Session管理,包括Session的创建、过期和复制。
    在这里插入图片描述

Tomcat使用

Tomcat是一个开源的Servlet容器和Web服务器,广泛用于开发和部署Java Web应用程序。以下是Tomcat的详细安装、配置、管理和优化教程。

安装Tomcat
  1. 确认JDK环境:确保已安装Java Development Kit (JDK),并且环境变量配置正确。
  2. 下载Tomcat:从Apache Tomcat官方网站下载适合您操作系统的Tomcat版本。
  3. 解压Tomcat:将下载的压缩包解压到您选择的目录中。
  4. 配置环境变量:设置CATALINA_HOME环境变量,并将%CATALINA_HOME%\bin添加到系统的Path环境变量中。
配置Tomcat
  1. 修改端口号:如果需要,编辑conf/server.xml文件,更改默认的HTTP端口(通常是8080)。
  2. 部署Web应用程序:将WAR文件放置在webapps目录下,或直接解压到webapps目录中创建的应用程序目录中。
启动和停止Tomcat
  1. 启动Tomcat:在命令行中进入Tomcat的bin目录,执行startup.bat(Windows)或startup.sh(Linux/Mac)脚本来启动服务器。
  2. 停止Tomcat:执行shutdown.bat(Windows)或shutdown.sh(Linux/Mac)脚本来停止服务器。

在这里插入图片描述

Tomcat工作原理

Tomcat的工作原理可以概括为以下几个步骤:

  1. 启动Tomcat服务器:当Tomcat启动时,它会加载配置文件(主要是server.xml),初始化核心组件,如Catalina、Coyote、Jasper等,并为每个组件分配资源。

  2. 监听端口:Tomcat使用Coyote作为HTTP/1.1协议的实现,监听配置好的端口,等待客户端的HTTP请求。

  3. 接收请求:当客户端发送HTTP请求到Tomcat服务器时,Coyote接收请求并将其转换为ServletRequest对象。

  4. 路由请求:Tomcat根据请求的URL和Host配置,将请求路由到正确的虚拟主机(Host)和Web应用(Context)。

  5. 处理请求:请求到达Web应用的Context后,Tomcat会根据web.xml或context.xml中的配置,找到对应的Servlet或JSP页面。

  6. 执行Servlet:对于Servlet请求,Tomcat会实例化Servlet对象(如果尚未创建),调用其service方法来处理请求。

  7. 编译JSP:如果是JSP请求,Jasper JSP引擎会编译JSP页面为Servlet,然后执行编译后的Servlet。

  8. 生成响应:Servlet处理完请求后,会生成响应数据,Tomcat将这些数据封装为ServletResponse对象。

  9. 发送响应:Tomcat将ServletResponse对象转换为HTTP响应,通过Coyote发送回客户端。

  10. Session管理:在请求和响应过程中,Tomcat会管理用户的会话状态,包括创建、查找和维护Session。

  11. 资源访问:Tomcat允许Servlet和JSP访问Web应用的资源,如静态文件、配置文件等。

  12. 安全性和认证:Tomcat使用Realm组件来处理安全性和用户认证,确保只有授权用户才能访问受限资源。

  13. 日志记录:Tomcat使用Juli组件记录日志信息,包括访问日志、错误日志等。

  14. 关闭连接:请求处理完成后,Tomcat会关闭请求和响应的连接,或者如果配置了Keep-Alive,会保持连接以处理后续请求。

  15. 资源清理:Tomcat会定期清理不再使用的资源,如过期的Session、临时文件等。

Tomcat的工作原理体现了一个典型的Web服务器和Servlet容器的模型,它遵循Java EE规范,提供了一个稳定和可扩展的平台来运行Web应用。通过配置和优化,Tomcat可以适应不同的应用场景和性能需求。
在这里插入图片描述

目录结构

Tomcat的目录结构是按照Web应用的部署和管理需求设计的。以下是Tomcat服务器的基本目录结构及其主要组成部分的简要说明:

  1. bin:这个目录包含了启动和停止Tomcat服务器的脚本。例如,startup.sh(Linux系统)或startup.bat(Windows系统)用于启动服务器,而shutdown.shshutdown.bat用于优雅地关闭服务器。

  2. conf:配置目录,包含Tomcat服务器的所有配置文件。最重要的配置文件是server.xml,它定义了服务器的主要组件,如连接器、引擎、主机和应用程序。

  3. lib:库目录,包含Tomcat运行所需的所有Java库(JAR文件)。这些库提供了Tomcat的大部分功能。

  4. logs:日志目录,Tomcat将所有日志信息写入此目录。包括访问日志、应用程序日志和系统日志等。

  5. temp:临时目录,Tomcat在运行期间生成的临时文件存放在这里。

  6. webapps:Web应用目录,这是部署Web应用的地方。每个Web应用都有一个自己的目录,通常是WAR文件解压后的目录,或者是直接放置的目录结构。

  7. work:工作目录,Tomcat将编译的Servlet类和JSP页面的转换结果存放在这里。这个目录通常很大,因为它包含了所有运行时的类定义。

在这里插入图片描述

配置文件

Tomcat的配置文件主要位于conf目录下,它们定义了服务器的行为、安全性设置、应用程序部署等。

  1. server.xml:这是Tomcat的主配置文件,定义了整个服务器的组件结构,包括连接器(Connector)、引擎(Engine)、主机(Host)和应用程序(Context)。它还配置了端口号、线程池、日志记录等。

  2. context.xml:这个文件用于定义Web应用的上下文(Context),它的作用类似于Web应用的WEB-INF/web.xml文件,但是可以全局地为所有应用设置一些共通的上下文参数。

  3. web.xml:这是JSP和Servlet规范的配置文件,定义了Web应用的Servlet、Filter、Listener等组件的配置信息。每个Web应用的WEB-INF目录下也有自己的web.xml文件,可以覆盖全局web.xml的设置。

  4. tomcat-users.xml:这个文件用于定义访问Tomcat管理界面的用户账号和权限。它不是必需的,但可以提高服务器的安全性。

  5. global.web.xml:这个文件包含了全局的Web应用配置,可以被所有Web应用继承。

  6. catalina.properties:定义了Tomcat服务器的JVM系统属性,如内存设置等。

  7. server.properties:定义了Tomcat服务器的端口号和协议等信息。

  8. logging.properties:定义了Tomcat的日志记录级别和日志文件的位置。

  9. policy.d/:这个目录包含了Java安全策略文件,用于定义Java安全策略。

  10. webapp.class.loader:定义了Web应用类加载器的行为。

  11. context.xmlweb.xml 的区别:

    • context.xml 可以定义单个Web应用的上下文参数,也可以在conf目录下定义全局上下文参数。
    • web.xml 是每个Web应用特有的,定义了应用的Servlet映射、Filter链、Listener等。
  12. Connector配置:在server.xml中,<Connector>标签定义了HTTP请求的处理方式,包括端口号、协议、最大连接数等。

  13. Engine配置<Engine>标签定义了Tomcat的引擎,它是连接宿主和Web应用的中间层。

  14. Host配置<Host>标签定义了虚拟主机,可以配置域名、别名、应用映射等。

  15. Realm配置:定义了Tomcat的认证和授权机制,可以集成不同的安全实体,如数据库、LDAP等。

在这里插入图片描述

性能优化策略

  1. 增加JVM内存:适当增加Java虚拟机的内存分配,特别是对于大型应用或高负载环境,可以提高Tomcat的性能。

  2. 线程池优化:调整Tomcat的线程池设置,包括最大线程数、最小空闲线程数和最大队列等待数,以适应不同的负载需求。

  3. 连接设置:优化HTTP连接的设置,例如增加最大连接数、调整连接超时时间等。

  4. 启用GZIP压缩:通过启用GZIP压缩,可以减少网络传输的数据量,从而提高响应速度。

  5. 使用HTTP/2:如果可能,升级到支持HTTP/2的Tomcat版本,HTTP/2提供了更高效的数据传输机制。

  6. 优化Servlet和JSP:优化Servlet和JSP代码,减少不必要的数据库查询,使用缓存来存储重复请求的结果。

  7. 使用异步Servlet:利用Servlet 3.0引入的异步处理能力,可以提高Tomcat处理并发请求的能力。

  8. 资源缓存:使用HTTP缓存头来缓存静态资源,减少服务器的负载。

  9. 数据库连接池:使用数据库连接池来管理数据库连接,避免频繁地打开和关闭连接。

  10. 监控和日志优化:合理配置Tomcat的日志级别,避免过度记录日志,使用监控工具来跟踪性能瓶颈。

  11. 部署优化:合理部署Web应用,避免在一个实例上部署过多的应用。

  12. 类加载器优化:优化类加载器的行为,减少类加载的时间。

  13. 使用NIO:Tomcat默认使用NIO(非阻塞I/O)来处理请求,确保这一点没有被配置错误地更改为BIO。

  14. Session管理:优化Session管理策略,例如使用分布式Session管理解决方案,当应用运行在多个实例上时。

  15. 使用APR:在Linux系统上,使用Apache Portable Runtime(APR)可以提高I/O操作的性能。

  16. 垃圾回收调优:根据应用的特点选择合适的垃圾回收器,并调整其参数,以减少GC(垃圾回收)的暂停时间。

  17. 使用SSL/TLS优化:如果使用HTTPS,确保SSL握手和数据传输的优化,比如使用SSL会话缓存。

  18. Web应用优化:优化Web应用的代码和资源,比如减少不必要的HTTP请求,优化JavaScript和CSS的加载。

  19. 硬件资源:确保服务器有足够的CPU、内存和网络带宽来处理请求。

  20. 负载均衡:在多实例部署时,使用负载均衡器来分散请求,避免单点过载。

性能优化是一个持续的过程,需要根据应用的具体需求和运行情况进行调整。通常,性能测试和监控是优化的第一步,它们可以帮助你识别瓶颈并进行相应的优化。

相关文章:

Tomcat初篇

目录 Tomcat主要特点Tomcat的核心组件Tomcat使用安装Tomcat配置Tomcat启动和停止Tomcat Tomcat工作原理目录结构配置文件性能优化策略 Tomcat Apache Tomcat是一个开源的Servlet容器和Web服务器&#xff0c;广泛用于运行基于Java的Web应用程序。它实现了Java Servlet和JavaSer…...

机器学习(2)-- KNN算法之手写数字识别

KNN算法 KNN&#xff08;K-Nearest Neighbor&#xff0c;K最近邻&#xff09;算法是一种用于分类和回归的非参数统计方法&#xff0c;尤其在分类问题中表现出色。在手写数字识别领域&#xff0c;KNN算法通过比较测试样本与训练样本之间的距离&#xff0c;找到最近的K个邻居&am…...

【机器人】关于钉钉机器人如何进行自定义开发问答【详细清晰】

目标&#xff1a;当用户输入问题并钉钉机器人&#xff0c;钉钉机器人进行相应的回答&#xff0c;达到一种交互问答的效果 开发文档参考&#xff1a;https://open.dingtalk.com/document/orgapp/robot-overview 首先进行登录企业&#xff0c;后面如果没有进行登录&#xff0c;会…...

Qt:exit,quit,close的用法及区别

前言 虽然能从单词的字面意思大致理解这些函数的意思&#xff0c;但是总感觉不出来它们的区别以及用法&#xff0c;特地去研究一下 正文 在 Qt 中&#xff0c;quit、exit 和 close 都是用于终止程序或关闭窗口的方法 1. QApplication::quit() 注意&#xff1a;注意quit() …...

Linux——进程地址空间

前言 在操作系统中&#xff0c;内存分为以下几个区域&#xff0c;从下往上按照从小到大排列 一、程序地址的分布 代码 #include <stdio.h> #include <stdlib.h> int noval; int val 1;int main(int argc,char*argv[],char*env[]){printf("code addr %p\n&q…...

信创(国产化)方案

信创 信创,即信息技术应用创新,旨在实现信息技术自主可控openEuler openEuler是一款开源、免费的操作系统,由openEuler社区运作,前身为运行在华为公司通用服务器上的操作系统EulerOS。openEuler作为一款开源、免费的操作系统,由开放原子开源基金会(OpenAtom Foundation)…...

EasyRecovery17中文版永久汉化版电脑数据恢复工具下载

&#x1f388;&#x1f389;安利时间到&#xff01;今天要跟大家分享的是——EasyRecovery17中文版的最新功能&#xff01;&#x1f389;&#x1f388; &#x1f31f;✨ “数据恢复小能手” ✨&#x1f31f; 让我来介绍一下这款软件的主打特点。 EasyRecovery17中文版是一款强…...

Cesium倾斜相机视角观察物体

先看效果&#xff1a; 在cesium中&#xff0c;我们有时需要倾斜相机视角去观察物体&#xff0c;如相机俯视45观察物体。 cesium的api提供了倾斜相机视角的配置&#xff0c;但是直接使用cesium的api不能达到我们想要的效果。 函数如下&#xff1a; function flyToBox() {let l…...

C/C++开发---全篇

1、统筹 学习目标&#xff1a; C/C、python精通。 就业匹配方向&#xff1a;专精一个领域&#xff0c;延长职业生涯。 &#xff08;1&#xff09;适配行业&#xff1b; &#xff08;2&#xff09;量化&#xff1b; &#xff08;3&#xff09;安全&#xff1b; &#xff08;4&…...

Android全面解析之context机制(二): 从源码角度分析context创建流程(上)

前言 这篇文章从源码角度分析context创建流程。 在上一篇Android全面解析之Context机制(一) :初识context一文中讲解了context的相关实现类。经过前面的讨论&#xff0c;读者对于context在心中有了一定的理解。但始终觉得少点什么&#xff1a;activity是什么时候被创建的&…...

WPS真题题库导入刷题小程序:百思考个人使用经验分享

这篇文章的诞生&#xff0c;是因为我即将踏上一场超级有趣的挑战——备考全国计算机等级二级WPS Office高级应用与设计的冒险之旅&#xff01; WPS的分值&#xff1a; 单项选择题20分(含公共基础知识部分10分)。 WPS处理文字文档操作题30分。 WPS处理电子表格操作题30分。 …...

拯救者双系统问题 Verifiying shim SBAT data failed: Security Policy Violation

Verifiying shim SBAT data failed: Security Policy Violation Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation windows更新的问题 https://forums.linuxmint.com/viewtopic.php?t427297 https://github.com/Metabolix/HackBGRT/…...

ThreeJs学习笔记--坐标系,光源,相机控件

坐标系 一、创建添加坐标系 给场景添加坐标系THREE.AxesHelper()的参数表示坐标系坐标轴线段尺寸大小&#xff0c;你可以根据需要改变尺寸 const axesHelper new THREE.AxesHelper(200)//数值是坐标的尺寸 scene.add(axesHelper)//添加到场景里 坐标系包含三个坐标轴&…...

基于 Android studio 实现停车场管理系统--原创

目录 一、项目演示 二、开发环境 三、项目页面 四、项目详情 五、项目完整源码 一、项目演示 二、开发环境 三、项目详情 1.启动页 这段代码是一个简单的Android应用程序启动活动&#xff08;Activity&#xff09;&#xff0c;具体功能如下&#xff1a; 1. **延迟进入登…...

8 个最佳 Java IDE 和文本编辑器

从 2024 年使用的最佳 Java IDE 和代码编辑器中进行选择&#xff0c;并提高您的 Java 生产力。 Java 是世界上最流行的编程语言之一&#xff0c;于 1995 年首次推出&#xff0c;它确实践行了“编写一个&#xff0c;随处运行”的座右铭。该语言用途广泛&#xff0c;可用于构建从…...

【2024最新版版】PyCharm安装教程

简介 由于Python语法简单容易入门&#xff0c;并且Python在办公自动化等领域的功能非常强大&#xff0c;所以现在越来越多非IT行业的人也开始学起了Python&#xff0c;要学习和使用一门编程语言&#xff0c;一个好用的IDE是必不可少的&#xff0c;而对于Python来说&#xff0c…...

奥运科技观察:AI PC,如何成为当代体育精神的数字捍卫者?

作者 | 曾响铃 文 | 响铃说 数字孪生帮助体育馆建设、超高清直播……这届奥运会科技感拉满&#xff0c;几乎所有前沿技术都能在奥运的赛事运营中发现。 而AI大时代&#xff0c;AI如何帮助帮助奥运会顺利举办、如何帮助运动员拥有更好的表现&#xff0c;同样值得业界关注&…...

Java进阶篇之包的概念及其应用

引言 在前面的文章中&#xff0c;我们介绍了抽象类和抽象方法&#xff08;Java进阶篇之抽象类和抽象方法&#xff09;&#xff0c;在Java编程中&#xff0c;包&#xff08;Package&#xff09;是管理类和接口的重要工具。包不仅提供了一种层次化的命名空间机制&#xff0c;还可…...

短剧出海,赚钱新途径,掌握海外短剧CPS分销的秘诀

国内短剧发展的如日中天&#xff0c;需要的资质也是越来越严格&#xff0c;不少人已经将目标瞄向海外短剧市场&#xff0c;海外短剧这块相对来说并没有那么严格&#xff0c;但很多人在海外推广的道路上举步维艰&#xff0c;推广异常困难&#xff0c;重点讲下目前海外短剧的推广…...

uniapp小程序openid和unionId

1. openid 1. 用户的openid在小程序中的固定不变的&#xff1b; 2. 用户在不同的小程序里的openid是不一样的&#xff1b; 3. 只要appid不变&#xff0c;openid就不变。 获取openid 1. 使用uni.login获取code 2. 使用code调接口换取 用户唯一标识 OpenID 、 用户在微信开放平台…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...