统计String中每个单词出现的个数(不区分大小写)输入描述:输入一个字符串,例如:“abAv”输出描述:v:1:3b:1a:2defcountEach(strs):dic={}strs=strs.lower()lens=len(strs)i=0whilei
久锋说社群:社群营销的核心优势是什么?
久锋说社群
社群营销就是基于相同或相似的兴趣爱好,通过某种载体用产品或服务满足社群个体的需求而产生的商业形态传统的产品推广方式越来越难以维系,用户越来越容易产生审美疲劳,导致推广成本越来越高。这也让大家越来越重视社群经济。图片发自App首先社群营销分为两部分,一个是社群,一个是营销,所以说社群营销只是营销的一种方式,而任何营销的本质都是相同的。都是通过发现、创造和交付价值以满足用户的需求,并从中获取利润的行为
2019-03-08
0dbb66a89a27
姓名:刘敬武公司:临沂和创饲料有限公司【反省总结第324天,始于20180420今天是20190308】①第373期(20180417至0419)利他一组学员②第412B期(20180707至0709)感谢一组志工③第34期(20180831至0901)成功方程式七组志工【知~学习】朗读《稻盛和夫自传》,《活法》【经典名句分享】人应该积极地行走在正确的道路上(和创王庆忠老师语)【行~实践】一、修身
【学习笔记】为什么你会恐惧盈利?(下)
坤乾泰
JonahComplex.jpg【恐惧盈利的根本原因】交易者之所以会恐惧盈利,主要是因为不够自信,而这种不自信可能来自以下几个方面:1、没有交易系统,或者系统还不稳定。2、抱有错误的期望值。3、对自己交易的品种不熟悉。4、没有正确认识自己的负面情绪。【如何克服这些不良心态?】1、放宽心态,正确看待盈亏。不管是厌恶亏损还是恐惧盈利,首先要放宽自己的心态,学会更加坦然地去面对盈利和亏损。这看似简单,但
DayThirteen 笔记
隔壁班胡胖胖
这个七月
使用sort函数时,可以传入第三个参数,作为排序的顺序参考,例如:boolcmp(paira,pairb){returna.second>b.second;//从大到小排序}intmain(){sort(danjia,danjia+n,cmp);}记录一个求幂函数的二分算法LLbineryPow(LLa,LLb,LLm)//递归写法{if(b==0)return1;//如果幂为0,啧直接返回//这
如何用python爬取股票数据选股_用python爬取股票数据
weixin_39752087
获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一。鉴于此,我拾起了Python这把利器,开启了网络爬虫之路。本篇使用的版本为python3.5,意在抓取证券之星上当天所有A股数据。程序主要分为三个部分:网页源码的获取、所需内容的提取、所得结果的整理。一、网页源码的获取很多人喜欢用python爬虫的原因之一就是它容易上手。只需以下几行代码既可抓取大部分网页的源码。imp
2019-03-17
BOHE薄荷123
明成真是有点太惨了,赔了夫人又折兵!其实我真觉得他还有得救,特别是朱丽跟明玉说的一番话,他真的有福气娶到了一个很好的老婆。原本我以为他投资真的能小赚一点,这样确实能给自己提点气,可惜事与愿违,又失败了,这次败得一塌糊涂!不知道还能怎样翻身,可怜他这点骨气没用对地方。不过他这个急于求成的例子确实提醒了我们,天上真的不会有好吃的馅饼掉下来,没有一个生意是稳赚没风险的,不要相信任何人,也包括自己头脑的简
2023-05-02
微信用户_5096
《象与骑象人》读后感“象与骑象人”的比喻第一次在《了不起的我》中看到,这个比喻很形象很生动,所以对这本书《象与骑象人》也充满着期待。但是专业的心理学和脑科学术语比较多,读着读着会觉得有点看不下去,但仔细思考很多道理跟我们的生活息息相关,解释了很多生活中遇到的问题,还是以思维导图的形式自己梳理了一遍本书主要内容。不管是本书还是《5%的改变》等书中,都有提到把自己的问题回顾一遍并把它写下来,可能你的问
越出牢笼(7)
贪玩
在柳庄广阔田野中的一个小亭子里,我们歇下了脚。亭子色彩素淡,统一的棕色简洁典雅,点缀在一片碧绿中,倒显得很别致。亭子的立柱之间由一圈凳子串连起来,我们就在凳子上坐了下来。披着穿亭而过,夹带着青草气味的风,我先说话了:“这件事做起来,会受到来自两方面的阻力。一个是城邦管理者和他们背后的财团,这会从根本上触碰到他们的利益;另一个是大多数的城邦居民,我前几天尝试着跟几个同事聊天,他们对生活现状非常满意,
MFC建立C语言项目,mfc开发(mfc项目开发实例85个)
嘻嘻哒的小兔子
MFC建立C语言项目
什么是MFC编程MFC(MicrosoftFoundationClassLibrary)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对.用MFC的四个模式都可以设计上面的界面吗?同时标签能够在单文档中建立不。可以,MFC,文档视图架构,单文档应用程序,再加一个静态窗口分割。可以列举一个简单的例子说明楼上说的太复杂了,那是要到一
活出自在喜悦Day104——在不如意中决定快乐前行
自在宇哥
图片发自App这几天的行程中有很多的不如意,所以伙伴们跟导游商量,决定按照我们自己的方式度过这一天。我们选择了上午休息,中午在一家中餐厅给一个伙伴庆生,大家玩得非常开心。不知不觉,已经到了三点钟。发现清迈大学就在附近,大家决定去英拉的母校去看看。没想到,这个学校的环境非常优美,校方也有效利用游客资源,开发了观光游览,并理由一切机会向游客宣传学院的基本情况和提供的课程,真是把宣传工作做到了每一个角落
健康管理师证书有用吗,健康管理师证怎么考
配音就业圈
一、健康管理师证书有用吗健康管理师证书是一种专业技能证书,具有一定的实用性和市场价值。兼职副业推荐公众号,配音新手圈,声优配音圈,新配音兼职圈,配音就业圈,鼎音副业,有声新手圈,每天更新各种远程工作与在线兼职,职位包括:写手、程序开发、剪辑、设计、翻译、配音、无门槛、插画、翻译、等等。。。每日更新兼职。持有健康管理师证书的人可以在医疗、保健、健身等领域从事相关工作,为人们的健康提供管理和指导。此外
The thirteen day
weixin_30511107
Wellbegunishanlfdone良好的开端是成功的一半.(此句是省略句,Somethingthatiswellbegunissomethingthatishalfdone.)Particemakesperfect熟能生巧Wherethereisawill,thereisaway.有志者事竟成onaroll练练获胜,势如破竹Don'tstopmenow-I'monaroll!!现在别阻止我,
第23章 血战饕餮海
英飞i
“从今以后一万年!你们都会记住俺这只猴子!齐天大圣孙悟空!”孙悟空此时把自己的神力开到最大,上天入地,挥舞着铁棍,把饕餮鱼打得七零八落。但是鱼群还是太多了,而且在水中他们无孔不入,任凭英飞如何躲避,都无法逃出饕餮鱼的包围圈。远处巨大的饕餮鱼守株待兔,英飞已经开启自己的空间传送技能了,但是还是无法挣脱出水面。猴子在一旁急得团团转,铁棒抡成电风扇。“你个窜天猴!咋那么笨啊!金箍棒砸他们啊!变长!变弯!
matlab cdf,Matlab 简单计算PDF和CDF | 学步园
苏晓晓
matlabcdf
通信的魅力就是在于随机性中蕴含的确定性,这也就是为什么你随便拿出一本通信方面的教材,前面几章都会大篇幅的讲解随机过程,随机过程也是研究生必须深入了解的一门课,特别是对于信号处理以及通信专业的学生。在实际工作中,通常会得到很多随机的数,我们要分析它们的分布,最常见的就是用PDF和CDF来描述了。好了,还是举出一个具体例子吧。那么实际中我们要验证是不是符合这样的分布,首先看代码再解释:%%%%%%%%
Matlab 简单计算PDF和CDF
奔跑着的孩子
通信概念最大似然算法
CDF(cumulativedistributionfunction)叫做累积分布函数,描述一个实数随机变量X的概率分布,是概率密度函数的积分。它的最主要作用就是观测某些数值也就是随机变量的取值在那个附近出现的概率比较大,它是一个增函数.可以有效的处理一些异常值.随机变量小于或者等于某个数值的概率P(X=b(i)&a(s)<=b(i+1)n(i)=n(i)+1;s=s+1;endendendsum
2020-11-26
4ad45fb2c449
感恩早起的一个小时,在脑海里回放了许多值得感恩的事情。听着妞妞均匀的呼吸,看着香甜的睡颜,感觉非常安稳,感谢存在我身边的美好。沉睡了一个晚上,在这个寂静的凌晨,偶尔传来火车的鸣笛音,好像在提示人们开启新的一天,感谢感谢感谢。感谢起来的第一杯温水,滋润了我的身体,洗刷了我的肠道,提醒我的身体开始一天的运转。感谢每个月还出的房贷,让我拥有了一个温暖舒适的家,一个安稳的居所,可以为我遮风挡雨。可以休息,
求教大佬们react native 如何实现fiexd固定列
小时候丶_2e0a
上图是我用reactnative封装的一个table,但是固定列没有同步滚动fiexd的固定列,我的思路是将表格分为左右两个flatlist,分别放fiexd和非fiexd列,然后滚动右边的flatlist监听onScroll事件,并设置scrollEventThrottle频率次数,然后在onScroll的自定义方法里去同步更改左边的flatlist偏移。结果,数据量很少的时候还看不出什么,数据
双峰高斯分布蒙特卡洛模并画pdf和cdf图
tpHRlIi
pdf
双峰高斯分布蒙特卡洛模并画pdf和cdf图可设置双峰组合分布中不同正态参数的分布比例,也可以对多个组合进行计算matlab代码,备注清楚,更改为自己需要的分布比例与参数即可双峰高斯分布蒙特卡洛模并画pdf和cdf图在现代数据科学中,探究数据的分布状态是非常重要的。而在实际应用场景中,数据不一定总是符合单一的分布模型。双峰高斯分布是一种较为常见的数据分布模型,它适用于许多实际场景,比如人口年龄分布、
袁瑞红 漯河 网络初级六期 坚持分享第373天《遇见优秀的自己》
袁瑞红
有时候做事情没有特别的理由,遇到感觉该做的,自己喜欢的,就会不遗余力的做,也许在别人眼里我有点疯狂,上班这么累,回家还得照顾孩子,还能有时间读书,呵呵,得感谢爱人的理解和支持,才有今天进步的我。爱人也希望给孩子做好榜样,所以我要做好孩子的榜样。现在的状态很好,精力充沛,求知欲很强,对未知的领域很有兴趣,也很高兴有这样的状态,现在是学习吸收最强的时候,也要抓住这个机遇,充实自己。为遇见明天优秀的自己
python-记录字符串种字符出现次数
酸辣小太阳.
python入门python算法
该类题目用字典明显方便,先上代码:s=input("请输入一个字符串:")num={}foriins:num[i]=s.count(i)forkey,valueinnum.items():print('{key}:{value}次'.format(key=key,value=value))运行结果:这里有几个值得关注的点:1.为字典添值前,需要先创建字典,这里num={}是动态创建,2.计数可以直
JavaEE初阶-多线程2
炙热的大叔
JavaEE初阶java-eejavajvm
文章目录一、多线程安全问题1.1线程安全问题的原因1.2如何解决线程安全问题二、加锁2.1synchronized2.2synchronized的几种使用方式2.3synchronized的可重入性三、死锁3.1死锁的必要条件一、多线程安全问题代码示例如下:publicclassDemo20{staticintcount=0;publicstaticvoidmain(String[]args)th
Gin-封装自动路由
揽月随风醉
gin
O.0思路一、API二、控制层三、自动路由核心四、分组路由外加中间件使用思路由于Java转Go直接使用的goframe框架,然学习Gin时觉得一个接口一个路由太麻烦,于是有了...1、在请求结构体中采用标签的形式,直接给出路由和请求方式2、在控制层引用xxxReq开头的结构体作为入参(此时API结构体就与方法形成了联系)3、通过反射获取控制层的所有方法,通过每个方法拿到结构体,并获取到标签信息,随
高速路上飘来一块板,谁来赔偿被板砸坏的汽车?
5f21a99d655c
湖南省常德市一车辆在高速公路上突遇“天外飞板”,车辆瞬间被毁,还好人没事。事后发现是一辆红色卡车的顶板松脱。天有不测风云,人有旦夕祸福。对于这种事情,是没有办法避免的,只能看运气。不过最终的损失还是能够找他人赔偿的。1、厢式货车的所有人应当承担相应的赔偿责任。通俗的说,车辆是车主的,货箱的顶盖也是车主的,在高速行驶过程中,由于各方面原因,最终导致顶盖被掀翻后砸中对面车道的车辆,车主是应当承担相应的
桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?
换个号韩国红果果
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