JavaWeb—XML_Tomcat10_HTTP

news2024/11/24 4:18:54

一、XML

XML是EXtensible MarkupLanguage的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。

可扩展:三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写;

在XML基本语法规范的基础上使用的那些第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写;

XML基本语法这个知识点的定位是:不需要从零开始从头到尾的一行一行编写XML文档,而是在第三方应用程序、框架已提供的配置文件的基础上修改。 要改成什么样取决于需求,而怎么改取决XML基本语法和具体的XML约束;

1.1.常见的配置文件类型:

(1)properties:例如druid连接池就是使用properties文件作为配置文件;

(2)XML:例如Tomcat就是使用XML文件作为配置文件;

(3)YAML/YML:例如SpringBoot就是使用YAML作为配置文件

(4)json:通常用来做文件传输,也可以用来做前端或者移动端的配置文件

1.2XML配置文件示例:

<?xml version="1.0"encoding="UTF-8"?>
<students>
    <student>
        <name>张三</name>
        <age>18</age>
    </student>
    <student>
        <name>李四</name>
        <age>20</age>
    </student>
</students>

1.3.XML的基本语法:

XML的基本语法和HTML的基本语法如出一辙。XML基本语法+HTML约束=HTML语法。在逻辑上HTML确实是XML的子集;

(1).XML文档声明:这部分基本上就是固定格式,<?xml version="1.0"encoding="UTF-8"?>

(2).根标签:根标签有且只能有一个

(3).标签关闭:开始标签和结束标签必须成对出现,单标签在标签内关闭;

(4).标签嵌套:标签可以嵌套,但是不能交叉嵌套,注释不能嵌套,

(5).标签名、属性名建议使用小写字母

(6).属性:属性必须有值,属性值必须加引号,单双都行;

1.2.使用DOM4J进行XML解析

1.2.1.使用步骤:

(1).导入jar包dom4j.jar

(2).创建解析器对象(SAXReader)

(3).解析xml获得Document对象

(4).获取根节点RootElement

(5).获取根节点下的子节点

1.2.2.DOM4J中API介绍:

(1).创建SAXReader对象:

SAXReader saxReader = new SAXReader();

(2).解析XML获取Document对象,需要传入要解析的XML文件的字节输入流

Document document = reader.read(inputStream);

(3).获取文档的根标签

Element rootElement = document.getRootElement();

(4).获取标签的子标签

//获取所有子标签
List<Element> sonElementList = rootElement.elements();
//获取指定标签名的子标签
List<Element> sonElementList = rootElement.elements("标签名");

(5).获取标签体内的文本

String text = element.getText();

(6).获取标签的某个属性的值

String value = element.attributeValue("属性名");

二、Tomcat10

2.1.WEB服务器

Web服务器通常由硬件和软件共同构成。

硬件:电脑,提供服务供其它客户电脑访问;

软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个url地址供网络中的其他人访问;

常见的JavaWeb服务器:

(1)Tomcat(Apache):当前应用最广的JavaWeb服务器;

(2)Jetty:更轻量级、更灵活的servlet容器;

(3)JBoss(Redhat红帽):支持JavaEE,应用比较广EJB容器;

(4)GlassFish(Orcale):Oracle开发JavaWeb服务器;

(5)Resin(Caucho):支持JavaEE,应用越来越广;

(6)Weblogic(Orcale):支持JavaEE,适合大型项目;

(7)Websphere(IBM):支持JavaEE,适合大型项目;

2.2.Tomcat服务器

(1)Tomcat简介:

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、sun和其他一些公司及个人共同开发而成。最新的Servlet和JSP规范总是能在Tomcat中得到体现, 因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器;

(2)Tomcat版本对应关系:

企业用的比较广泛的是8.0和9.0,目前比较新正式发布版本是Tomcat10.0,Tomcat11仍然处于测试阶段;

JavaEE和Servelet版本号对应关系:

Servlet VersionEE Version
6.1Jakarta EE ?
6.0Jakarta EE 10
5.0Jakarta EE 9/9.1
4.0JAVA EE 8
3.1JAVA EE 7
3.1JAVA EE 7
3.0JAVA EE 6

Tomcat版本和Servlet版本之间的对应关系:

