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

Tomcat 面试题(一)

1. 简述什么是Tomcat ?

Tomcat是一个开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP)技术,提供了一个运行Java Web应用程序的平台。Tomcat由Apache软件基金会维护,并广泛用于开发和部署Web应用程序。

Tomcat的主要特点包括:

  1. 轻量级:Tomcat是一个轻量级的Web服务器,与Apache HTTP Server等重量级Web服务器相比,它的资源占用更少。

  2. Servlet和JSP支持:Tomcat实现了Servlet和JSP规范,允许开发者使用Java技术栈来创建动态Web页面。

  3. 易于部署:Tomcat提供了简单的部署机制,开发者可以将Web应用程序打包成WAR文件,然后部署到Tomcat服务器上。

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

  5. 集成开发环境:Tomcat可以与Eclipse、IntelliJ IDEA等集成开发环境(IDE)集成,方便开发者进行开发和调试。

  6. 安全性:Tomcat提供了多种安全机制,包括SSL/TLS加密、访问控制和身份验证等。

  7. 可扩展性:Tomcat支持多种扩展,如Apache Tomcat Connectors/JDBC等,可以与其他系统和服务集成。

总的来说,Tomcat是一个功能强大、灵活且易于使用的Java Web服务器,适用于开发和部署各种规模的Web应用程序。

2. Tomcat的缺省端口是多少,怎么修改 ?

Tomcat的缺省端口是8080。如果你需要修改Tomcat的端口,可以按照以下步骤进行:

  1. 修改server.xml配置文件
    找到Tomcat安装目录下的conf文件夹,然后打开server.xml文件。

  2. 定位Connector元素
    server.xml文件中,找到<Connector>元素,这个元素定义了Tomcat的HTTP连接配置。

  3. 修改port属性
    <Connector>元素中,找到port属性,将其值修改为你希望Tomcat使用的端口号。例如,如果你想将端口改为9090,你可以这样修改:

    <Connector port="9090" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
    
  4. 保存并重启Tomcat
    修改完成后,保存server.xml文件,并重启Tomcat服务以使更改生效。

  5. 注意防火墙设置
    修改端口后,确保服务器的防火墙规则允许新端口的流量通过。

请注意,如果你的Tomcat运行在生产环境中,更改端口可能需要额外的配置,比如更新负载均衡器的设置等。同时,确保所选的新端口没有被其他服务占用。

3. 简述Tomcat 目录结构及作用 ?

Tomcat的目录结构是按照一定的组织方式设计的,以便于管理和部署Web应用程序。以下是Tomcat的常见目录结构及其作用:

  1. bin - 包含启动和停止Tomcat服务器的脚本。例如,startup.sh(Linux)或startup.bat(Windows)用于启动服务器,shutdown.shshutdown.bat用于停止服务器。

  2. conf - 配置目录,包含Tomcat服务器的配置文件,如server.xml(主配置文件)、web.xml(Servlet规范的配置文件)等。

  3. lib - 库目录,包含Tomcat运行所需的JAR文件,如Tomcat API、实现和第三方库。

  4. logs - 日志目录,存放Tomcat运行时生成的日志文件,如访问日志、错误日志等。

  5. temp - 临时目录,存放Tomcat运行时产生的临时文件。

  6. webapps - Web应用程序目录,用于存放部署的Web应用程序。每个应用程序通常是一个子目录,其中包含应用程序的WAR文件和解压后的文件。

  7. work - 工作目录,存放Tomcat处理请求时生成的临时工作文件,如JSP编译后的Servlet类文件。

  8. bin - 包含用于管理Tomcat服务器的脚本和工具,如catalina.shcatalina.bat

  9. common - 包含所有Web应用程序共享的类和资源,如JDBC连接池和日志框架。

  10. server - 包含特定于Tomcat服务器的类和资源,通常不包含在Web应用程序中。

  11. shared - 包含可以被多个Tomcat实例共享的类和资源。

  12. endorsed - 包含Tomcat使用的第三方JAR文件,这些文件被“背书”以覆盖Java平台的标准实现。

  13. logs - 存放Tomcat生成的日志文件,如Catalina、HostManager、和Manager日志。

  14. temp - Tomcat在运行时生成的临时文件存放在这里。

  15. webapps.dist - 包含默认的Web应用程序,如Tomcat的管理界面。

