- 浏览: 95892 次
- 性别:
- 来自: 北京
最新评论
-
xiaohee:
好文章,谢谢!
XML教程——XPath实例详解 -
hapychina:
static属性和方法要分配内存,不是static的就不分配了 ...
讨论:单例和静态方法的深入讨论 -
giianhui:
就目前的工作来说,我认为很有必要
深入JVM——方法区 -
hyj1254:
深有体会啊,搞java的很难通过证明自己技术有多nb来打动面试 ...
你适合学习java吗 -
wupuyuan:
我说说我的看法吧。1、物理内存角度来说,加载代码的内存消耗在整 ...
讨论:单例和静态方法的深入讨论
文章列表
常在论坛上看见一些有关单例模式、静态类、静态方法缺点的讨论,说得最多的无非是使用static,破坏了面向对象的多态性,建议除非确定了该对象不会被扩展,否则不要使用单例模式、静态方法等。其中,举例最多的是:辅助类可采用单例、静态方法。
确实,我在开发中,看见的基本都是如此。但我一直有点疑问,今天在这提出,希望JE上兄弟讨论下:
辅助类使用静态方法就一定好吗?我觉得可能也会存在如下问题:
1.如果类中属性或方法是static的,那么在该类被装载到方法区时,是要分配内存的。那如果是static的,是不是表示该类(非对象)永远不会被垃圾收集了呢?从而占用一定的内存 ...
TCP/IP协议概念
TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。
事务的四种隔离级别
大多数事务系统使用的SQL标准中定义了四种隔离级别:可串行化、不可重复都、读已提交和读未提交。我们通过下面的这个例子来对这四种隔离级别进行详细的说明。
场景:假如资源库里有两个包,分别是加锁包和多步提交包,其中加锁包中的文件个数是7个,而多步提交包中的文件个数是5个。现在Martin将要统计资源目录中的所有包的个数,而同时,David要向资源库里更新包的个数,即David将要向加锁包里再提交2个文件,向多步提交包里在提交3个文件。
由于,Martin的统计和
1、 回顾
在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介绍了设计模式的意图、动机在我们程序重构过程中的指导作用。
现在,我们将关注设计模式的另一个重要方面:设计模式的适用性。解决同一个问题一般会有多种方案或者模式,但是这些模式所关注的是同一个问题的不同方面,解决不同的需求,有各自的优点和限制,各有各的解决之道。这就要求我们在选择设计模式时,对我们自己的问题有很好的理解:我们的需求是什么,我们要克服什么样的限制,我们要获得什么样的特性等等。然后,可以看看我们想使用的解决问题的设计模式是否适用于我们的问题,如果不适用,是否可以使用其他的模式来弥补,是否可以对这个设计模式 ...
1、介绍
在进行项目的开发活动中,有一些设计在项目刚刚开始工作的很好,但是随着项目的进展,发现需要对已有的代码进行修改或者扩展,导致这样做的原因主要有:新的功能需求的需要以及对系统进一步理解。在这个时候,我们往往会发现进行这项工作比较困难,即使能完成也要付出很大的代价。此时,一个必须要做的工作就是要对现有的代码进行重构(refactoring),通过重构使得我们接下来的工作变得相对容易。
重构就是在不改变软件系统代码的外部行为的前提下,改善它的内部结构。重构的目标就是使代码结构更加合理,富有弹性,能够适应新的需求、新的变化。对于特定问题给出优美解决方案的设计模式往往会成为重构的目标,而且一旦 ...
1: DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后 ...
在 JAXP 的早期版本中,该首字母缩写代表 Java API for XML Parsing。在 第 1 部分 中了解到,JAXP 是位于 SAX 和 DOM 之上的层,它允许 Java 程序员执行开发商中立的 XML 解析。最初,这是 JAXP 的全部特性。不过俗话说的好,过去是过去,现在是现在。
过去,Java 和 XML 组合本身主要用于解析。Java 应用程序只需读入 XML 文档,然后按程序处理文档的数据。但随着 XML 消费应用程序流行起来,很显然,各种应用程序所执行的操作有许多重叠。对于所有优秀的软件,重叠将导致规范(而且每次都产生新的有用的 API)。
XML 的广泛使用所 ...
Java 技术和 XML 无疑是最近五年来最重要的编程开发工具。因此,用于在 Java 语言中处理 XML 的 API 就发展起来了。两个最流行的 —— 文档对象模型 (DOM) 和 Simple API for XML (SAX) —— 已经产生巨大的影响,JDOM 和数据绑定 API 也随之 ...
如果要告诉别人买一加仑牛奶,您会怎么说?“请去买一加仑牛奶回来” 还是 “从前门出去,向左转,走三个街区向右转,再走半个街区向右转进入商店。走向四号通道,沿通道走五米向左,拿一瓶一加仑装的牛奶然后到收银台付款。再沿原路回家。” 简直太可笑了。只要在 “请去买一加仑牛奶回来” 的基础上稍加指示,多数成人都能自己买回牛奶来。
查询语言和计算机搜索与此类似。直接说 “找一个 Cryptonomicon 的副本” 要比编写搜索某个数据库的详细逻辑容易得多。由于搜索操作的逻辑非常相似,可以发明一种通用语言让您使用 “找到 Neal Stephenson 的所有著作” 这样的命令,然后编写对特定数据存储 ...
DOM基础
在开始使用 DOM 之前,了解它实际表示什么是值得的。DOM Document 是以层次结构组织起来的节点,或信息片段,的集合。这种层次结构允许开发者浏览树来查找特定信息。通常,分析结构需要在完成任何工作之前装入整个 ...
什么是 SAX
读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。
一种替代方法是使用 Simple API for XML 或 SAX。SAX 允许正在读取文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容。
SAX 是由 XML-DEV 邮件列表的成员开发的,Java 版本由 David Megginson 维护。他们的目的是提供一种更自然的方法来使用 XML,这种方法不会涉及到使用 DOM 的那种开销。
结果是基于事件的 API。解析器将事件(譬如,元素的 ...
Parser基础
一个 XML Parser(解析器)是一段可以读入一个文档并分析其结构的代码。
在本章节,我们将讨论如何使用一个 XML 解析器来读入一个 XML 文档。我们也将讨论不同类型的解析器以及您在何时使用它们。
回页首
如何使 ...
什么是XML Schema
XML Schema如同DTD一样是负责定义和描述XML文档的结构和内容模式。它可以定义XML文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。
XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
回页首
为什么要使用Schema
我们前面已经使用DTD来定义一个XML的结构和数据类型,那为什么还要Schema呢?
因DTD有着不少缺陷:
1) DTD是基于正则表达式的,描述能力有限; 2) DTD没有数据类型的支持,在大多数应用环境下能力不足; 3) DTD的约束定义能力不足, ...
用XPath精确定位节点元素
在利用XSL进行转换的过程中,匹配的概念非常重要。在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select = "" 中,用引号括起来的部分必须能够精确地定位节点。具体的 ...
什么是样式单
对于一批XML数据,应用处理程序要综合XML文档、文档类型说明(Dtd/Schema)以及样式单三方面要素来处理和显示它。
在XML文档中只包含了数据信息,并没有涉及文档如何显示。不错,制定XML标准的目的是要使数据 ...