Servlet VersionTomcat VersionJDK Version
6.111.0.x17 and later
6.010.1.x11 and later
5.010.0.x(superseded)8 and later
4.09.0.x8 and later
3.18.5.x7 and later
3.18.0.x(superseded)7 and later
3.07.0.x (archived)6 and later (7 and later for WebSocket

2.3.Tomcat目录:

(1)bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat10.exe、tomcat10w.exe,前者是在控制台下启动Tomcat,后者是弹出GUI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA HOME环境变量才能启动,shutdown.bat用来停止Tomcat;

(2)conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:

a.server.xml:配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是8080;

b.tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;

c.web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的;

d.context.xml:对所有应用的统一配置,通常我们不会去配置它;

(3)lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的iar文件放到这个目录中,这个目录中的iar所有项目都可以共享,但这样应用放到其他Tomcat下时就不能再共享这个目录下的iar包了,所以建议只把Tomcat需要的iar包放到这个目录下;

(4).logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中;

(5).temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除;

(6).webapps:存放web项目的目录,其中每个文件都是一个项目;如果这个目录下已经存在了目录,那么都是Tomcat自带的项目。其中ROOT是一个特殊的项目,在地址中访问http://127.0.01:8080,没有给出项目目录时,对应就是ROOT项目:http://localhost:8080/examples,进入示例项目。其中"examples"就是项目名,即文件夹的名字;

(7).work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的。可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的iava和class文件都会存放到这个目录下;

2.4.WEB项目的标准结构:

(1)app:本应用根目录

(1.1)static:非必要目录,约定俗成的名字,一般在此处放静态资源(css js img);

(1.2)WEB-INF:必要目录,必须叫WEB-INF。受保护的资源目录,浏览器通过url不可以直接访问的目录;

(1.2.1)classes:必要目录,src下源代码、配置文件,编译后会在该目录下。web项目中如果没有Java源码,则该目录不会出现;

(1.2.2)lib:必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是没有依赖任何jar,则该目录不会出现;

(1.2.3).web.xml:必要文件,web项目的基本配置文件,较新的版本中可以没有该文件,但是学习过程中还是需要该文件;

(1.3).index.html:非必要文件,index.html/index.htm/index.jsp为默认的欢迎页;

2.5.WEB项目部署方式

(1)方式1:直接将编译好的项目放在webapps目录下

(2)方式2:将编译好的项目打成war包放在webapps目录,tomcat启动后会自动解压war包;

(3)方式3:可以将项目放在非webapps的其他目录下,在Tomcat中通过配置文件指向app的实际磁盘路径;

在磁盘的自定义目录上准备一个app;

在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件;

<!--
path:项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称
docBase:项目在磁盘中的实际路径
-->
<Context path="/app" docBase="D:\mywebappslapp" />

启动Tomcat访问测试即可

三、HTTP协议:

HTTP超文本传输协议(HTTP-Hyper Text transfer protocol)是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展得到不断地完善和扩展。

HTTP是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。客户端与服务端通信时传输的内容我们称之为报文HTTP协议规定了报文的格式。 HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。实际我们要学习的就是这两种报文。客户端发送给服务器的称为"请求报文",服务器发送给客户端的称为"响应报文"。

3.1.HTTP协议的会话方式:

浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问浏览器与WEB服务器都要建立一次单独的连接。浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。

3.2.HTTP1.0和HTTP1.1的区别:

在HTTP1.0版本中浏览器请求一个带有图片的网页,会由于下载图片而与服务器之间开启一个新的连接;但在HTTP1.1版本中,允许浏览器在拿到当前请求对应的全部资源后再断开连接,提高了效率。持久连接和流水线连接允许web浏览器通过单个持久连接发送多个请求,缓存支持节省了带宽并使响应速度更快;HTTP1.1支持七种请求方法:OPTIONS,GET, HEAD, POST, PUT, DELETE和TRACE。

3.3.请求和响应报文

(1)报文的格式:

主体上分为报文首部和报文主体,中间使用空行隔开

报文首部可以进一步分为"行"和"头"

(2)请求报文:

客户端发给服务端的报文;由请求首行(请求行)、请求头信息(请求头)、空行和请求体组成

请求行:

请求方式、资源路径、协议及版本(GET/POST 资源路径?参数 HTTP/1.1)

例如:GET /05_web_tomcat/login_success.html?username=admin&password=123213 HTTP/1.1

请求头:

Host:localhost:8080(主机虚拟地址)

Connection:keep-alive(长连接)

Upgrade-Insecure-Requests:1(请求协议的自动升级[http的请求,服务器却是https的,浏览器自动会将请求协议升级为https的])

User-Agent: Mozilla/5.8 (Windows NT 6.1; WOW64)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/68.0.3440.75 Safari/537.36(用户系统信息)

Accept:text/html,application/xhtml+xml,application/xml;q=8.9,image/webp,image/apng, */*;q=0.8(浏览器支持的文件类型)

Referer:http://localhost:8080/85_web_tomcat/login.html(当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的]:可以通过此路径跳转回上一个页面)

Accept-Encoding:gzip,deflate,br(浏览器支持的压缩格式)

Accept-Language:zh-CN,zh;q=0.9,en-Us;q=0.8,en;q=0.7(浏览器支持的语言)

请求体:

使用form表单发送POST请求,请求体中才有数据;

(3)响应报文

响应报文格式:响应首行(响应行)、响应头信息(响应头)、空行和响应体组成

响应行:

协议及版本、响应状态码、状态描述

例如:HTTP/1.1 288 0K(缺省)

响应头:

Server:Apache-Coyote/1.1(服务器的版本信息)

Accept-Ranges:bytes

ETag:W/"157-1534126125811"

Last-Modified: Mon,13 Aug 2018 02:88:45 GMT

Content-Type:text/html(响应体数据的类型[浏览器根据类型解析响应体数据])

Content-Length:157(响应体内容的字节数)

Date: Mon,13 Aug 2018 02:47:57 GMT(响应的时间,这可能会有8小时的时区差)

响应体:

需要浏览器解析使用的内容[如果响应的是htm页面,最终响应体内容会被浏览器显示到页面中]

响应状态码:

状态码英文描述中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200OK请求成功。一般用于GET与POST请求,浏览器会把响应体内容(通常是html)显示在浏览器中
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新UR,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URL;服务器会发送一个响应头Location指定新请求的URL地址;
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源;使用了本地缓存;
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码网站设计人员可设置"您所请求的资源无法找到"的个性页面;客户端错误的请求了不存在的资源;
405Method Not Allowed客户端请求中的方法被禁止;请求的方式不允许;
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy
Authentication
Required
请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的PUT请求时可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request EntityToo Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414Request-URl Too Large请求的URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足Expect的请求头信息
500Internal ServerError服务器内部错误,无法完成请求;请求资源找到了,但服务器内部出现了错误;
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理

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

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

相关文章

极狐GitLab 如何设置访问令牌前缀?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…

GSON转换将Long类型转换Double导致精度丢失的问题排查

问题描述 项目中同步订单时发现一个问题&#xff0c;同一条的数据&#xff0c;order_id和item_id为Long类型&#xff0c;在同步时&#xff0c;数值变了。比如原本是6930414387088791188变成了69304143870884512001。 问题排查 经过排查发现http请求的返回参数是正常的&#…

树形结构数据数据查询优化过程

树形结构数据统计查询优化过程 初始方案&#xff1a; 组织树数据结构如下&#xff1a; 数据请求参数&#xff1a; 原技术方案&#xff1a; public List<Map<String, List<Long>>> getSelectParam(List<DepartmentQueryDTO> departmentList, Stri…

图论(二):图的度分析——度数bar图度数等级图度数直方图根据度数渲染节点颜色

本期所用数据集&#xff0c;空手道俱乐部关系数据集&#xff1a; 数据集中共有34个节点&#xff0c;每个节点代表俱乐部中的一名成员数据集中共有78条边&#xff0c;每条边表示两名成员之间的友谊关系或社交联系常见数据集格式为GML和TXT格式&#xff0c;还可能包含其他格式的…

检索增强生成算法

检索增强生成算法&#xff08;Retrieval-Augmented Generation&#xff0c;RAG)是由Patrick Lewis等人于2020年提出的&#xff08;https://arxiv.org/pdf/2005.11401&#xff09;&#xff0c;主要用于辅助大规模语言模型&#xff08;Large Language Models, LLMs&#xff09;在…

【网络】代理服务器

目录 正向代理 反向代理 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 正向代理 正向代理&#xff08;Forward Proxy&#xff09;是一种常见的网络代理方式&#xff0c;它位于客户端和目标 服务器之间&#xff0c;代表客户端向目标服务器发送请求。正向代理服务器接收客户…

晓北斗 - 北斗七星、北斗导航系统

北斗导航 北斗卫星导航 芯片、模块、天线、板卡等基础产品,是北斗系统应用的基础。通过卫星导航专项的集智攻关,我国实现了卫星导航基础产品的自主可控,形成了完整的产业链。 北斗卫星导航系统&#xff08;Beidou Navigation Satellite System&#xff0c;简称&#xff1a;BD…

Effective-Java-Chapter5-泛型

https://github.com/clxering/Effective-Java-3rd-edition-Chinese-English-bilingual/blob/dev/Chapter-5/Chapter-5-Introduction.md 准则一 不要使用原始类型 首先来看一下什么是原始类型呢&#xff1f; List 对应的原始类型是 List&#xff0c;那其实就是说不带参数化类…

Selenium + Python 自动化测试13(HTML报告)

我们的目标是&#xff1a;按照这一套资料学习下来&#xff0c;大家可以独立完成自动化测试的任务。 上一篇我们讨论了unittest中discover 的构建&#xff0c;可以组织测试更多测试用例。 本篇文章我们接着讲。如何生成HTML报告&#xff0c;提高我们测试报告的可读性。 1、引入…

IOS 01 CocoaPods 安装与使用

什么是CocoaPods CocoaPods是一个依赖管理工具&#xff0c;类似Java语言的Maven&#xff0c;Gradle这样的工具&#xff1b;只是他是管理iOS&#xff0c;macOS等平台项目的依赖而已。 同类软件 Carthage&#xff0c;Swift官方提供的Swift Package Manager。 流行程度 Cocoa…

若依框架将Mybatis改成MybatisPlus

1.引入MybatisPlus的maven依赖 <mybatis-plus.version>3.2.0</mybatis-plus.version> <dependencies><!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifac…

国联证券:蛇吞象

券商蛇吞象&#xff0c;难解业绩荒 今天我们来聊——国联证券 重大资产重组预案发布两个半月后&#xff0c;国联证券最新重组方案出炉&#xff0c;作价294.92亿收购民生证券99.26%的股份。 炒了这么久的券商重组&#xff0c;终于迎来实质性落地。 也因为这两家的营收差异&…

PHP多商家营销活动平台系统小程序源码

解锁营销新境界&#xff01;「多商家营销活动平台」让你的品牌火出圈✨ &#x1f680;【聚合力量&#xff0c;共创辉煌】&#x1f680; 在这个竞争激烈的市场中&#xff0c;单打独斗早已不是最佳选择&#xff01;「多商家营销活动平台」横空出世&#xff0c;它像一座桥梁&…

Redis操作--RedisTemplate(一)介绍

一、介绍 1、简介 RedisTemplate 是 Spring Data Redis 提供的一个高级抽象&#xff0c;由 Spring 官方提供的方便操作 Redis 数据库的一个工具类&#xff0c;支持模板设计模式&#xff0c;使得操作 Redis 更加符合 Spring 的编程模型。还支持序列化机制&#xff0c;可以处理…

基于SpringBoot的航空公司管理系统设计与实现,源码、部署+讲解

摘要 随着互联网时代的日益发展&#xff0c;互联网技术得到了广泛的应用。互联网正在经历一场由传统线下管理模式转变为以互联网主导的线上管理模式的深刻变革。在线管理技术犹如雨后春笋一般冒芽而出&#xff0c;这为我们的生活带来了许多变动。 在近些年国内航空业的蓬勃发…

LVS理论知识

目录 1.描述以及工作原理 1.什么是LVS 2.LVS调度算法 1.静态调度算法 1.轮询RR 2.加权轮询WRR 3.目标地址hash---DH 4.源地址hash---SH 2.动态调度算法 1.LC最少连接 2.wlc加权最少连接 3.sed最少期望延迟 4.nq不排队调度算法 5.lblc基于本地最少连接 6.lnlcr带…

BioMistral 7B: 生物医学领域的开源多语言AI模型

人工智能咨询培训老师叶梓 转载标明出处 尽管目前有许多开源的针对健康领域的大模型可供使用&#xff0c;但现有模型在数据隐私风险、模型性能以及多语言支持方面的局限性&#xff0c;限制了它们在医疗领域的应用。为了克服这些限制&#xff0c;研究者们提出了BioMistral&#…

吴恩达机器学习 笔记四十二 基于内容过滤的深度学习

在电影评分的案例中&#xff0c;基于内容过滤的方法需要用到两个向量&#xff0c;一个是来自用户的特征向量Vu,另一个是电影特征的向量 Vm。以用户的特征为例&#xff0c;原始的向量Xu作为一个神经网络的输入&#xff0c;经过几层之后输出一个有32个单元的向量Vu&#xff0c;电…

中芯国际:回暖

业绩稳重向好&#xff0c;半导体周期逆转&#xff1f;或许可以去掉问号。 今天我们来聊国产晶圆代工龙头——中芯国际 半导体复苏的风已经吹了几个月&#xff0c;各家业绩预告亮眼&#xff0c;但只有数据真正落地才能下定结论。而半导体看晶圆代工&#xff0c;晶圆代工看中芯国…

14.1 NumPy基础

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…