了解这些目录及其作用对于管理和维护Tomcat服务器非常重要,它们帮助开发者配置服务器、部署应用程序、监控日志和进行故障排查。

4. 简述Tomcat有几种部署方式?

Tomcat是一种流行的Java Servlet容器,它支持多种部署方式,主要包括以下几种:

  1. WAR部署
    WAR(Web Application Archive)是Java EE规范中定义的一种打包格式,用于打包Web应用程序。用户可以将Web应用程序打包成WAR文件,然后将其放置在Tomcat的webapps目录下,Tomcat会自动解压并部署该应用程序。

  2. 目录部署
    用户也可以将Web应用程序的目录结构直接放置在Tomcat的webapps目录下,Tomcat会将该目录视为一个Web应用程序进行部署。

  3. JAR部署
    Tomcat支持将JAR文件部署为Web应用程序。用户需要将JAR文件放置在webapps目录下,并确保JAR文件中包含一个web.xml文件。

  4. 自动部署
    Tomcat默认开启自动部署功能,当webapps目录下添加新的WAR文件或目录时,Tomcat会自动检测并部署这些应用程序。

  5. 配置部署
    通过在server.xml配置文件中配置<Host><Context>元素,用户可以指定应用程序的部署路径、资源链接等信息。

  6. 远程部署
    使用Tomcat Manager或Tomcat的远程部署API,用户可以远程部署和管理Web应用程序。

  7. 通过IDE部署
    许多集成开发环境(IDE)如Eclipse、IntelliJ IDEA等提供了对Tomcat的支持,允许用户直接从IDE中部署和管理Web应用程序。

  8. 使用构建工具部署
    使用Maven、Gradle等构建工具,可以在构建过程中自动打包并部署到Tomcat。

  9. Docker容器部署
    将Tomcat及其Web应用程序打包到Docker容器中,可以轻松地在不同环境中部署和运行。

每种部署方式都有其适用场景和优缺点,用户可以根据具体需求和偏好选择合适的部署方式。

5. 简述Tomcat容器是如何创建servlet类实例?

Tomcat容器创建Servlet类实例的过程大致如下:

  1. 加载Servlet类:当Tomcat接收到一个指向特定Servlet的请求时,它会检查是否已经加载了该Servlet类。如果没有加载,Tomcat会使用类加载器(ClassLoader)加载对应的.class文件。

  2. 实例化Servlet类:加载Servlet类后,Tomcat会通过Java的反射机制创建该Servlet类的一个实例。

  3. 初始化Servlet:创建实例后,Tomcat会调用Servlet的init方法进行初始化。这个方法只会在Servlet生命周期中被调用一次,通常用于设置Servlet的初始状态和配置。

  4. 映射请求:Tomcat会将请求映射到对应的Servlet。这是通过在web.xml文件或注解中定义的URL模式来实现的。

  5. 服务请求:初始化完成后,Tomcat会调用Servlet的service方法来处理请求。service方法会根据请求的类型(如GET或POST)调用相应的doGetdoPost等方法。

  6. 销毁Servlet:当Servlet不再需要时,例如在Web应用程序被卸载或容器关闭时,Tomcat会调用Servlet的destroy方法来执行清理工作。

  7. 单例模式与多线程:Tomcat使用单例模式来管理Servlet实例,即每个Servlet类只有一个实例。由于Web应用程序通常需要处理多个并发请求,Tomcat通过多线程来实现这一点。它会为每个请求创建一个线程,并在该线程中调用Servlet的service方法。因此,Servlet类需要设计为线程安全的。

  8. 生命周期管理:Tomcat通过监听器(Listener)来管理Servlet的生命周期,例如在Web应用程序启动和停止时进行相应的处理。

  9. 资源回收:Tomcat会负责管理Servlet实例的生命周期,包括在适当的时候回收不再使用的资源,以避免内存泄漏。

