阳光男孩

Never give up!

Entries Tagged ‘基础’

Java基础之如何学习Java程序设计

15顶一下JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。 一、 培养兴趣 兴趣是能够让你坚持下去的动力。如果只是把...[阅读全文]

15
顶一下

JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。

一、 培养兴趣

兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个”食利阶层”。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。

二、 慎选程序设计语言

男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。

如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。

如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。

三、 要脚踏实地,快餐式的学习不可取

先分享一个故事。

有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。

这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。

这个故事给我们的启示是:欲速则不达。

浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿笔者比较熟悉的深圳IT培训行业来说吧,居然有的打广告宣称”参加培训,100%就业”,居然报名的学生不少,简直是藐视天下程序员。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。

许多初学者C++/JAVA没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个HelloWorld程序,就忙不迭的向世界宣告,”我会软件开发了”,简历上也大言不惭地写上”精通VC/JAVA”。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《JAVA编程思想》仔细钻研,早知如此何必当初呀。

“你现在讲究简单方便,你以后的路就长了”,好象也是佛经中的劝戒。

四、多实践,快实践

彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。

从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:”我打算去南海朝圣,你看怎么样?”富和尚说:”这里离南海有几千里远,你靠什么去呢?”穷和尚说:”我只要一个水钵,一个饭碗就够了。”富和尚为难地说:”几年前我就打算买条船去南海,可至今没去成,你还是别去吧!”一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。

这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,”君子动口不动手”对软件开发人员来讲根本就是错误的,他们提倡”动手至上”,但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副”比尔盖茨”样。

有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。

五、 多参考程序代码

程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。

参考代码例子,也可以研究一些开源的软件或框架。

六、 加强英文阅读能力 

对学习编程来说,不要求英语,但不能一点不会,。最起码像JAVAAPI文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个”金山词霸”。

看多了就会越来越熟练。在学JAVA的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的”周扒皮”。

七、 万不得已才请教别人

笔者在ChinaITLab网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。

你是否在google中搜索了问题的解决办法? 你是否查看了JAVAAPI文档? 你是否查找过相关书籍? 你是否写代码测试过?

如果回答都是”是”的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。

八、 多读好书

书中自有颜如玉。比尔?盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔?盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。

笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,”天呐,这么多书到什么时候才能看完了”,”学软件开发,感觉上了贼船”。这时候,我的回答一般是,”别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的”,学生当场晕倒。

九、 使用合适的工具

工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。

希望通过本文的介绍,能给你带来帮助。

Comments (13)

Java开发 基础三十条 初学必看

0顶一下Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 下面介绍了三十条规则。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字 母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大...[阅读全文]

0
顶一下

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 下面介绍了三十条规则。

(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字 母。例如:

ThisIsAClassName thisIsMethodOrFieldName

若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。

Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu 等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。

(2) 为了常规用途而创建一个类时,请采取“经典形式”,并包含对下述元素的定义:

equals() hashCode() toString() clone()(implement Cloneable) implement Serializable

(3) 对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若 进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。

(4) 应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将 其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。 (5) 设计一个类时,请设身 处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可 把它们变得更简单)。

(6) 使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议:

一个复杂的开关语句:考虑采用“多形”机制。

数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现。

许多成员变量在特征上有很大的差别:考虑使用几个类 。

(7) 让一切东西都尽可能地“私有”——private。可使库的某一部分“公共化”(一个方法、类或者一个字段等等),就永远不能把它拿出。若强 行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。若只公布自己必须公布的,就可放心大胆地改变其他任何东西。在多线程环境中,隐私是特 别重要的一个因素——只有private字段才能在非同步使用的情况下受到保护。

(8) 谨惕“巨大对象综合症”。对一些习惯于顺序编程思维、且初涉OOP领域的新手,往往喜欢先写一个顺序执行的程序,再把它嵌入一个或两个巨大的 对象里。根据编程原理,对象表达的应该是应用程序的概念,而非应用程序本身。

(9) 若不得已进行一些不太雅观的编程,至少应该把那些代码置于一个类的内部。

(10) 任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改善编码及维护工作(参见第14章14.1.2小节的“用内部 类改进代码”)。

(11) 尽可能细致地加上释,并用javadoc注释文档语法生成自己的程序文档。

(12) 避免使用“魔术数字”,这些数字很难与代码很好地配合。如以后需要修改它,无疑会成为一场噩梦,因为根本不知道“100”到底是指“数组大 小”还是“其他全然不同的东西”。所以,我们应创建一个常数,并为其使用具有说服力的描述性名称,并在整个程序中都采用常数标识符。这样可使程序更易理解 以及更易维护。

