Xml & Tomcat

XML概述

1、什么是XML
  • eXtensible Markup Language:可扩展的标记语言

2、XML有什么用?
  • 可以用来保存数据,小型数据库,存在一定的CRUD操作
  • 可以用来做配置文件
  • 网络端数据的传输载体

3、怎么定义xml
  • 其实就是一个文件,文件的后缀为 .xml
  • 文档声明 + 标签元素

4、文档声明的三种方式

(1)格式为:<?xml 属性列表 ?>

<?xml version="1.0" encoding="utf-8" ?>

version: 当前XML文件版本号,一般为1.0。
encoding: 编码方式,这里建议XML文件的保存编码集和对应的解析编辑一致。
standalone:是否依赖于其他文件,yes不依赖, no依赖。

  • <?xml version="1.0" ?>
  • <?xml version="1.0" encoding="gbk" ?>
  • <?xml version="1.0" encoding="gbk" standalone="yes" ?>

(2)指令(了解)
这里可以导入一些CSS样式

<?xml-stylesheet type="text/css" href="test.css" ?>
5、encoding详解

(1)在解析这个xml的时候,使用什么编码去解析。就是解码。

(2)默认文件保存的时候,使用的是GBK的编码保存。

(3)要想让我们的xml能够正常的显示中文,有两种解决办法:

  • 让encoding也是GBK。
  • 如果encoding是 utf-8,那么保存文件的时候也必须使用utf-8。

注意:保存的时候见到的ANSI,对应的其实是我们的本地编码GBK。

为了通用,建议使用UTF-8编码保存,以及encoding值都是utf-8。即保存和解码都是utf-8。


6、元素定义(标签)

(1)其实就是里面的标签,<> 括起来的都叫元素。
成对出现。 例如: <stu> </stu>

(2)文档声明下来的第一个元素叫做根元素 (根标签),只能有一个根标签。

(3)标签里面可以嵌套标签。

(4)空标签:既是开始也是结束。 一般配合属性来用。
例如:<age/>,相当于HTML中的<img />

<stu><name>张三</name><age/>
</stu>

(5)标签可以自定义。

XML元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及_-
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml类似)开始
  • 名称不能包含空格
  • 命名尽量简单,做到见名知义

7、简单元素 & 复杂元素

(1)简单元素
元素里面只包含了普通的文字。

(2)复杂元素
元素里面嵌套其他的元素。


8、属性的定义

定义在元素里面:<元素名称 属性名称=“属性的值”></元素名称>

<stus><stu id="1001"><name>张三</name><age>18</age></stu><stu id="1002"><name>李四</name><age>20</age></stu>
</stus>

9、xml注释:

与html的多行注释一样:<!-- -->

<?xml version="1.0" encoding="UTF-8"?>
<!-- 这里面写注释-->

注意:xml的注释,不允许放置在文档的第一行。 必须在文档声明的下面。
也就是说第一行必须是文档声明。


10、CDATA区

(1)非法字符

严格地讲,在 XML 中仅有字符 “<“和”&” 是非法的。
省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

  <   &lt;&   &amp;

(2)如果某段字符串里面有过多的字符, 并且里面包含了类似标签或者关键字的这种文字,不想让xml的解析器去解析。

那么可以使用CDATA来包装,很少看到,通常在服务器给客户端返回数据的时候。

<![CDATA][这里面都当做字符串]>
<des><![CDATA[<a href="http://www.baidu.com">百度一下</a>]]></des>

11、XML 解析

其实就是获取元素里面的字符数据 或者 属性数据。

(1)XML解析方式(面试常问)
实际上有很多种,但是常用的有两种。

  • DOM解析
    Document Object Model 文件对象模型。
    把XML整个文件看做一个Document对象,每一个节点看做一个Element,节点中有Attribute,或者当前节点中存在Text文本内容。

    DOM是将整个XML文件读取到计算机内存中,可以进行CRUD操作。

    缺点:占用了大量内存空间
    适用的环境:服务器对于XML文件的解析过程。

  • SAX解析
    逐行读取,给予一定的事件操作。
    读取一行内容,释放上一行内容,可以有效的节约内存空间。

    缺点:不能对XML文件,进行增删改。
    适用的环境:手机读取解析XML文件时采用的方式。