通过上述步骤,Tomcat容器能够有效地管理和维护Servlet的生命周期,同时确保Web应用程序的高效运行和线程安全。

6. Tomcat有哪几种Connector运行模式?

Tomcat Connector是Tomcat服务器用来处理HTTP请求的组件,它支持多种运行模式,主要包括以下几种:

  1. BIO(Blocking I/O)
    这是Tomcat传统的运行模式,使用阻塞I/O处理请求。在这种模式下,每个请求都会占用一个线程,直到请求处理完成。这种方式简单,但在高并发场景下,由于线程资源的限制,性能可能受到影响。

  2. NIO(Non-blocking I/O)
    NIO模式使用非阻塞I/O,允许一个线程处理多个请求,从而提高并发性能。NIO是Java 1.4引入的特性,Tomcat从5.5版本开始支持NIO Connector。

  3. NIO2
    NIO2是Java 7引入的NIO的改进版本,它提供了更为丰富的API,包括对异步文件I/O的支持。Tomcat 7开始支持NIO2 Connector。

  4. APR(Apache Portable Runtime)
    APR Connector是Tomcat的一个可选组件,它使用Apache Portable Runtime库来提供更高效的I/O操作,特别是在Unix-like系统上。APR Connector可以提供比NIO更好的性能,但需要安装额外的本地库。

  5. Coyote
    Coyote是Tomcat 7开始引入的一个新的HTTP Connector实现,它支持NIO和NIO2,并且提供了更好的性能和可扩展性。

  6. WebSocket
    WebSocket Connector是Tomcat 7引入的,用于支持WebSocket协议,允许服务器和客户端之间进行全双工通信。

  7. AJP(Apache JServ Protocol)
    AJP Connector用于与Apache HTTP Server进行通信,通过AJP协议将请求转发到Tomcat。这种方式通常用于Apache作为前端服务器,Tomcat作为后端应用服务器的架构。

每种Connector运行模式都有其特定的使用场景和性能特点,开发者可以根据应用的需求和服务器环境来选择最合适的Connector。

相关文章:

Tomcat 面试题(一)

1. 简述什么是Tomcat &#xff1f; Tomcat是一个开源的Java Servlet容器&#xff0c;它实现了Java Servlet和JavaServer Pages (JSP)技术&#xff0c;提供了一个运行Java Web应用程序的平台。Tomcat由Apache软件基金会维护&#xff0c;并广泛用于开发和部署Web应用程序。 Tom…...

跟踪一个Pytorch Module在训练过程中的内存分配情况

跟踪一个Pytorch Module在训练过程中的内存分配情况 代码输出 目的:跟踪一个Pytorch Module在训练过程中的内存分配情况 方法: 1.通过pre_hook module的来区分module的边界 2.通过__torch_dispatch__拦截所有的aten算子,计算在该算子中新创建tensor的总内存占用量 3.通过tensor…...

LeetCode 2965.找出缺失和重复的数字:小数据?我选择暴力(附优化方法清单:O(1)空间方法×3)

【LetMeFly】2965.找出缺失和重复的数字&#xff1a;小数据&#xff1f;我选择暴力&#xff08;附优化方法清单&#xff1a;O(1)空间方法3&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-missing-and-repeated-values/ 给你一个下标从 0 开始的二维…...

【运维】VMware Workstation 虚拟机内无网络的解决办法(或许可行)

【使用桥接模式】 【重置网络】 这个过程涉及管理Linux系统中的网络驱动程序和网络管理工具。以下是每个步骤的详细解释&#xff1a; 卸载网络驱动模块&#xff1a; sudo rmmod e1000 sudo rmmod e1000e sudo rmmod igb这些命令使用 rmmod&#xff08;remove module&#xff…...

如何使用Dora SDK完成Fragment流式切换和非流式切换