(13) 涉及构建器和异常的时候,通常希望重新丢弃在构建器中捕获的任何异常——如果它造成了那个对象的创建失败。这样一来,调用者就不会以为那个 对象已正确地创建,从而盲目地继续。

(14) 当客户程序员用完对象以后,若你的类要求进行任何清除工作,可考虑将清除代码置于一个良好定义的方法里,采用类似于cleanup()这样 的名字,明确表明自己的用途。

除此以外,可在类内放置一个boolean(布尔)标记,指出对象是否已被清除。在类的finalize()方法里,请确定 对象已被清除,并已丢弃了从RuntimeException继承的一个类(如果还没有的话),从而指出一个编程错误。在采取象这样的方案之前,请确定 finalize()能够在自己的系统中工作(可能需要调用System.runFinalizersonExit(true),从而确保 这一行为)。

(15) 在一个特定的作用域内,若一个对象必须清除(非由垃圾收集机制处理),请采用下述方法:初始化对象;若成功,则立即进入一个含有 finally从句的try块,开始清除工作。

(16) 若在初始化过程中需要覆盖(取消)finalize(),请记住调用super.finalize()(若Object属于我们的直接超 类,则无此必要)。在对finalize()进行覆盖的过程中,对super.finalize()的调用应属于最后一个行动,而不应是第一个行动,这样 可确保在需要基础类组件的时候它们依然有效。

(17) 创建大小固定的对象集合时,请将它们传输至一个数组(若准备从一个方法里返回这个集合,更应如此操作)。这样一来,我们就可享受到数组在编 译期进行类型检查的好处。此外,为使用它们,数组的接收者也许并不需要将对象“造型”到数组里。

(18) 尽量使用interfaces,不要使用abstract类。若已知某样东西准备成为一个基础类,那么第一个选择应是将其变成一个 interface(接口)。只有在不得不使用方法定义或者成员变量的时候,才需要将其变成一个abstract(抽象)类。接口主要描述了客户希望做什 么事情,而一个类则致力于(或允许)具体的实施细节。

(19) 在构建器内部,只进行那些将对象设为正确状态所需的工作。尽可能地避免调用其他方法,因为那些方法可能被其他人覆盖或取消,从而在构建过程 中产生不可预知的结果(参见第7章的详细说明)。

(20) 对象不应只是简单地容纳一些数据;它们的行为也应得到良好的定义。

(21) 在现成类的基础上创建新类时,请首先选择“新建”或“创作”。只有自己的设计要求必须继承时,才应考虑这方面的问题。若在本来允许新建的场 合使用了继承,则整个设计会变得没有必要地复杂。

(22) 用继承及方法覆盖来表示行为间的差异,而用字段表示状态间的区别。一个非常极端的例子是通过对不同类的继承来表示颜色,这是绝对应该避免 的:应直接使用一个“颜色”字段。

(23) 为避免编程时遇到麻烦,请保证在自己类路径指到的任何地方,每个名字都仅对应一个类。否则,编译器可能先找到同名的另一个类,并报告出错消 息。若怀疑自己碰到了类路径问题,请试试在类路径的每一个起点,搜索一下同名的.class文件。

(24) 在Java 1.1 AWT中使用事件“适配器”时,特别容易碰到一个陷阱。若覆盖了某个适配器方法,同时拼写方法没有特别讲究,最后的结 果就是新添加一个方法,而不是覆盖现成方法。然而,由于这样做是完全合法的,所以不会从编译器或运行期系统获得任何出错提示——只不过代码的工作就变得不 正常了。

(25) 用合理的设计方案消除“伪功能”。也就是说,假若只需要创建类的一个对象,就不要提前限制自己使用应用程序,并加上一条“只生成其中一个” 注释。请考虑将其封装成一个“独生子”的形式。若在主程序里有大量散乱的代码,用于创建自己的对象,请考虑采纳一种创造性的方案,将些代码封装起来。

(26) 警惕“分析瘫痪”。请记住,无论如何都要提前了解整个项目的状况,再去考察其中的细节。由于把握了全局,可快速认识自己未知的一些因素,防 止在考察细节的时候陷入“死逻辑”中。

(27) 警惕“过早优化”。首先让它运行起来,再考虑变得更快——但只有在自己必须这样做、而且经证实在某部分代码中的确存在一个性能瓶颈的时候, 才应进行优化。除非用专门的工具分析瓶颈,否则很有可能是在浪费自己的时间。性能提升的隐含代价是自己的代码变得难于理解,而且难于维护。

