Linux有什么功能?

Linux有什么功能?,第1张

Linux是一套免费使用和自由传播的类Unix *** 作系统,它速度快,运行稳定,对硬件的配置要求低,兼具了其他 *** 作系统的优点,最关键是可以免费使用,所以近几年内Linux得到了迅猛地发展。 说道Linux,不得不提起UNIX。由于UNIX的庞大的支持基础和发行系统,使得它(指UNIX)成为世界范围内最有影响和最广泛使用的 *** 作系统之一。起初UNIX是作为小型机和大型机上的多任务系统而开发的,尽管它有一些含糊不清的接口和缺少标准化等缺点,但是它仍然很快地发展成为广泛使用的 *** 作系统。 许多计算机爱好者感到UNIX正是他们想要的东西。但是由于商业版UNIX非常昂贵昂贵,而且源代码是有专利的,所以很难在计算机爱好者中广泛使用。于是,出现这样一群人,他们是一支由编成高手、业余计算机玩家、黑客们组成的奇怪队伍,完全独立地开发出一个在功能上毫不逊色于商业UNIX *** 作系统的全新免费UNIX *** 作系统——Linux Linux作为一个PC机上的一种32位Unix *** 作系统出现,是1991年下半年的事情。当时,年仅23岁的大学生Linus Torvalds写这个 *** 作系统的时候是为了作一个试验,写一个比当时流行的MINIX *** 作系统具有更多功能,更成熟的小型 *** 作系统。虽然最初的Linux系统很小,功能也不多,但是,随着Internet的发展,Linux系统也被来自世界各地的数以千计的人(高手)不断扩充和完善,今天,Linux在很多方面已经领先了商业性的Unix系统。它可以运行在包括Intel处理器、Motorola的M68k处理器及DEC的Alphas等多种硬件平台, 是真正的多用户、多任务的32位 *** 作系统。象现代Unix *** 作系统那样,它也具有虚拟内存、共享库、命令装载、执行代码之间共享的拷贝-执行-写盘页 *** 作、恰当的内存管理和TCP/IP网络等。 Linux是一个遵循POSIX(Portable Operating System Interface)标准的免费 *** 作系统。具有BSD和SYSV的扩展特性(表明其在外表和性能上同常见的UNIX非常相像,但是所有系统核心代码已经全部被重新编写了)。它的版权所有者是芬兰籍的Linus Torvalds先生和其他开发人员,并且遵循GPL声明(GNU General Public License——GNU通用公共版权协议)。 Linux的许多其它应用程序是由自由软件基金会(FSF)开发的。全世界许多热心的使用者为Linux开发或者移植了许多应用程序,包括X-Windows、Emacs、TCP/IP网络(包括 SLIP/PPP/ISDN)等等,现在Linux(包括内核和大量的应用程序)光是执行程序已经达到200M的规模,完全安装以后的规模将更大(大约500M左右)。 使用Linux可以在相对低价的Intel X86硬件平台上实现高档系统才具有的性能,许多用户使用benchmarks在运行Linux的X86机器上测试,发现可以和Sun和Digital公司的中型工作站的性能媲美。事实上不光是许多爱好者和程序员在使用Linux,许多商业用户比如Internet服务供应商(ISP)也使用Linux做为服务器代替昂贵的工作站。这些服务器的最高记录是经过600天的运行没有碰到一次系统崩溃! 在Linux上可以运行大多数UNIX程序:TeX,X-Window系统,GNU C/C++编译器……它让用户在家中就可以享受UNIX的全部功能。如今有越来越多的商业公司采用Linux作为 *** 作系统,例如,科学工作者使用Linux来进行分布式计算;ISP使用Linux配置Internet服务器、电话拨号服务器来提供网络服务;CERN(欧洲核子中心)采用Linux做物理数据处理;美国1998年1月最卖座的影片《泰坦尼克号》片中的计算机动画的设计工作就是在Linux平台上进行的。更为有趣的是,1997年把年度最佳技术支持奖颁给了Linux,给批评自由软件没有良好服务的人好好地上了一课。越来越多的商业软件公司宣布支持Linux,如Corel和Borland公司。在国外的大学中很多教授用Linux来讲授 *** 作系统原理和设计。当然,对于大多数用户来说最重要的一点是,现在我们可以在自己家中的计算机上进行UNIX编程,享受阅读 *** 作系统的全部源代码的乐趣! 正是Linux具有功能强大,性能出众,稳定可靠的 *** 作系统,吸引着越来越多的使用者来使用它,测试修改软件中的错误。在短短的几年时间里Linux以超常的速度发展,已经从一个丑小鸭变成一个拥有广大用户群的真正优秀的、值得信赖的 *** 作系统。根据不精确的统计,全世界使用Linux *** 作系统的人已经有数百万之多(这一数字还在以惊人的速度增加着),而且绝大多数是在网络上使用的。而在中国,随着Internet大潮的卷入,一批主要以高校的学生和ISP的技术人员组成的Linux爱好者队伍也已经蓬勃地成长起来。可以说在中国,随着网络的不断普及,免费而性能优异的Linux *** 作系统必将发挥出越来越大的作用。

aphache的作用是用于提供网站服务(当然网站还要自己设置)相当于windows的iis

dns服务器的作用是提供域名解析服务,既把www.baidu.com这个样的网址解析成ip地址,