我想大家对Fragment都不陌生&#xff0c;它作为界面碎片被使用在Activity中&#xff0c;如果只是更换Activity中的一小部分界面&#xff0c;是没有必要再重新打开一个新的Activity的。有时&#xff0c;即使要更换完整的UI布局&#xff0c;也可以使用Fragment来切换界面。 何…...

低代码开发平台(Low-code Development Platform)的模块组成部分

低代码开发平台&#xff08;Low-code Development Platform&#xff09;的模块组成部分主要包括以下几个方面&#xff1a; 低代码开发平台的模块组成部分可以按照包含系统、模块、菜单组织操作行为等维度进行详细阐述。以下是从这些方面对平台模块组成部分的说明&#xff1a; …...

Java网络编程(上)

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:Java文件IO&#x1f649; &#x1f439;今日诗词:来如春梦几多时&#xff1f;去似朝云无觅处&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微小博主&a…...

Spring Kafka 之 @KafkaListener 注解详解

我们在开发的过程中当使用到kafka监听消费的时候会使用到KafkaListener注解&#xff0c;下面我们就介绍下它的常见属性和使用。 一、介绍 KafkaListener 是 Spring Kafka 提供的一个注解&#xff0c;用于声明一个方法作为 Kafka 消息的监听器 二、主要参数 1、topic 描述&…...

【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…...

【linux】(1)文件操作及vi

文件和目录的创建 创建文件 touch 命令&#xff1a;创建一个新的空文件。 touch filename.txtecho 命令&#xff1a;创建一个文件并写入内容。 echo "Hello, World!" > filename.txtcat 命令&#xff1a;将内容写入文件。 cat > filename.txt然后输入内容&…...

【5】MySQL数据库备份-XtraBackup - 全量备份

MySQL数据库备份-XtraBackup-全量备份 前言环境版本 安装部署下载RPM 包二进制包 安装卸载 场景分析全量备份 | 恢复备份恢复综合 增量备份 | 恢复部分备份 | 恢复 前言 关于数据库备份的一些常见术语、工具等&#xff0c;可见《MySQL数据库-备份》章节&#xff0c;当前不再重…...

数据治理-数据标准演示

数据字典 数据标准-数据字典 词根 数据标准-词根 业务字典映射 数据标准-业务字典映射 标准文档 数据标准-标准文档...

基于Chisel的FPGA流水灯设计

Chisel流水灯 一、Chisel&#xff08;一&#xff09;什么是Chisel&#xff08;二&#xff09;Chisel能做什么&#xff08;三&#xff09;Chisel的使用&#xff08;四&#xff09;Chisel的优缺点1.优点2.缺点 二、流水灯设计 一、Chisel &#xff08;一&#xff09;什么是Chise…...

LabVIEW齿轮调制故障检测系统

LabVIEW齿轮调制故障检测系统 概述 开发了一种基于LabVIEW平台的齿轮调制故障检测系统&#xff0c;实现齿轮在恶劣工作条件下的故障振动信号的实时在线检测。系统利用LabVIEW的强大图形编程能力&#xff0c;结合Hilbert包络解调技术&#xff0c;对齿轮的振动信号进行精确分析…...

AI帮写:探索国内AI写作工具的创新与实用性

随着AI技术的快速发展&#xff0c;AI写作正成为创作的新风口。但是面对GPT-4这样的国际巨头&#xff0c;国内很多小伙伴往往望而却步&#xff0c;究其原因&#xff0c;就是它的使用门槛高&#xff0c;还有成本的考量。 不过&#xff0c;随着GPT技术的火热&#xff0c;国内也涌…...

n后问题 回溯笔记

问题描述 在nn格的棋盘上放置彼此不受攻击的n个皇后。 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同 一行或同一列或同一斜线上的棋子。n后问题等价于在nn格的棋盘上放置n个皇后&#xff0c;任何2个皇后不放在同一行或同一列或同一斜线上。 代码 import java.uti…...

简述Java中实现Socket通信的步骤