(28) 请记住,阅读代码的时间比写代码的时间多得多。思路清晰的设计可获得易于理解的程序,但注释、细致的解释以及一些示例往往具有不可估量的价 值。无论对你自己,还是对后来的人,它们都是相当重要的。如对此仍有怀疑,那么请试想自己试图从联机Java文档里找出有用信息时碰到的挫折,这样或许能 将你说服。

(29) 如认为自己已进行了良好的分析、设计或者实施,那么请稍微更换一下思维角度。试试邀请一些外来人士——并不一定是专家,但可以是来自本公司 其他部门的人。请他们用完全新鲜的眼光考察你的工作,看看是否能找出你一度熟视无睹的问题。采取这种方式,往往能在最适合修改的阶段找出一些关键性的问 题,避免产品发行后再解决问题而造成的金钱及精力方面的损失。

(30) 良好的设计能带来最大的回报。简言之,对于一个特定的问题,通常会花较长的时间才能找到一种最恰当的解决方案。但一旦找到了正确的方法,以 后的工作就轻松多了,再也不用经历数小时、数天或者数月的痛苦挣扎。我们的努力工作会带来最大的回报(甚至无可估量)。而且由于自己倾注了大量心血,最终 获得一个出色的设计方案,成功的快感也是令人心动的。坚持抵制草草完工的诱惑——那样做往往得不偿失。

也可以看看下面的几篇推荐的文章,都是针对初学者而言的,希望对你有帮助。

 

Comments (52)

XML初学者必须知道的十条基础知识

0顶一下一直都对XML有种望尘莫及的感觉,直到看到这篇文章,才终于让我对它的学习有了更进一步的掌握,原来,它是这么的有亲和力。XML、 XLink、Namespace、DTD、Schema、CSS、XHTML这些莫名的单词其实也并没我们想象中的那么无理取闹。如果你是一个XML语言的初学者,那么我强烈建议你把这十个XML自身特点的描述看完,你可以清晰明了地掌握到XML的一些基本概念,然后消化掉,最后应用到自己的程序...[阅读全文]

0
顶一下

一直都对XML有种望尘莫及的感觉,直到看到这篇文章,才终于让我对它的学习有了更进一步的掌握,原来,它是这么的有亲和力。XML、 XLink、Namespace、DTD、Schema、CSS、XHTML这些莫名的单词其实也并没我们想象中的那么无理取闹。如果你是一个XML语言的初学者,那么我强烈建议你把这十个XML自身特点的描述看完,你可以清晰明了地掌握到XML的一些基本概念,然后消化掉,最后应用到自己的程序设计中去。

首先,需要指出的是文章来自网络,英文原文为W3C.org官方发布: XML in 10 points中文翻译具体不祥。

1. XML是用来组织数据结构的

结构数据包括如: 电子数据表、地址簿、控制器参数、财务交易及技术绘图等。XML是一系列文字格式设计的规则(也可称之为指导方针或惯例),来帮助你组织数据结构。XML不是一种程序语言,所以你不必一定是程序员,同样可以使用或学习它。XML使计算机简单地生成及读取数据,并确保数据结构精确。XML避免了一般语言设计的缺陷:它是可扩展的、跨平台、支持国际化及区域化的格式,绝对支持Unicode格式。

2. XML类似于HTML
和HTML一样,XML是使用标签<tags>(使用 “<”和”>”包含)和属性(以”name”=”value”的形式)。一旦HTML指定了每一个标签和属性的定义,一般文字在浏览器中表现的形式后, XML只使用这些标签来界定一些资料的特殊意义,但整体句子的意思则随个别应用程式读取时界定。换句话说,如你看到一个XML档中的 “<p>”, 千万不要以为是段落的意思。根据XML上下文的解释,它可能是一个价?quot;price”、一个参表”parameter”、一个人 “person”、或…(这样谁可以界定一个”p”字的定义呢?)

3. XML是文字, 但不是被阅读的
制作电子数据表、地址簿及其它结果数据的程序一般是存储在磁盘中,以二进制或文字格式储存的。其中文字存储格式的好处是,人们在需要时阅读这些文字,而不须制作文件所用的程式; 另外, 你也可以用你喜爱的文字处理器来读取文件。文字格式也容许开发者更容易地理解应用程式。如HTML,XML档是一些人类无需阅读,但若有须要时亦可阅读的文字档案。不太像HTML,XML的规则是非常严 格。若忘记了一个标签或属性漏了一个引号便使这个XML档无法执行,但在HTML内这些错误却可以接受的。正规的XML定义防止程式尝试去猜测这个已被破 坏的XML档的意思;若发现一个被破坏了的档案,应用程式便会立刻在那儿停止并报告发生错误的讯息。