(2)针对这两种解析方式的API:

一些组织或者公司, 针对以上两种解析方式, 给出的解决方案有哪些?

  • JAXP:SUN提供的一个基本的解析器,支持DOM和SAX两种解析方式,但是操作很繁琐,不便于程序员开发。

  • Dom4j:DOM For Java,一款非常优秀的解析器。
    Spring,SpringMVC… 框架中集成的XML解析器。

  • Jsoup:基于Java完成的对于HTML解析的工具,因为HTML和XML文件都是标记语言。给Jsoup一个URL,页面地址. Java的小爬虫,API很多很方便

  • PULL:Android手机上集成的XML解析工具,SAX方式解析


12、Dom4j 基本用法

需要导包,目前使用的是第三方工具,不是原生的JDK,导入第三方Jar包。设置IDEA。

先看一下一个xml文件中包含哪些对象:
在这里插入图片描述
在这里插入图片描述


Dom4j涉及到的方法:

(1)SAXReader();
解析XML文件使用的核心类

read()方法,返回XML文件Document对象

Document document = new SAXReader().read(new File(“待解析的xml文件”));

(2)Document对象中可以使用的方法:
Element getRootElement();
获取当前XML文件的根节点对象

(3)Element对象中可以使用的方法:
List elements();
当前节点下的所有子节点

List elements(String name);
当前节点下所有指定名字的子节点

Element element();
获取当前节点下的第一个子节点

Element element(String name);
获取当前节点下指定名字的第一个子节点

Attribute getAttribute(String name);
根据属性名获取对应的属性对象Attribute

String getValue();
来获取对应的节点属性对象的属性值

String getName();
获取当前节点的名字

String getText();
获取当前节点对应的文本数据


实例代码:
待解析的xml文件内容:

<?xml version="1.0" encoding="UTF-8" ?>
<root><student id="1001"><name>张三</name><age>18</age></student><student id="1002"><name>张三</name><a>123</a><age>20</age></student>
</root>