在Java中&#xff0c;实现Socket通信通常涉及客户端和服务器端两个角色。以下是它们各自的基本步骤&#xff1a; 服务器端&#xff08;Server&#xff09; 创建ServerSocket对象&#xff1a; 在服务器端&#xff0c;首先需要创建一个ServerSocket对象。这个对象会监听来自客户…...

Asp.Net Core 实现分片下载的最简单方式

技术群里的朋友遇到了这个问题&#xff0c;起初的原因是他对文件增加了一个属性配置 fileResult.EnableRangeProcessing true;这个属性我从未遇到过&#xff0c;然后&#xff0c;去F1查看这个属性的描述信息也依然少的可怜&#xff0c;只有简单的描述为(获取或设置为 启用范围…...

[Mac软件]Leech for Mac v3.2 - 轻量级mac下载工具

黑果魏叔推荐Leech是由Many Tricks开发的适用于Mac OS X的轻量级且功能强大的下载管理器。 Leech让您完全控制下载&#xff0c;并与浏览器完全集成。您可以将下载排队&#xff0c;暂停和恢复&#xff0c;从受密码保护的服务器下载&#xff0c;并将密码存储在系统范围的安全钥匙…...

留给“端侧大模型”的时间不多了

端侧大模型&#xff08;Edge AI models&#xff09;&#xff0c;也就是只在设备本地&#xff08;如智能手机、IoT设备、嵌入式系统等&#xff09;运行的大模型&#xff0c;过去一两年来非常流行。 具体表现在&#xff0c;终端设备厂商&#xff0c;如苹果、荣耀、小米、OV等&…...

Pytest框架中的Setup和Teardown功能

在 pytest 测试框架中&#xff0c;setup 和 teardown是用于在每个测试函数之前和之后执行设置和清理的动作&#xff0c;而pytest 实际上并没有内置的 setup 和 teardown 函数&#xff0c;而是使用了一些装饰器或钩子函数来实现类似的功能。 学习目录 钩子函数&#xff08;Hook…...

yolov10/v8 loss详解

v10出了就想看看它的loss设计有什么不同&#xff0c;看下来由于v8和v10的loss部分基本一致就放一起了。 v10的论文笔记&#xff0c;还没看的可以看看&#xff0c;初步尝试耗时确实有提升 好记性不如烂笔头&#xff0c;还是得记录一下&#xff0c;以免忘了&#xff0c;废话结束…...

Typescript高级: 深入理解infer关键字

概述 在 TS 中&#xff0c;infer 是一个高级类型操作&#xff0c;特别是条件类型和映射类型中非常有用的关键字它在泛型中使用也会是一个强大工具&#xff0c;增强了类型推断的能力&#xff0c;让开发者更灵活地处理和操作类型它允许在泛型类型推导过程中捕获一个具体的类型&a…...

JQC-3FF-S-Z 继电器模块使用(arduino)

前言 继电器模块可以控制电流的接通和非接通状态&#xff0c;和开关一样。实际上是用小电流去控制大电流运作的一种“自动开关” 本文只是简单使用继电器模块做一个 led 点亮和熄灭的案例&#xff0c;结合案例可以和 nodemcu 等板子结合做出远程控制开关。 材料准备 杜邦线…...

黑马一站制造数仓实战2

问题 DG连接问题 原理&#xff1a;JDBC&#xff1a;用Java代码连接数据库 Hive/SparkSQL&#xff1a;端口有区别 可以为同一个端口&#xff0c;只要不在同一台机器 项目&#xff1a;一台机器 HiveServer&#xff1a;10000 hiveserver.port 10000 SparkSQL&#xff1a;10001…...

网络I/O模型

网络I/O模型 同步I/O阻塞I/O非阻塞I/OI/O多路复用select函数接口示例 poll函数接口示例 poll 和 select 的区别epoll原理&#xff1a;示例 异步I/O 同步I/O 阻塞I/O 一个基本的C/S模型如下图所图&#xff1a;其中 listen()、connect()、write()、read() 都是阻塞I/O&#xff0…...

Docker 简介和安装