4. XML是很详尽的

因为XML是文字格式及其为使用标签来解放资料,XML文件差不多比所有以二进制格 式的文件档大。这点往往是XML设计者必定留意及考虑的。文字格式的好处是一切都很清楚(看上文第3点),但亦有不同程度的缺点。磁盘空间的价钱比以前大 幅降低;而其它的文件压缩程序如zip和gzip便能简易快捷地把文件压缩。此外,网络上的通讯协议,如数据机通讯协定及HTTP/1.1便可以在传送时 把资料压缩,节省效能跟二进位格式的文件同样有效率!

5. XML是一个技术大家族

XML1.0界定标签”tags”及属性”attributes”的定义。在 XML1.0以外,”XML家族”是一项成长中的技术专案以提供有用服务予以配合多项重要及须求率高的工作。XLink解释了怎样加入连结至一个XML 档。XPointer及XFragments文件部份发展的语法。XPointer有点像URL,但除指向一个网上文件外,它亦指向一件在XML文件内的 资料。CSS~界定文件式样语言,使用在XML上跟在HTML无异。XSL是表达版面式样”style sheets”的进阶语言。以XSLT,一种用作重新排列、加入或减除标签及属性的转化性语言为基础。DOM是用来从一种程式语言中,叫取XML档(及 HTML档)的一组标准。XML Schemas 1和2帮助开发者精确地界定它们自己的一套XML基础格式。还有其他种类的专案和工具可供考虑或正被开发中。可多留意W3C的技术报告。

6. XML是新事物,但不是全新的产物
XML的开发始于1996年,并于1998年2月成为W3C的推荐文 件;这可能使你认为这是一项并不十分成熟的技术。但事实上,这项技术并不如想象中的新!在XML之前曾有80年代初开发的SGML,一项自1986年有 ISO标准及被广泛地使用在大型文件策划专案中。HTML从1990年起开发。XML的设计者只要把SGML中最好的部份,以发展HTML的经验指引来开 发一些不逊于SGML,但比之更有规范和可更简易地使用的技术。虽然有些时候很难分辨演变和革命的成就…但可以确定的,是当SGML被广泛地使用在技 术文件而被其他种类的资料所疏忽时,XML的情况是刚好相反的!

7. XML带领HTML至XHTML
一个重要的文字性质的XML应用程式:W3C的XHTML,一个接替 HTML的格式。XHTML有许多跟HTML一样的原素。有一些语法为了配合XML规则而改变了。一份使用”XML基础”的文件代替及限制了XML的语法 其在某些方面的用法(例如:XHTML容许”

”但并不接受””);它更加入一些意义到语法上(XHTML指定 “

”的意思是段落”paragraph”,而不是价格”price”或人”person”或其他事物)。

8. XML是模块化的

XML容许你利用合并及再使用其他格式来自定新的文件格式。因为两种独立开发的格式可 能包含一些原材料或称号用着同一名称,所以当合并使用这些格式时得特别小心(如”

”在一份文件代表”段落paragraph”是否可能 在另一方代表”人物person”呢?)要解决当合并使用两种格式时出现名称混淆的问题,XML提供了一项名为namespace的概念。XSL和RDF 正是用了namespaces的以XML为基础的格式。XML Schema以简单的方法来合并两种规格以演变出包含了两种规格的第三种格式,是用来反映出在界定XML文件结构时用以引导的支援。

9. XML是RDF及Semantic Web的基础
XML提供了一个规范的守则予W3C的RDF,一种 用以表达资料(事实上,基本上是为知识)的语言。RDF就像一个网上连结的下一个层面。一般网上连结把一些文字连接到一些没有固定关连的事物上,唯RDF 可以把任何事物在连结起后给予一个关系名称:如”甲是乙的价格”可以是一件物品和一个价格总和的关系;又如”甲比乙重”可以是两个总和的关系;又或”甲是 乙的原因”可以是沐浴和你身体湿了的关系。当你在知识沟通的时候,不论是以XML/RDF或是以纯英语,人或机械上均须要同意某字词在某方面的用途。一系 列特定的文字可以用来形容一些特定的生活方式(从”购物”至”数学逻辑”)便称之为”Ontology”。RDF, Ontologies及其代表意思,使电脑可以帮我们执行所有Semantic Web活动。

