- GIT 基本指令
今天_也很困
git
初始化gitinit提交gitadd.gitcommit-m"Initialcommit"确认权限gitconfig--global--addsafe.directory'文件名'
- Spring Boot 面试题及答案整理,最新面试题
扫地僧009
互联网大厂面试题springboot后端java面试
SpringBoot中的自动配置是如何工作的?SpringBoot的自动配置是其核心特性之一,它通过以下方式工作:1、@EnableAutoConfiguration注解:这个注解告诉SpringBoot开始查找添加了@Configuration注解的类,并自动配置它们。当应用启动时,SpringBoot会扫描项目依赖中的jar包,寻找包含spring.factories文件的项目。2、条件注解:
- react使用react-quill 富文本插件、加入handlers富文本不显示解决办法
初遇你时动了情
react.js前端javascript
可以调整图片大小quill-image-resize-module-react加入插件quill-image-resize-module-reactQuill.register("modules/imageResize",ImageResize);//注册图片缩放富文本配置中加入如下constquildConfig={toolbar:{container:[["bold","italic","un
- 学习Flask:[特殊字符] Day 3:数据库集成
昨今
数据库学习flask
学习目标:使用SQLAlchemy操作数据库fromflask_sqlalchemyimportSQLAlchemyapp.config['SQLALCHEMY_DATABASE_URI']='sqlite:///site.db'db=SQLAlchemy(app)classUser(db.Model):id=db.Column(db.Integer,primary_key=True)userna
- uniapp 开发 h5 跳转微信小程序
陈龙龙的陈龙龙
uni-apphtml5微信前端vue.jsjavascript
1、JS-SDK说明文档文档链接把JSSDK的js文件下载下来或者直接使用链接2、封装初始化jssdk的functionvarjweixin=require('../common/jweixin-1.6.0.js');jssdkConfig:(options)=>{returnnewPromise((resolve,reject)=>{uni.showLoading({title:"加载中..."
- c语言串口控制单片机,利用USART实现单片机与串口通信[C语言]
weixin_39622283
c语言串口控制单片机
//实验目的:熟悉USART通信//通过“串口调试助手”协助工作//串口调试助手发送数据给877,877收到后再转发回串口助手//硬件要求:拨码开关S7全置ON,其他拨码开关置OFF#include//包含单片机内部资源预定义__CONFIG(0x1832);//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡//--------------------------
- GPIO按键点亮LED灯函数
ོ椿生拥蝶
单片机嵌入式硬件
intmain(void){/*USERCODEBEGIN1*//*USERCODEEND1*//*MCUConfiguration--------------------------------------------------------*//*Resetofallperipherals,InitializestheFlashinterfaceandtheSystick.*/HAL_Init
- CMake strings替换字符
小米人er
我的博客cmakemakefile
makefile里的subset是什么语法,参考使用示例CFLAGS+=$(subst",$(CONFIG_LV_OPTLEVEL))好的,用户现在问的是Makefile中的subst语法,并给出了一个示例:CFLAGS+=$(subst",$(CONFIG_LV_OPTLEVEL))。我需要先理解subst函数的作用以及用户提供的示例的具体用途。首先,subst是Makefile中的一个文本替换
- Jenkins重启后Maven的Project加载失败
一张假钞
jenkinsmaven运维
个人博客地址:Jenkins重启后Maven的Project加载失败|一张假钞的真实世界Jenkins重启后发现Maven的项目都没有正常加载。检查Jenkins的启动日志发现以下错误信息:java.io.IOException:Unabletoread/home/jenkins/.jenkins/jobs/test-maven/config.xmlathudson.XmlFile.read(Xm
- 1.4常规es报错问题
AustinCien
ELFK运维elkelasticsearch
问题一:unabletoinstallsyscallfilter[2016-11-06T16:27:21,712][WARN][o.e.b.JNANatives]unabletoinstallsyscallfilter:Java.lang.UnsupportedOperationException:seccompunavailable:requireskernel3.5+withCONFIG_SE
- vscode 远程执行ssh开发连接不上ssh: connect to host 192.168.144.130 port 22: Connection timed out
三希
vscodesshide
检查远程服务器的SSH配置:确保远程服务器的/etc/ssh/sshd_config文件中启用了端口转发功能:plaintextAllowTcpForwardingyes修改配置后,重启SSH服务:bashsudosystemctlrestartsshd再重新连接即可
- spring security面试题
「已注销」
springjava后端
1、springsecurity所谓的全局上下文是如何实现的?ThreadLocal2、了解springsecurity哪些核心组件,并介绍?AuthenticationManagerBuilder@Configuration@EnableWebSecuritypublicclassWebSecurityConfigextendsWebSecurityConfigurerAdapter{@Over
- Java设计模式详解:原理、实现与应用场景
懒羊羊敲代码丫
java设计模式开发语言
设计模式是软件工程中解决常见问题的经典方案结晶。本文将深入讲解6种最常用的Java设计模式,通过代码实例解析其实现原理,并探讨适用场景和实际应用价值。一、单例模式(SingletonPattern)结构特点:私有化构造函数静态私有实例变量静态公有获取方法java复制publicclassConfigManager{privatestaticvolatileConfigManagerinstance
- 必知必会!如何在Kubernetes中管理Configurations和Secrets
硅基创想家
#Kubernetes实战与经验kubernetes容器云原生
在Kubernetes中,管理配置和机密信息对于确保应用程序的灵活性、安全性和易于部署至关重要。当应用程序依赖于配置或敏感数据(如API密钥、密码和环境变量)时,Kubernetes提供了将这些数据与应用程序代码分离的工具。Kubernetes中的ConfigMaps(配置映射)和Secrets(机密)使得动态管理和更新这些配置成为可能,让您的应用程序能够在不直接在容器中硬编码信息的情况下进行适配
- ESP32 esp-idf开发环境搭建
chem4111
c语言嵌入式硬件
一、准备工作安装必备工具Python3.8+:建议使用官方推荐的3.8版本,避免高版本兼容性问题(2()])。下载地址:Python3.8.10,安装时勾选AddtoPATH。VisualStudioCode:推荐开发工具,下载地址:VSCode4。配置Python镜像源以管理员身份运行CMD,执行以下命令加速依赖下载:pipconfigsetglobal.index-urlhttps://mir
- VSCode 使用import导入js/vue等时添加智能提示,并可跳转到定义
zsd_666
Web前端javascriptvscodevue.js
VSCode使用import导入js/vue等时添加智能提示,并可跳转到定义如://按住ctrl+鼠标点击getDataList,可以跳转到homeApi.js中的定义位置import{getDataList}from'@/api/homeApi.js'安装VuePeek插件在项目根目录下新建jsconfig.json文件{"compilerOptions":{"baseUrl":"./","pa
- Scala的隐式对象
yuhuhuh
scala
隐式对象:implicitobject//隐式对象//implicitobject//作用:给函数的隐式参数提供默认值objecttest5{caseclassDatabaseConfig(driver:String,url:String)//作为函数的隐式参数的默认值implicitobjectMySqlDefaultextendsDatabaseConfig("mysql","localhos
- Rocky Linux9下安装Docker和卸载Docker
Hadoop_Liang
dockerdocker容器运维
前提条件安装好RockyLinux9,可参考Vmware下安装RockyLinux9.4安装Docker精简版命令yuminstall-yyum-utilsyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyuminstall-ydocker-cesystemctl
- golang调用deepseekr1
又菜又爱玩呜呜呜~
golang开发语言后端
1.官方文档2.请求看一下因为deepseek官方API的deepssek-r1响应太慢,于是用了腾讯的API来测试funcmain(){cfg:=config.Config{BaseURL:"https://api.lkeap.cloud.tencent.com",APIKey:"API-KEY",HTTPClient:&http.Client{},}//初始化deepseekd:=deepse
- 网络运维学习笔记 013网工初级(HCIA-Datacom与CCNA-EI)DHCP动态主机配置协议(此处只讲华为)
技术小齐
网络运维学习
文章目录DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)网关配置DHCP服务器配置如果没有DHCP服务器,只在网关上做DHCP服务器:DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)依据地址池自动分配IP地址,减少工作量,避免地址冲突。DHCP报文类型1.DHCPDISCOVER客户端寻找DHCP服务器(广
- python提取PDF文件
小木可菜鸟测试一枚
pythonpython开发语言
一、1importosimportpdfplumberfromcommon.logimportLogfromcommon.data_processimportFileOperatefromcommon.config_readerimportConfigReaderimportdatetimeclassBaseMethod:def__init__(self):self.log=Log()self.f
- windows基础
网络安全-老纪
windows
系统目录服务端口注册表黑客常用DOS命令(在拿到shell时会用到)一、系统目录Windows目录系统的安装目录System32àconfigàSAM文件是用户密码的存储文件System32àetcàhost文件记录本地解析(优先级大于DNS域名解析)可以自行添加域名解析记录System32àcmdexe用户目录用户家目录,存放缓存文件、桌面文件Programfile64位软件安装路径Progra
- langchai4j结合zhipu-ai生成图片
llm
序本文主要研究一下怎么通过langchai4j结合zhipu-ai生成图片步骤pom.xmldev.langchain4jlangchain4j-community-zhipu-ai1.0.0-beta1config@ConfigurationpublicclassImageConfig{@BeanpublicZhipuAiImageModelzhipuAiImageModel(@Value("$
- 深入解析Spring Boot中的@ConfigurationProperties注解
m0_51274464
面试学习路线阿里巴巴springbootjava后端
深入解析SpringBoot中的@ConfigurationProperties注解在SpringBoot框架中,配置管理是一个核心功能。SpringBoot提供了多种方式来处理外部配置,其中@ConfigurationProperties注解是一个非常强大且灵活的工具。本文将深入探讨@ConfigurationProperties注解的概念、用法、工作原理、配置绑定、类型安全以及如何在实际开发中
- 面试题:SpringCloud的优缺点有哪些
clownAdam
SpringCloud面试springcloud后端面试微服务
面试题:SpringCloud的优缺点有哪些在面试中回答SpringCloud的优缺点时,可以结合其实际应用场景和技术特点,给出简洁、清晰的回答。以下是一个适合面试场景的回答模板:SpringCloud的优点微服务生态完善SpringCloud提供了微服务架构中常见的解决方案,如服务注册与发现(Eureka、Consul)、配置中心(SpringCloudConfig)、负载均衡(Ribbon)、
- linux服务器双网卡做bond-安装ifconfig
寻址00000001
安服学习以及实战演练linux网络运维ifconfig
环境:CentOSLinuxrelease7.6.1810(Core)yuminstallnet-tools安装ifconfig1目前有三张网卡分别是ens33\37\38,我们将ens3337绑定为bond02分别更改ens3337的配置文件cat/etc/sysconfig/network-scripts/ifcfg-ens33/37bond13down掉bond0中的一块网卡,看网络连通性。
- 荣耀电脑,win11增加pin码登录选项后:电脑出现问题,你的PIN不可用。请单击以重新设置
lalapanda
windows
在网上看到很多人说改了自己的msconfig导致电脑重启后提示pin不可使用。而我非常悲惨的也忘记了自己的密码,指纹解锁不知道为啥被禁用了官方建议的解决方案:1.可能是网络不行,pin码需要联网验证,建议用电脑连手机热点登十分钟后再试2.有可能是电脑配置出错,(荣耀电脑按del键),来到疑难问题解答页面,按照步骤【疑难解答】➜【高级选项】➜【卸载更新】,卸载最新的更新,看看电脑是否能回到错误发生之
- 常用计算机网络命令
MaximusCoder
计算机网络经验分享Markdown
命令:ping用于检测网络连通性,判断目标地址是否可达。常用参数-t:持续发送数据包,直到手动停止。-n:发送指定数量的数据包。-l:指定发送的数据包大小。pingwww.example.com该命令会向指定目标地址发送ICMP回显请求数据包,并等待目标地址返回ICMP回显应答数据包。通过查看数据包的往返时间(RTT),可以判断网络延迟情况。命令:ipconfig用于查看和配置网络接口信息,在Wi
- 手把手完成前端Vue3 + Vite项目工程化搭建
m0_74825447
前端
vue3_vite_project基于Vue3+Vite搭建的前端工程化项目演示模板环境准备开发环境:Node.jsv16.14.2+npmv8.3.2开发工具:VisualStudioCodeorWebStorm源代码管理:Gitnpm镜像:npmconfigsetregistryhttps://registry.npmmirror.com技术栈技术栈描述Vue渐进式JavaScript框架Vi
- go-gin-api 项目教程
卓榕非Sabrina
go-gin-api项目教程项目地址:https://gitcode.com/gh_mirrors/go/go-gin-api1.项目的目录结构及介绍go-gin-api项目的目录结构如下:go-gin-api/├──api│├──controller│├──middleware│├──router│└──service├──cmd│└──server├──config├──docs├──inte
- 桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?
换个号韩国红果果
html小球碰撞
稍微想了一下,然后解决了很多bug,最后终于把它实现了。其实原理很简单。在每改变一个小球的x y坐标后,遍历整个在dom树中的其他小球,看一下它们与当前小球的距离是否小于球半径的两倍?若小于说明下一次绘制该小球(设为a)前要把他的方向变为原来相反方向(与a要碰撞的小球设为b),即假如当前小球的距离小于球半径的两倍的话,马上改变当前小球方向。那么下一次绘制也是先绘制b,再绘制a,由于a的方向已经改变
- 《高性能HTML5》读后整理的Web性能优化内容
白糖_
html5
读后感
先说说《高性能HTML5》这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影。个人觉得作者应该首先把HTML5的大菜拿出来讲一讲,再去分析性能优化的内容,这样才会有吸引力。因为只是在线试读,没有机会看后面的内容,所以不胡乱评价了。
- [JShop]Spring MVC的RequestContextHolder使用误区
dinguangx
jeeshop商城系统jshop电商系统
在spring mvc中,为了随时都能取到当前请求的request对象,可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。 在jshop中,对RequestContextHolder的
- 算法之时间复杂度
周凡杨
java算法时间复杂度效率
在
计算机科学 中,
算法 的时间复杂度是一个
函数 ,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的
字符串 的长度的函数。时间复杂度常用
大O符号 表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是
渐近 的,它考察当输入值大小趋近无穷时的情况。
这样用大写O()来体现算法时间复杂度的记法,
- Java事务处理
g21121
java
一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状
- Linux awk命令详解
510888780
linux
一. AWK 说明
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。
awk的处理文本和数据的方式:它逐行扫描文件,从第一行到
- android permission
布衣凌宇
Permission
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" ></uses-permission>允许读写访问"properties"表在checkin数据库中,改值可以修改上传
<uses-permission android:na
- Oracle和谷歌Java Android官司将推迟
aijuans
javaoracle
北京时间 10 月 7 日,据国外媒体报道,Oracle 和谷歌之间一场等待已久的官司可能会推迟至 10 月 17 日以后进行,这场官司的内容是 Android 操作系统所谓的 Java 专利权之争。本案法官 William Alsup 称根据专利权专家 Florian Mueller 的预测,谷歌 Oracle 案很可能会被推迟。 该案中的第二波辩护被安排在 10 月 17 日出庭,从目前看来
- linux shell 常用命令
antlove
linuxshellcommand
grep [options] [regex] [files]
/var/root # grep -n "o" *
hello.c:1:/* This C source can be compiled with:
- Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)
百合不是茶
sax技术Java解析xml文档dom技术XML配置数据库连接
XML配置数据库文件的连接其实是个很简单的问题,为什么到现在才写出来主要是昨天在网上看了别人写的,然后一直陷入其中,最后发现不能自拔 所以今天决定自己完成 ,,,,现将代码与思路贴出来供大家一起学习
XML配置数据库的连接主要技术点的博客;
JDBC编程 : JDBC连接数据库
DOM解析XML: DOM解析XML文件
SA
- underscore.js 学习(二)
bijian1013
JavaScriptunderscore
Array Functions 所有数组函数对参数对象一样适用。1.first _.first(array, [n]) 别名: head, take 返回array的第一个元素,设置了参数n,就
- plSql介绍
bijian1013
oracle数据库plsql
/*
* PL/SQL 程序设计学习笔记
* 学习plSql介绍.pdf
* 时间:2010-10-05
*/
--创建DEPT表
create table DEPT
(
DEPTNO NUMBER(10),
DNAME NVARCHAR2(255),
LOC NVARCHAR2(255)
)
delete dept;
select
- 【Nginx一】Nginx安装与总体介绍
bit1129
nginx
启动、停止、重新加载Nginx
nginx 启动Nginx服务器,不需要任何参数u
nginx -s stop 快速(强制)关系Nginx服务器
nginx -s quit 优雅的关闭Nginx服务器
nginx -s reload 重新加载Nginx服务器的配置文件
nginx -s reopen 重新打开Nginx日志文件
- spring mvc开发中浏览器兼容的奇怪问题
bitray
jqueryAjaxspringMVC浏览器上传文件
最近个人开发一个小的OA项目,属于复习阶段.使用的技术主要是spring mvc作为前端框架,mybatis作为数据库持久化技术.前台使用jquery和一些jquery的插件.
在开发到中间阶段时候发现自己好像忽略了一个小问题,整个项目一直在firefox下测试,没有在IE下测试,不确定是否会出现兼容问题.由于jquer
- Lua的io库函数列表
ronin47
lua io
1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述
io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr
2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄
多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil
- java-26-左旋转字符串
bylijinnan
java
public class LeftRotateString {
/**
* Q 26 左旋转字符串
* 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
* 如把字符串abcdef左旋转2位得到字符串cdefab。
* 请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
*/
pu
- 《vi中的替换艺术》-linux命令五分钟系列之十一
cfyme
linux命令
vi方面的内容不知道分类到哪里好,就放到《Linux命令五分钟系列》里吧!
今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号)。
其实这个不难,不过我觉得应该总结一下vi里的替换技术了,以备以后查阅。
1
所有替换方案都要在冒号“:”状态下书写。
2
如果想将abc替换为xyz,那么就这样
:s/abc/xyz/
不过要特别
- [轨道与计算]新的并行计算架构
comsci
并行计算
我在进行流程引擎循环反馈试验的过程中,发现一个有趣的事情。。。如果我们在流程图的每个节点中嵌入一个双向循环代码段,而整个流程中又充满着很多并行路由,每个并行路由中又包含着一些并行节点,那么当整个流程图开始循环反馈过程的时候,这个流程图的运行过程是否变成一个并行计算的架构呢?
- 重复执行某段代码
dai_lm
android
用handler就可以了
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
update();
handler.postDelayed(this, 5000);
}
};
开始计时
h
- Java实现堆栈(list实现)
datageek
数据结构——堆栈
public interface IStack<T> {
//元素出栈,并返回出栈元素
public T pop();
//元素入栈
public void push(T element);
//获取栈顶元素
public T peek();
//判断栈是否为空
public boolean isEmpty
- 四大备份MySql数据库方法及可能遇到的问题
dcj3sjt126com
DBbackup
一:通过备份王等软件进行备份前台进不去?
用备份王等软件进行备份是大多老站长的选择,这种方法方便快捷,只要上传备份软件到空间一步步操作就可以,但是许多刚接触备份王软件的客用户来说还原后会出现一个问题:因为新老空间数据库用户名和密码不统一,网站文件打包过来后因没有修改连接文件,还原数据库是好了,可是前台会提示数据库连接错误,网站从而出现打不开的情况。
解决方法:学会修改网站配置文件,大多是由co
- github做webhooks:[1]钩子触发是否成功测试
dcj3sjt126com
githubgitwebhook
转自: http://jingyan.baidu.com/article/5d6edee228c88899ebdeec47.html
github和svn一样有钩子的功能,而且更加强大。例如我做的是最常见的push操作触发的钩子操作,则每次更新之后的钩子操作记录都会在github的控制板可以看到!
工具/原料
github
方法/步骤
- ">的作用" target="_blank">JSP中的作用
蕃薯耀
JSP中<base href="<%=basePath%>">的作用
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- linux下SAMBA服务安装与配置
hanqunfeng
linux
局域网使用的文件共享服务。
一.安装包:
rpm -qa | grep samba
samba-3.6.9-151.el6.x86_64
samba-common-3.6.9-151.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
samba-client-3.6.9-151.el6.x86_64
samba-winbind-clients
- guava cache
IXHONG
cache
缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。
缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的
- Query的开始--全局变量,noconflict和兼容各种js的初始化方法
kvhur
JavaScriptjquerycss
这个是整个jQuery代码的开始,里面包含了对不同环境的js进行的处理,例如普通环境,Nodejs,和requiredJs的处理方法。 还有jQuery生成$, jQuery全局变量的代码和noConflict代码详解 完整资源:
http://www.gbtags.com/gb/share/5640.htm jQuery 源码:
(
- 美国人的福利和中国人的储蓄
nannan408
今天看了篇文章,震动很大,说的是美国的福利。
美国医院的无偿入院真的是个好措施。小小的改善,对于社会是大大的信心。小孩,税费等,政府不收反补,真的体现了人文主义。
美国这么高的社会保障会不会使人变懒?答案是否定的。正因为政府解决了后顾之忧,人们才得以倾尽精力去做一些有创造力,更造福社会的事情,这竟成了美国社会思想、人
- N阶行列式计算(JAVA)
qiuwanchi
N阶行列式计算
package gaodai;
import java.util.List;
/**
* N阶行列式计算
* @author 邱万迟
*
*/
public class DeterminantCalculation {
public DeterminantCalculation(List<List<Double>> determina
- C语言算法之打渔晒网问题
qiufeihu
c算法
如果一个渔夫从2011年1月1日开始每三天打一次渔,两天晒一次网,编程实现当输入2011年1月1日以后任意一天,输出该渔夫是在打渔还是在晒网。
代码如下:
#include <stdio.h>
int leap(int a) /*自定义函数leap()用来指定输入的年份是否为闰年*/
{
if((a%4 == 0 && a%100 != 0
- XML中DOCTYPE字段的解析
wyzuomumu
xml
DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称,如果是内部DTD,则再空一格出现[],在中括号中是文档类型定义的内容. 而对于外部DTD,则又分为私有DTD与公共DTD,私有DTD使用SYSTEM表示,接着是外部DTD的URL. 而公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.
私有DTD
<!DOCTYPErootSYST