目录 Docker 是什么 跟普通虚拟机的对比 打包、分发、部署 Docker 部署的优势 Docker 通常用来做什么 重要概念&#xff1a;镜像、容器 安装 镜像加速源 Docker 是什么 Docker 是一个应用打包、分发、部署的工具 你也可以把它理解为一个轻量的虚拟机&#xff0c;它只虚…...

【源码】Spring Data JPA原理解析之Repository自定义方法命名规则执行原理(二)

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 5、Spring Data JPA自定…...

Vue前端中从后端获取图片验证码

前端发送请求 <template><el-form :model"user" :rules"rules" ref"userForm" class"login" label-width"auto" style"max-width: 600px"><el-form-item label"用户名" prop"name…...

【源码】多语言H5聊天室/thinkphp多国语言即时通讯/H5聊天室源码/在线聊天/全开源

多语言聊天室系统&#xff0c;可当即时通讯用&#xff0c;系统默认无需注册即可进入群聊天&#xff0c;全开源 【海外聊天室】多语言H5聊天室/thinkphp多国语言即时通讯/H5聊天室源码/在线聊天/全开源 - 吾爱资源网...

gitlab 创建 ssh 和 token

文章目录 一、创建ssh key二、将密钥内容复制到gitlab三、创建token 一、创建ssh key 打开控制台cmd&#xff0c;执行命令 ssh-keygen -t rsa -C xxxxx xxxxx是你自己的邮箱 C:\Users\xx\.ssh 目录下会创建一个名为id_rsa.pub的文件&#xff0c;用记事本打开&#xff0c;并…...

Docker - Kafka

博文目录 文章目录 说明命令 说明 Docker Hub - bitnami/kafka Docker Hub - apache/kafka Kafka QuickStart Kafka 目前没有 Docker 官方镜像, 目前拉取次数最多的是 bitnami/kafka, Apache 提供的是 apache/kafka (更新最及时), 本文使用 bitnami/kafka bitnami/kafka 镜像…...

一键实现文件夹批量高效重命名:轻松运用随机一个字母命名,让文件管理焕然一新!

在数字化时代&#xff0c;文件夹管理是我们日常生活和工作中不可或缺的一部分。然而&#xff0c;随着文件数量的不断增加&#xff0c;文件夹命名的繁琐和重复成为了一个让人头疼的问题。你是否曾因为手动一个个重命名文件夹而感到枯燥乏味&#xff1f;你是否曾渴望有一种方法能…...

Vue3项目练习详细步骤(第二部分:主页面搭建)

主页面搭建 页面主体结构 路由 子路由 主页面搭建 页面主体结构 在vuews目录下新建Layout.vue文件 主页面内容主体代码 <script setup> import {Management,Promotion,UserFilled,User,Crop,EditPen,SwitchButton,CaretBottom } from element-plus/icons-vue imp…...

[个人总结]-java常用方法

1.获取项目根路径 user.dir是一个系统属性&#xff0c;表示用户当前的工作目录&#xff0c;大多数情况下&#xff0c;用户的当前工作目录就是java项目的根目录&#xff08;src文件的同级路径&#xff09; System.getProperty("user.dir") 结果&#xff1a;D:\code…...

什么是Java泛型?它有什么作用

Java泛型&#xff08;Generics&#xff09;是一种允许在定义类、接口和方法时使用类型参数的机制。泛型提供了一种机制&#xff0c;使得代码可以对多种类型的对象进行操作&#xff0c;而无需进行类型转换。 Java泛型的作用 类型安全&#xff1a;通过在编译时进行类型检查&…...

[机缘参悟-197] - 《道家-水木然人间清醒1》读书笔记 -21-看问题从现象到本质的层次

目录 1. 现象层&#xff1a; 2. 关联层&#xff1a; 3. 原因层&#xff1a; 4. 本质层&#xff1a; 5. 解决方案层&#xff1a; 6. 设计实现层&#xff1a; 7. 泛化&#xff1a; 8. 创新与发现&#xff1a; 看问题从现象到本质的层次是一个逐步深入、由表及里的过程。这…...