测试代码:

	try {// 1、创建sax读取对象SAXReader reader = new SAXReader();// 2、指定待解析的xml文件源Document document = reader.read(new File("xml/Test01.xml"));// 3、获取元素根节点Element root = document.getRootElement();// 获取根元素的所有子元素,返回一个List集合List<Element> list = root.elements();// 遍历集合中的子元素,遍历所有的studentfor (Element e : list) {// 获取每个学生的idString id = e.attribute("id").getValue();// 获取每个student下的子元素,并获取其数据String name = e.element("name").getText();String age = e.element("age").getText();System.out.println(id + "   " + name + "  " + age);}} catch (Exception e) {e.printStackTrace();}

13、Dom4j 的 Xpath使用

dom4j里面支持Xpath的写法。
Xpath其实是xml的路径语言,支持我们在解析xml的时候,能够快速的定位到具体的某一个元素。

需要继续添加jar包,例如:jaxen-1.1-beta-6.jar

在查找指定节点的时候,根据XPath语法规则来查找。

后续的代码与以前的解析代码一样。

测试代码1:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;import java.io.File;
import java.util.List;public class Demo2 {public static void main(String[] args) throws DocumentException {// 当前XML文件的Document对象Document document = new SAXReader().read(new File("./xml/User.xml"));// 获取根节点 Root ElementElement rootElement = document.getRootElement();// 直接获取根下所有的user节点List list = rootElement.selectNodes("//user");for (Object o : list) {Element element = (Element) o;int id = Integer.parseInt(element.attributeValue("id"));String name = element.element("name").getText();int age = Integer.parseInt(element.element("age").getText());String gender = element.element("gender").getText();System.out.println("User[id=" + id + ", name=" + name+ ", age=" + age + ", gender=" + gender + "]");}System.out.println("--------------------------------------");// //user[index] 不考虑路径关系,获取当前XML文件中指定下标的user节点Node node = rootElement.selectSingleNode("//user[1]");System.out.println(node);System.out.println("--------------------------------------");// //user[@id=9] 不考虑路径关系,获取当前XML文件中指定属性为id,值为9的user节点// @之后是属性 @id 这里需要匹配的是属性Node node1 = rootElement.selectSingleNode("//user[@id=9]");System.out.println(node1);System.out.println("--------------------------------------");// user[gender='male'] 不考虑路径关系,获取当前XML文件中指定子节点为gender,对应子节点文本数据为male的user所有节点List list1 = rootElement.selectNodes("//user[gender='male']");for (Object o : list1) {System.out.println(o);}System.out.println("--------------------------------------");List list2 = rootElement.selectNodes("//user[age<20]");for (Object o : list2) {System.out.println(o);}}
}

测试代码2:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;import java.io.File;
import java.util.List;public class Demo3 {public static void main(String[] args) throws DocumentException {// 当前XML文件的Document对象Document document = new SAXReader().read(new File("./xml/User.xml"));// 获取根节点 Root ElementElement rootElement = document.getRootElement();System.out.println("--------------------------------------");System.out.println();// //user[last()] 这里是不考虑路径关系,获取最后一个user节点Node node = rootElement.selectSingleNode("//user[last()]");System.out.println(node);System.out.println("--------------------------------------");System.out.println();// //user[last()] 这里是不考虑路径关系,获取前两个User节点List list = rootElement.selectNodes("//user[position() < 3]");for (Object o : list) {System.out.println(o);}System.out.println("--------------------------------------");System.out.println();// //name | // age 无视路径关系,获取所有的name节点和age节点List list1 = rootElement.selectNodes("//name | // age");for (Object o : list1) {Element element = (Element) o;System.out.println(element.getText());}}
}

14、XML文件保存

流程:
1、创建Document对象
2、通过Document对象来添加元素
addElment();
addAttribute();

测试代码:

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;import java.io.FileWriter;
import java.io.IOException;/*** 待保存的数据* <students>*     <student id="1001">*         <name>张三</name>*         <age>18</age>*         <sex>男</sex>*     </student>*     <student id="1002">*         <name>李四</name>*         <age>17</age>*         <sex>女</sex>*     </student>* </students>*/
public class Demo1 {public static void main(String[] args) throws IOException {// 1. 创建了一个XML文件对应的Document对象Document document = DocumentHelper.createDocument();// 2. 放入到XML文件对应的Document对象中Element root = document.addElement("students");// 3. 在根节点之下添加了一个student节点,同时设置了属性Element element = root.addElement("student").addAttribute("id", "1001");// 根节点下添加了对应的子节点,以及对应的文本element.addElement("name").addText("张三");element.addElement("age").addText("18");element.addElement("sex").addText("男");// 字符输出流FileWriter fileWriter = new FileWriter("./xml/student.xml");document.write(fileWriter);// 4. 关闭资源fileWriter.close();}
}

15、XML 约束【了解】

如下的文档, 属性的ID值是一样的。 这在生活中是不可能出现的。
并且第二个学生的姓名有好几个。 这一般也是不存在的。
那么怎么规定ID的值唯一, 或者是元素只能出现一次,不能出现多次?
甚至可以规定一个元素里面只能出现具体的元素名字。

<stus><stu id="1001"><name>张三</name><age>18</age><address>深圳</address></stu><stu id="1001"><name>李四</name><name>李五</name><name>李六</name><age>28</age><address>北京</address></stu>
</stus>

xml约束包括2种:DTD约束 和 Schema约束。



16、约束DTD

语法自成一派, 很早就出现的, 可读性比较差。

(1)引入网络上的DTD

<!--文档类型 根标签名字 网络上的dtd dtd的名称 dtd的路径 -->
<!DOCTYPE root PUBLIC "http//www.xxx.yy/" "unknown.dtd">

(2)引入本地的DTD

<!-- 文档类型 根标签名字 引入本地的DTD dtd的位置 -->
<!DOCTYPE stus SYSTEM "stus.dtd">

(3)直接在XML里面嵌入DTD的约束规则

<?xml version="1.0" encoding="UTF-8" ?>
<!-- xml文档里面直接嵌入DTD的约束法则 -->
<!DOCTYPE stus [<!ELEMENT stus (stu)><!ELEMENT stu (name,age)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)>
]><stus><stu><name>张三</name><age>18</age></stu>
</stus>

<!ELEMENT stus(stu)>:stus 下面有一个元素 stu,但是只有一个。
<!ELEMENT stu (name , age)>:stu下面有两个元素 name,age顺序必须为name,age。
<!ELEMENT name (#PCDATA)>:name元素中的内容只能是文本。
<!ELEMENT age (#PCDATA)>:age元素中的内容只能是文本。
<!ATTLIST stu id CDATA #IMPLIED> stu有一个id属性,文本类型,该属性可有可无。

元素的个数:
+ 一个或多个
* 零个或多个
? 零个或一个

属性的类型定义
CDATA:属性是普通文字
ID:属性的值必须唯一

<!ELEMENT stu (name, age)> 按照顺序来 <!ELEMENT stu (name | age)> 两个中只能包含一个子元素
17、约束Schema

其实就是一个xml文件,使用xml的语法规则,xml解析器解析起来比较方便,目的是为了替代DTD约束。

但是Schema 约束文本内容比DTD的内容还要多。 所以目前也没有真正意义上的替代DTD。

测试代码:
约束文档:teacher.xsd文件

<!-- xmlns  :  xml namespace : 名称空间 /  命名空间targetNamespace :  目标名称空间 。 下面定义的那些元素都与这个名称空间绑定上。elementFormDefault : 元素的格式化情况。  -->
<schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.pipizhen.com/teacher"elementFormDefault="qualified"><element name="teachers"><!-- 这是一个复杂元素 --><complexType><sequence maxOccurs="unbounded"><!-- 这是一个复杂元素 --><element name="teacher"><complexType><sequence><!-- 以下两个是简单元素 --><element name="name" type="string"></element><element name="age" type="int"></element><element name="sex" type="boolean"></element></sequence></complexType></element></sequence></complexType></element>
</schema>

实例文档:teacher.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- xmlns:xsi : 这里必须是这样的写法,也就是这个值已经固定了。
xmlns : 这里是名称空间,也固定了,写的是schema里面的顶部目标名称空间
xsi:schemaLocation : 有两段: 前半段是名称空间,也是目标空间的值,后面是约束文档的路径。-->
<teachers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.pipizhen.com/teacher"xsi:schemaLocation="http://www.pipizhen.com/teacher teacher.xsd"><teacher><name>张三</name><age>22</age><sex>true</sex></teacher><teacher><name>李四</name><age>29</age><sex>false</sex></teacher>
</teachers>

18、名称空间的作用

一个xml如果想指定它的约束规则, 假设使用的是DTD,那么这个xml只能指定一个DTD, 不能指定多个DTD 。

但是如果一个xml的约束是定义在schema里面,并且是多个schema,那么是可以的。

简单的说:一个xml 可以引用多个schema约束,但是只能引用一个DTD约束。

名称空间的作用:就是在写元素的时候,可以指定该元素使用的是哪一套约束规则。

简写代码:

xmlns:aa="http://www.itheima.com/teacher"
xmlns::bb="http://www.itheima.com/teacher1"<aa:name>张三</aa:name>
<bb:name>李四</bb:name>

19、程序架构

(1)C/S(client/server)

例如:QQ,微信,LOL等。
这些都是用对应客户端打开运行的。

优点:有一部分代码写在客户端, 用户体验比较好。
缺点: 服务器更新,客户端也要随着更新。 占用资源大。

(2)B/S(browser/server)

例如:网页游戏,网页QQ等。
这些都是用浏览器打开运行的。

优点: 客户端只要有浏览器就可以了。 占用资源小, 不用更新。

缺点:用户体验不佳。


20、服务器

其实服务器就是一台电脑。 配置比一般的要好。


21、Web服务器软件

客户端在浏览器的地址栏上输入地址,然后web服务器软件,接收请求,然后响应消息。

处理客户端的请求,返回资源信息。

Web应用 需要服务器支撑。

Tomcat,apache公司的。
WebLogic,BEA公司的。
Websphere,IBM公司的。
IIS,微软公司的。


Tomcat的使用

1、Tomcat安装

(1)直接解压 ,然后找到bin/startup.bat
(2)如果双击了startup.bat, 看到一闪而过的情形,一般都是环境变量没有配置好。
(3)可以安装启动之后,如果能够正常看到黑窗口,表明已经成功安装。

为了确保万无一失, 最好在浏览器的地址栏上输入 : http://localhost:8080,如果有看到内容,就表明成功了。


2、Tomcat目录介绍

(1)bin
包含了一些jar,bat文件。 startup.bat等。

(2)conf
tomcat的配置:server.xml,web.xml等。

(3)lib
tomcat运行所需的jar文件。

(4)logs
运行的日志文件。

(5)temp
临时文件。

(6)webapps
发布到tomcat服务器上的项目,就存放在这个目录。

work(目前不用管)
jsp翻译成class文件存放地。

3、如何把一个项目发布到tomcat中

需求: 如何能让其他的电脑访问我这台电脑上的资源。
例如有个stu.xml文件。

有3种方法:

(1)拷贝这个文件到webapps/ROOT底下。
在浏览器里面访问:
http://localhost:8080/stu.xml

也可以在webaps下面新建一个文件夹xml , 然后拷贝文件放置到这个文件夹中。
在浏览器里面访问:
http://localhost:8080/xml/stu.xml

http://localhost:8080:其实对应的是 webapps/root文件。
http://localhost:8080/xml/:对应是 webapps/xml文件。

使用IP地址访问:
http://192.168.37.48:8080/xml/stu.xml


(2)配置虚拟路径

使用localhost:8080 打开tomcat首页, 在左侧找到tomcat的文档入口, 点击进去后, 在左侧接着找到 Context入口,点击进入。
http://localhost:8080/docs/config/context.html

在conf/server.xml中找到host元素节点。
在其内加入以下内容。

<!-- docBase :  项目的路径地址 如: D:\xml02\person.xml
path : 对应的虚拟路径 一定要以/打头。
对应的访问方式为: http://localhost:8080/a/person.xml -->
<Context docBase="D:\xml02" path="/a"></Context>

在浏览器地址栏上输入:
http://localhost:8080/a/person.xml


(3)配置虚拟路径

在tomcat/conf/catalina/localhost/ 文件夹下新建一个xml文件,名字可以自己定义。 person.xml

在这个文件里面写入以下内容

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:\xml02"></Context>

在浏览器上面访问:
http://localhost:8080/person/person.xml


查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Golang笔记——goroutine(协程)和 channel(管道)

    goroutine-看一个需求需求:要求统计 1-9000000000 的数字中,哪些是素数? 分析思路:传统的方法,就是使用一个循环,循环的判断各个数是不是素数。[很慢] 使用并发或者并行的方式,将统计素数的任务分配给多个 goroutine 去完成,这时就会使用到 goroutine.【速度提高 4 倍】…...

    2024/5/7 19:19:37
  2. ssh client使用感受

    xshell强大,但是有点笨重,内存占用有点多。有适用版,可以去官网看。也有收费稳定版。ZOC7免费使用也付费,禁止联网后使用没有问题。 丢包,文件小,占用内存小,可以上传下载文件。putty占用小,功能齐全,但是是单个界面,有单独的文件拷贝指令。kitty基于putty开发,用这还…...

    2024/5/7 18:04:58
  3. vscode 文档格式化配置

    vscode 格式化介绍 在vscode编辑代码时,可以使用快捷键 Shift + Alt + F 对代码快速格式化。 可以安装 prettier eslint 等插件设置格式化配置。Prettier 支持格式化 html js css vue scss typescript等类型的代码,它仅关注格式,不会校验ESLint它不能格式化eslint的某些规范…...

    2024/4/30 0:50:21
  4. 强化学习 线性方法特征构造

    线性方法是一种很好的价值函数拟合方式,不仅是因为他们有收敛性的保证,另外,他们在数据和计算方面都比较高效。然而,是否会具有这样的优势,即效果是否会很好,很大程度上取决于我们如何选取用来表达状态的特征。选择合适于任务的特征是将先验知识加入到强化学习系统的一个…...

    2024/5/7 21:41:08
  5. Qt窗体布局思路

    1.在qtcreator中的设计栏中,有各种layout类型和栅格类型,当选中控件范 围后,控件会自动按相应类型排列,当调整秩序时,只需在布局->打破布局即可,选中什么layout或grid就打破什么相应范围的布局,再重新拖动控件选定范围内的控件在菜单栏中选定布局类型即可。(如果手动…...

    2024/4/30 0:50:09
  6. 问题记录:win10使用VsCode执行npm i -g yarn 后yarn使用cmd可以执行在VsCode中无法使用

    解决办法: 运行powershell(管理员身份) 输入 set-ExecutionPolicy RemoteSigned 输入A回车 然后再VsCode中即可运行yarn命令...

    2024/4/30 0:50:09
  7. SELinux及网络监控

    1、编写脚本selinux.sh,实现开启或禁用SELinux功能#!/bin/bash #The script boots selinux. status=$(getenforce) &> /dev/null if [[ $status == Disabled ]];thensed -i "s@^\(\<SELINUX\>\)=[a-z]\+@\1=enforcing\$@g" /etc/selinux/config #启…...

    2024/4/30 0:50:02
  8. 【刷题喽】移除盒子

    546. 移除盒子难度困难225收藏分享切换为英文关注反馈给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。 你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得…...

    2024/5/7 15:11:13
  9. 七层负载均衡-------nginx

    文章目录nginx简介http服务器的发展nginx的优点nginx应用场景nginx下载及安装安装包内的目录及文件的介绍autoCHANGESCHANGES.ruconfconfigurecontribhtmlLICENSEmanREADMEsrc编译和安装:编译安装nginx的运行:nginx的更新与回退nginx版本的查看nginx版本的更新nginx版本的回退…...

    2024/5/1 7:46:54
  10. quartus II中的定义全局常量时,明明声明了,但是在程序中用时说没有声明。

    这个是一个基础的语法问题。div_time应该在程序使用中写成div_time(其中是键盘1左边那个)。...

    2024/4/30 0:49:55
  11. golang中的字符串拼接

    1 +拼接字符串 由于golang中的字符串是不可变的类型,因此用 + 连接会产生一个新的字符串对效率有影响。 这种方式实现的字符串拼接过程最简单,在实际中这种拼接方式在应对少量拼接时,效率还是不错的。 s1 := "hello" s2 := "world" s3 := s1 + s2 fmt.P…...

    2024/5/7 23:45:42
  12. 查出cpu和mem占用最高并且超过90%的发送为view用户的mail邮件

    #!/bin/bash #分别查出cpu和mem占用最高并且超过90%的发送为view用户的mail邮件 rm -rf toph.txt toph2.txt topcpu=top -cn1|tee toph.txt|awk NR==8 topmem=top -Mn1|tee toph2.txt|awk NR==8 cpu1=echo ${topcpu}|awk {print $10} mem1=echo ${topmem}|awk {print $11} user…...

    2024/5/7 12:42:05
  13. 【论文阅读】10-Automatic Homographic Registration of a Pair of Images, with A Contrario Elimination of Out

    【论文阅读】10-Automatic Homographic Registration of a Pair of Images, with A Contrario Elimination of Outliers0、方法参考1、ORSA (Optimized RANSAC)2、ORSA (Optimized RANSAC) + Homography3、其他3.1、Duplicates Removal3.2、Failure :very few matches. 0、方法…...

    2024/4/30 0:49:41
  14. Java:面向对象全面总结

    Java面向对象全面总结 面向对象 今天我们就来聊聊什么是面向对象。 不知道大家有没有看过一个小品,就是宋丹丹说把大象装进冰箱要几步。然后宋丹丹再说只要三步。第一步:打开冰箱门。第二步:把大象装进冰箱。第三步:关上冰箱门。她是这么说的,对吧!那我们别管是怎样把大象…...

    2024/5/8 2:00:25
  15. 414-简单-第三大的数

    思路:先找到最小的元素,给数组赋值,然后依次找到前三大的元素 int thirdMax(int* nums, int numsSize){int temp[3] = {0};temp[0] = nums[0];for (int i=1;i<numsSize;i++){if(nums[i]<temp[0]) temp[0] = nums[i];}temp[1] = temp[0];temp[2] = temp[0];for (int i=…...

    2024/4/30 0:49:34
  16. SpringMVC常见注解的使用

    文章目录1. RequestParam:2. RequestBody:3. PathVariable:4. ModelAttribute: 1. RequestParam:解决请求参数绑定时 请求参数名 不一致的情况。<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><t…...

    2024/4/30 0:49:29
  17. Vue.js入门篇(一)——常用指令介绍

    1.什么是Vue? 1.1 渐进式框架 看了官方文档,你一定知道vue是一个“渐进式框架”。框架的意思肯定明白,那么什么是"渐进式“呢?渐进式:一开始不需要你完全掌握它的全部功能特性,可以后续逐步增加功能。 感谢 @SSXfont 的举例场景1: 如果你的技术团队技术选型比较保守…...

    2024/4/30 0:49:25
  18. js进阶知识—函数

    2020-8-10~8-16 函数部分遗漏的知识将在今后学习之中慢慢总结。函数: 1-1声明式(Function Declaration): function fn() {console.log(我是函数声明式);}// fn();两种调用方法fn.call();1-2表达式(Function Expression): var fn = function(aru) {console.log(aru);};…...

    2024/4/30 0:49:21
  19. 树莓派4和LabVIEW2020的连接介绍(1)——树莓派4的配置流程

    写下这篇文章的目的是对这次解决问题的过程和方法进行记录,供自己和其他有同样困难的朋友早日解决所遇到的问题。楼主在查资料时候没有碰到正面或者直接解决这个问题的资料,所以解决后写在这里,希望以后的朋友不会再遇到楼主当时的窘境。欢迎友好的交流和讨论。 一.树莓派4的…...

    2024/4/30 0:49:19
  20. Python opencv图像处理基础总结(一)

    学过的知识,会过时、会遗忘,但在努力过程中学会的处事态度和做事习惯,都会留在骨子里,变成我们的一部分。Open Source Computer Vision Library,OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运…...

    2024/4/30 0:49:18

最新文章

  1. 第Ⅶ章-Ⅱ Pinia详解

    第Ⅶ章-Ⅱ Pinia详解 简介安装 Pinia配置Pinia定义Store组件中使用处理异步操作模块化Store使用持久化插件 简介 Pinia 是 Vue 3 官方推荐的状态管理库&#xff0c;也是 Vuex 的替代方案之一。它更轻量、更现代化&#xff0c;并提供更好的 TypeScript 支持。 安装 Pinia 首先…...

    2024/5/8 8:09:13
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 腾讯云云原生数据库TDSQL-C mysql 以及项目怎么接入

    要接入腾讯云的云原生数据库TDSQL-C的MySQL版本&#xff0c;并将它用于你的项目中&#xff0c;你需要按照以下步骤进行&#xff1a; 创建TDSQL-C的MySQL数据库实例&#xff1a; 登录腾讯云控制台。在产品搜索框中搜索TDSQL-C&#xff0c;然后选择它。在TDSQL-C的产品页面上&…...

    2024/5/4 6:23:44
  4. ROS2高效学习第十章 -- ros2 高级组件之大型项目中的 launch 其二

    ros2 高级组件之大型项目中的 launch 1 前言和资料2 正文2.1 启动 turtlesim&#xff0c;生成一个 turtle &#xff0c;设置背景色2.2 使用 event handler 重写上节的样例2.3 turtle_tf_mimic_rviz_launch 样例 3 总结 1 前言和资料 早在ROS2高效学习第四章 – ros2 topic 编程…...

    2024/5/7 4:57:36
  5. 爱自然生命力粤东中心家风家教高端研讨会在广东汕头盛大开启

    2024年3月30日&#xff0c;爱自然生命力粤东中心家风家教高端研讨会在广东汕头金海湾大酒店隆重召开。 &#xff08;图为活动现场&#xff09; 本次由爱自然生命力体系粤东中心主办的粤东家风家教高端研讨会&#xff0c;主题为“携手校家社&#xff0c;共筑新格局”&#xff0…...

    2024/5/7 12:14:51
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/7 19:05:20
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/7 22:31:36
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/8 1:37:40
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/7 14:19:30
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/8 1:37:39
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/7 16:57:02
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/7 14:58:59
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/7 1:54:46
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/7 21:15:55
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/8 1:37:35
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/7 16:05:05
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/7 16:04:58
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/8 1:37:32
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/7 16:05:05
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/8 1:37:31
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/8 1:37:31
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/7 11:08:22
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/7 7:26:29
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/8 1:37:29
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/7 17:09:45
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57