10. XML是没有版权限制、跨平台独立且维护方便
当你选择XML为你计划的基础,你就像已得到一 些庞大及增长中的工具(其中一些可能已做到你所需要的)及工程技术员多年积累的技术经验。选择使用XML就像在进行资料库管理时选择SQL的程序:你依然 要建立你自己的资料库及你自己的程式及步骤来进行,及有许多工具和许多人来协助你。由于XML是没有版权限制,你可以建立你自己一套软体而无须支付任何费 用予别人。而庞大及增多中的支援意谓你无须依赖任何单一商号。 XML虽并不永远代表是最好的方案, 但永远值得你考虑。

 

Comments (67)

给初学者最基础且非常实用的java知识!

0顶一下Java的跨平台原来是通过不同平台的Jvm虚拟机来实现的,实现方法是不错,就是有一点我比较疑惑,C语言是通过编译器转换成.exe文件然后Windows直接运行,而所有Java程序都要通过编译器转换成.class程序然后再通过安装在Windows平台上的Jvm虚拟机来运行,那么Java的执行效率会受到多少影响?日后慢慢的验证吧。    学完了第一讲的视频总结了以下知识点,有理解不对的地方日后我会及时改正:...[阅读全文]

0
顶一下

Java的跨平台原来是通过不同平台的Jvm虚拟机来实现的,实现方法是不错,就是有一点我比较疑惑,C语言是通过编译器转换成.exe文件然后Windows直接运行,而所有Java程序都要通过编译器转换成.class程序然后再通过安装在Windows平台上的Jvm虚拟机来运行,那么Java的执行效率会受到多少影响?日后慢慢的验证吧。    学完了第一讲的视频总结了以下知识点,有理解不对的地方日后我会及时改正:

文件后缀名:

.java:Java源代码文件。    .class:Java字节码文件。    Java词汇:    Jvm:Java虚拟机。    JDK:Java工具包,其中包括Java的开发工具、运行环境。不同平台有不同版本的JDK。    (JDK下载路径:http://www.oracle.com/technetwork/java/index.html)    JDK目录下的bin文件夹:存放的是Java的编译工具。    JDK目录下的demo文件夹:存放的是Java示例程序。

Java命令:    javac:编译后缀为.java的源文件。    java:运行编译后的java类。    注:编译时切忌注意源文件的文件名,不要被隐藏的文件后缀名所迷惑。

环境变量:

系统环境变量:对本机所有用户生效。    用户环境变量:仅对当前登录系统的用户生效。    注:当系统变量和用户变量名称重复时,当调用该变量时多数为两个变量值的累加,具体以“set”查询结果为准。    path变量:根据该变量路径值获取执行命令地址。    classpath变量:根据该变量路径值查询需要运行的类的地址。    注:路径值后如果不加“;”号,则系统只会查询变量路径值而不会查询当前所在目录。

设置环境变量:

在控制台中使用“set”命令可以显示、添加、删除变量。    查询全部变量:【set】    查询指定变量:【set】空格【变量名】

添加新变量:【set】空格【新建变量名】=【变量路径值】    【set】空格【新建变量名】=【%变量名%】【变量路径】    删除变量:【set】空格【变量名】=【空值】    注:在控制台中使用“set”命令添加的变量仅对当前控制台有效。    命令行识别“空格”指令,例:set text=1    set text = 1    第一行命令定义的是【text】变量,第二行命令定义的是【text 】变 量,一个空格的区别就容易造成低级错误。    通过“我的电脑”——“高级”——“环境变量”中设置变量。    注:新建变量需注销系统重新登录后才生效。    变量路径值中不能含有空格和中文。

安装JDK:

在Windows平台安装JDK基本上就是下一步直到完成。       安装完JDK并配置玩环境变量后,可在控制台中执行“java”、“javac”命令来检验JDK安装是否正确。如输入“java”、“javac”后屏幕能够提示相应帮助信息则表示安装正确,如果提示java不是内部命令或者找不到内部文件则表示安装或者环境变量存在异常。

编译、执行:
<!–[if !supportLists]–>l  <!–[endif]–>Java程序必须存放于一个类中。    <!–[if !supportLists]–>l  <!–[endif]–>编译java源程序后,每一个类都会生成一个.class文件    <!–[if !supportLists]–>l  <!–[endif]–>如果使用“public”命令定义类,则该文件名必须与类名保持一致。    <!–[if !supportLists]–>l  <!–[endif]–>编译时对字母大小写敏感。

Jvm运行过程:

<!–[if !supportLists]–>l  <!–[endif]–>装入代码    <!–[if !supportLists]–>l  <!–[endif]–>校验代码    <!–[if !supportLists]–>l  <!–[endif]–>执行代码

反编译:    <!–[if !supportLists]–>l  <!–[endif]–>JAD    语法:    <!–[if !supportLists]–>l  <!–[endif]–>print不自动换行;println自动换行。

Comments (253)