AIGC商业案例实操课,发觉其创造和商业的无限可能,Ai技术在行业应用新的商机

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89307523 更多资源下载&#xff1a;关注我。 课程内容 1 AI为什么火 。写在课程前面的寄语 。AIGC标志性事件:太空歌剧院 。AI人工智能为什么这么火 &#xff0c;AI人工智能发展历程 。聊天AI会取…...

Java学习路径图

1.学习路径 JAVA架构师学习路径 2.路径拆解 2.1 Spring 2.1.1 SpringBoot原理 SpringBoot2学习视频 SpringBoot2笔记 SpringBoo2代码 2.2.2 SpringBoot项目 《谷粒商城》学习视频...

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑动态定价的新能源汽车能源站优化运行》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...

【简单讲解下Fine-tuning BERT,什么是Fine-tuning BERT?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

Docker搭建Redis主从 + Redis哨兵模式(一主一从俩哨兵)

我这里是搭建一主一从&#xff0c;俩哨兵&#xff0c;准备两台服务器&#xff0c;分别安装docker 我这里有两台centos服务器 主服务器IP&#xff1a;192.168.252.134 从服务器IP&#xff1a;192.168.252.135 1.两台服务器分别拉取redis镜像 docker pull redis 2.查看镜像 d…...

Three.js——tween动画、光线投射拾取、加载.obj/.mtl外部文件、使用相机控制器

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…...

内网渗透-在HTTP协议层面绕过WAF

进入正题&#xff0c;随着安全意思增强&#xff0c;各企业对自己的网站也更加注重安全性。但很多web应用因为老旧&#xff0c;或贪图方便想以最小代价保证应用安全&#xff0c;就只仅仅给服务器安装waf。 本次从协议层面绕过waf实验用sql注入演示&#xff0c;但不限于实际应用…...

qt QGroupBox radiobutton

QGroupBox 显示文本&#xff1a;属性 title 加载radiobutton if (jsonObject.contains("startEndTogether") && jsonObject["startEndTogether"].isString()) {QString selectedButton jsonObject["startEndTogether"].toString();//…...

jetson nano onnxruntime 安装

安装说明&#xff1a; onnxruntime 依赖cuda、cudnn版本&#xff0c;可onnxruntime查找对应关系。但可能会出现jetpack中的cuda和cudnn的版本无法查找到对应版本的onnxruntime的问题。 解决方法&#xff1a; 通过Jetson Zoo下载相应的whl包直接安装。...

图形学初识--屏幕空间变换

文章目录 前言正文为什么需要屏幕空间变换&#xff1f;什么是屏幕空间变换&#xff1f;屏幕空间变换矩阵如何推导&#xff1f;问题描述步骤描述 结尾&#xff1a;喜欢的小伙伴点点关注赞哦! 前言 前面章节主要讲解了视图变换和投影变换&#xff0c;此时距离在屏幕空间显示也就…...

爬楼梯 - LeetCode 热题 81

大家好&#xff01;我是曾续缘&#x1f607; 今天是《LeetCode 热题 100》系列 发车第 81 天 动态规划第 1 题 ❤️点赞 &#x1f44d; 收藏 ⭐再看&#xff0c;养成习惯 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法…...

详解 Spark 核心编程之 RDD 分区器

一、RDD 分区器简介 Spark 分区器的父类是 Partitioner 抽象类分区器直接决定了 RDD 中分区的个数、RDD 中每条数据经过 Shuffle 后进入哪个分区&#xff0c;进而决定了 Reduce 的个数只有 Key-Value 类型的 RDD 才有分区器&#xff0c;非 Key-Value 类型的 RDD 分区的值是 No…...

Selenium番外篇文本查找、元素高亮、截图、无头运行

Selenium根据文本查找元素 ​ python def find_element_with_text(self, loc, attribute, text):try:WebDriverWait(self.driver, 5).until(EC.all_of(EC.text_to_be_present_in_element_attribute(loc, attribute, text)))element self.driver.find_element(*loc)if isinsta…...