或者反向的可根据ip地址查询域名

1.DOM标准

DOM(Document Object Model,文档对象模型)是W3C制定的一套规范标准,即规定了解析文件的接口。各种语言可以按照DOM规范去实现这些接口,给出解析文件的解析器。

各种基于DOM规范解析器必须按照DOM规范在内存中建立数据,DOM规范的核心是树模型。对于解析XML文件的解析器,解析器通过读入XML文件在内存中建立一个树,也就是说XML文件的标记、标记的文本内容、实体等都会和内存中树的某个节点相对应。一个应用程序可以方便地 *** 作内存中树的节点来处理XML文档,获取自己所需要的数据。

2.DOM解析器

用 DOM 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用 DOM 解析器的时候需要处理整个 XML 文档,所以对性能和内存的要求比较高,尤其是遇到很大的 XML 文件的时候。由于它的遍历能力,DOM 解析器常用于 XML 文档需要频繁的改变的服务中。W3C推荐使用DOM解析。

3.DOM和XML文件的互相转化

DOM解析器是DocumentBuilder类的实例。

XML转化为DOM对象

首先使用javax.xml.parsers包中的DocumentBuilderFactory类调用其类方法newInstance()实例化一个DocumentBuilderFactory对象:

[java] view plain copy

DocumentBuilderFactory factory= DocumentBuilderFactory. newInstance()

然后factory对象调用newDocumentBuilder()方法返回一个DocumentBuilder对象(称做DOM解析器),DocumentBuilder 类在javax.xml.parsers包中。例如:

[java] view plain copy

DocumentBuilder builder=factory. newDocumentBuilder()

最后builder对象调用public Document parse(File f)方法解析参数f指定的文件,并将解析内容以对象的形式返回,该对象是实现了Document接口的一个实例,Document 接口在org.w3c.dom包中。例如:

[java] view plain copy

Document document= builder. parse(new File("/mnt/sdcard/river.xml"))

现在,应用程序只要分析内存中的树状结构数据Document,就可以获得XML文件中的各种数据了。

DOM解析器经常使用下述3个方法解析XML文件:

public Document parse(File f) throws SAXException, IOException

public Document parse(InputStream in) throws SAXException, IOException

public Document parse(String uri) throws SAXException, IOException

其中:

方法parse(File f)可以解析参数f指定的XML文件,例如:

[java] view plain copy

File f= new File("/mnt/sdcard/river.xml")

Document document= builder. parse(f)

直接这样指定assets下路径是不幸的。File file = new File(" file:///android_asset/river.xml")原因是assets下的资源为原生的,只能用流的方式读取,而且不能向assets目录下写。

方法parse(InputStream in)可以解析输入流参数in指向的XML文件,例如:

[java] view plain copy

AssetManager assetManager = act.getAssets()

InputStream inputStream = assetManager.open("price.xml")

Document document= builder. parse(inputStream)

方法parse(String uri)可以解析参数uri指定的一个有效的资源,如果uri是一个链接地址,该链接地址必须是可以访问的,例如:

[java] view plain copy

String uri="http://192.168.2.1/price.xml"

Document document= builder. parse(uri)

除了通过parse方法得到Document对象外,还可以直接创建Document对象:

[java] view plain copy

builder.newDocument()//可以创建一个Document,然后修改它

DOM对象转化为XML文件

解析器通过在内存中建立和XML结构相对应的树状结构数据,使得应用程序可以方便地获得XML文件中的数据,同时提供了使用内存中的树状结构数据建立一个XML文件的API,即使用解析器得到的Document对象建立一个新的XML文件。但是需要注意的是,Android2.1中没有相应的类包,从2.2开始才加入了。

解析器的parse方法将整个被解析的XML文件封装成一个Document节点返回,我们可以对Document节点进行修改,然后使用 Transformer对象将一个Document节点变换为一个XML文件。

步骤如下:

首先使用javax.xml.transform包中的TransformerFactory类建立一个对象,

[java] view plain copy

TransformerFactory transFactory=TransformerFactory. newInstance()

然后transFactory对象调用newTransformer()方法得到一个Transformer对象,Transformer类在javax.xml.transform包中。

[java] view plain copy

Transformer transformer=transFactory. newTransformer()

然后将被变换的Document对象封装到一个DOMSource对象中,DOMSource类在javax.xml.transform.dom包中。

[java] view plain copy

DOMSource domSource=new DOMSource(document)

再然后将变换得到XML文件对象封装到一个StreamResult对象中,StreamResult类在javax.xml.transform.stream包中。

[java] view plain copy

File file=new File("/mnt/sdcard/newXML.xml")//生成在SDCard下名为newXML的XML文件

FileOutputStream out=new FileOutputStream(file)

StreamResult xmlResult=new StreamResult(out)

最后,Transformer 对象transformer 调用transform方法实施变换:

[java] view plain copy

transformer.transform(domSource, xmlResult)

注意:以上用到了写文件创建文件等,所以需要在AndroidManifest.xml中加入访问SDCard的权限

<!--在SDCard中创建与删除文件权限 -->

<uses-permission Android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<!--往SDCard写入数据权限 -->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

以上内容参考 耿祥义 出版的 XML基础教程(清华大学出版社) ,然后整理修改而成。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8943419.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存