自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (2)
  • 收藏
  • 关注

讨论:单例和静态方法的深入讨论

常在论坛上看见一些有关单例模式、静态类、静态方法缺点的讨论,说得最多的无非是使用static,破坏了面向对象的多态性,建议除非确定了该对象不会被扩展,否则不要使用单例模式、静态方法等。其中,举例最多的是:[b]辅助类可采用单例、静态方法[/b]。 确实,我在开发中,看见的基本都是如此。但我一直有点疑问,今天在这提出,希望JE上兄弟讨论下: 辅助类使用静态方法就...

2011-01-08 11:45:34 138

TCP/IP 、HTTP和SOCKET

TCP/IP协议概念 TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。 TCP/IP的分层 应用层:计算机应用程...

2010-12-18 09:39:26 173

事务隔离级别详解

      事务的四种隔离级别     大多数事务系统使用的SQL标准中定义了四种隔离级别:可串行化、不可重复都、读已提交和读未提交。我们通过下面的这个例子来对这四种隔离级别进行详细的说明。  场景:假如资源库里有两个包,分别是加锁包和多步提交包,其中加锁包中的文件个数是7个,而多步提交包中的文件个数是5个。现在Martin将要统计资源目录中的所有包的个数,而同时,David要...

2010-12-13 20:23:48 153

原创 设计模式之Visitor模式的应用(二)

1、 回顾在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介绍了设计模式的意图、动机在我们程序重构过程中的指导作用。现在,我们将关注设计模式的另一个重要方面:设计模式的适用性。解决同一个问题一般会有多种方案或者模式,但是这些模式所关注的是同一个问题的不同方面,解决不同的需求,有各自的优点和限制,各有各的解决之道。这就要求我们在选择设计模式时,对我们自己的问题有很好的理解...

2010-12-01 11:43:37 132

原创 设计模式之Visitor模式的应用(一)

1、介绍在进行项目的开发活动中,有一些设计在项目刚刚开始工作的很好,但是随着项目的进展,发现需要对已有的代码进行修改或者扩展,导致这样做的原因主要有:新的功能需求的需要以及对系统进一步理解。在这个时候,我们往往会发现进行这项工作比较困难,即使能完成也要付出很大的代价。此时,一个必须要做的工作就是要对现有的代码进行重构(refactoring),通过重构使得我们接下来的工作变得相对容易。重构...

2010-12-01 11:42:33 486

原创 XML教程——XML四种解析器的比较

1: DOM  DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。  首先,由于树在内存中是持久的,因此可以...

2010-11-26 14:21:04 109

原创 XML教程——JAXP详解(二)

在 JAXP 的早期版本中,该首字母缩写代表 Java API for XML Parsing。在 第 1 部分 中了解到,JAXP 是位于 SAX 和 DOM 之上的层,它允许 Java 程序员执行开发商中立的 XML 解析。最初,这是 JAXP 的全部特性。不过俗话说的好,过去是过去,现在是现在。过去,Java 和 XML 组合本身主要用于解析。Java 应用程序只需读入 XML 文档,然...

2010-11-25 19:54:02 168

原创 XML教程——JAXP详解(一)

Java 技术和 XML 无疑是最近五年来最重要的编程开发工具。因此,用于在 Java 语言中处理 XML 的 API 就发展起来了。两个最流行的 —— 文档对象模型 (DOM) 和 Simple API for XML (SAX) —— 已经产生巨大的影响,JDOM 和数据绑定 API 也随之产生了(参阅 参考资料)。彻底理解其中一个或两个 API 是非常必要的;正确使用全部 API 会让您成为...

2010-11-25 19:52:35 281

原创 XML教程——XPath实例详解

如果要告诉别人买一加仑牛奶,您会怎么说?“请去买一加仑牛奶回来” 还是 “从前门出去,向左转,走三个街区向右转,再走半个街区向右转进入商店。走向四号通道,沿通道走五米向左,拿一瓶一加仑装的牛奶然后到收银台付款。再沿原路回家。” 简直太可笑了。只要在 “请去买一加仑牛奶回来” 的基础上稍加指示,多数成人都能自己买回牛奶来。 查询语言和计算机搜索与此类似。直接说 “找一个 Cryptonomico...

2010-11-25 19:43:49 154

原创 XML教程——采用DOM来解析XML

DOM基础在开始使用 DOM 之前,了解它实际表示什么是值得的。DOM Document 是以层次结构组织起来的节点,或信息片段,的集合。这种层次结构允许开发者浏览树来查找特定信息。通常,分析结构需要在完成任何工作之前装入整个文档并且装入层次结构。由于 DOM 是基于信息的层次结构,因此它被称为是基于树的。对于极其大的文档,装入整个文档并对该文档进行解析会很慢且占用大量资源,所以要用其...

2010-11-25 15:35:35 116

原创 XML教程——采用SAX来解析XML

什么是 SAX读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。一种替代方法是使用 Simple API for XML 或 SAX。SAX 允许正在读取文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容。SAX 是由 XML-DEV 邮件列表的成员开发的,J...

2010-11-25 15:33:15 89

原创 XML教程——XML解析器

Parser基础一个 XML Parser(解析器)是一段可以读入一个文档并分析其结构的代码。在本章节,我们将讨论如何使用一个 XML 解析器来读入一个 XML 文档。我们也将讨论不同类型的解析器以及您在何时使用它们。回页首如何使用一个解析器通常而言,使用一个解析器需要如下步骤:创建一个解析器对象将您的 XML 文档传递给解析器处理结果构建一个 X...

2010-11-25 15:30:35 156

原创 XML教程——XML Schema

什么是XML SchemaXML Schema如同DTD一样是负责定义和描述XML文档的结构和内容模式。它可以定义XML文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。回页首为什么要使用Schema我们前面已经使用DTD来定义一个XML的结构和数据类型...

2010-11-25 10:22:11 149

原创 XML教程——XPath

用XPath精确定位节点元素在利用XSL进行转换的过程中,匹配的概念非常重要。在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select = "" 中,用引号括起来的部分必须能够精确地定位节点。具体的定位方法则在XPath中给出。之所以要在XSL中引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某...

2010-11-25 10:01:30 139

原创 XML教程——XSL样式

什么是样式单对于一批XML数据,应用处理程序要综合XML文档、文档类型说明(Dtd/Schema)以及样式单三方面要素来处理和显示它。在XML文档中只包含了数据信息,并没有涉及文档如何显示。不错,制定XML标准的目的是要使数据结构化,赋予其明确的语意,使之易于进行数据交换。XML早已不再把目光局限在文字图象的显示上,而是要建立它们之间的内在关系。可以说,XML文档本身是重内容而不重形式。...

2010-11-24 20:46:34 1807

原创 XML教程——命名空间

为何引入名称空间?XML的用途不是单一的。虽然读者可能看到编写只使用一个标记符号集的文档是相当有用的。但是,问题是,当混杂和匹配不同的XML应用程序的标记时,可能会发现同一个标记已用于两个不同对象。TITLE是指页标题还是书的标题?ADDRESS是指公司的邮件地址还是Web站点管理人员的电子邮件地址?名称空间(namespace)可以解决这些诸如此类的问题,它是将URI与各标记集相关联,并...

2010-11-24 20:34:43 136

原创 XML教程——DTD

内部Dtd一个“有效的”文件首先应该是“形式良好”的。但这还远远不够,它还要往前更进一步。一个XML文件必须遵守文件类型描述Dtd(Document Type Definition)中定义的种种规定。所有的文件都是由序言和文件体构成的。序言中包含了XML声明,在序言中还可以包含Dtd定义。最简单的使用Dtd的方法是在XML文件的序言部分加入一个Dtd描述,加入的位置是紧接在XML处理指示之...

2010-11-24 20:29:21 171

原创 XML教程——XML简介

什么是XMLXML即为可扩展的标记语言(eXtensible Markup Language)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。XML是标记语言。理解XML,首先要理解标记。先说说HTML的标记(Markup),通俗地讲,它就是一种用来给文本添加标记的语言。在HTML里每个标志都是有确切含义的。例如,在HTML 中,标签〈B〉的含义是要求HT...

2010-11-24 20:22:43 218

深入JVM——栈和局部变量

     java栈概述        记得当初我学习java时,常常听见身边的朋友说:“你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的”。当时,听到这句教导时,脑海里立即出现栈的模型——里面存的仅仅是个引用。最近,看了下《深入JVM》,才发现,原来栈并不是我想象的那么简单,它和我想象中的那个栈的结构差别非常大。     每当启用一个线程时,JVM就为他分配一...

2010-09-30 13:49:03 138

七宗罪之嫉妒

   嫉妒是什么     七宗罪中,嫉妒位于骄傲与暴怒之间,但不像贪欲、淫欲、暴食或懒惰这些恶习,后者多多少少都带着点诱惑,可以让投入其中者感受到一点放纵的愉悦——也许这是诱惑我们犯罪的理由。嫉妒这种恶习,带给人的只有痛苦。     嫉妒也许是人的天性。嫉妒并非人类独有。给一只猴子一块黄瓜,它会显得格外高兴;此时,再给它另一位同伴一粒葡萄。显然,一只猴子看来,葡萄比黄瓜好得多。于是...

2010-09-28 12:01:53 1073

深入JVM——垃圾收集器(二)

上篇文章主要描述了一下垃圾收集器的收集方式以及收集器的种类。如果对垃圾收集器还不是很了解的朋友可以去网上搜索下资料看看,或直接看《深入JVM》,如果觉得麻烦,可以看看我上篇blog。地址是: http://xtu-tja-163-com.iteye.com/blog/771401    使用垃圾收集器要注意的地方 下面将提出一些有关垃圾收集器要注意的地方和一些面试题的分析。垃圾...

2010-09-25 19:41:20 93

深入JVM——垃圾收集器(一)

 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。 引用计数收集器 引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引...

2010-09-25 18:58:33 81

你适合学习java吗

     最近看了许多谈论编程语言的例子,本人也忍不住想发表点看法,这只是本人看法,没有任何针对性,希望观点不同的朋友请勿见怪。      现谈论最多的就是C/C++和java的比较,大致内容是在争论哪门语言更有“钱途”,哪门语言更好等等。关于这些,我不想发表任何评论,也没有资格评论,因为我对C不太了解,也没有C/C++的开发经验。但我也有自己的观点,那就是:没有一门编程语言在所有方面都是最好的,...

2010-09-24 20:08:55 157

深入JVM——类加载器(二)

上篇文章主要分析了类加载器的种类以及加载规则。下面,将主要分析下与加载器有关的[b]java程序动态扩展[/b]。 这篇文章只挑了类加载器的一个问题来分析,如果要想了解类加载器的一些常见问题以及自定义类加载要注意的一些细节,可以参考我的上篇文章: [url]http://xtu-tja-163-com.iteye.com/blog/770401[/url]...

2010-09-24 15:46:43 73

深入JVM——类加载器(一)

在类生命周期里面分析过,类首先要被加载,形成一个Class实例,然后进行动态连接,然后进行初始化、实例化等,最后在类型不可触及时,被卸载收集。然而类是被什么加载到JVM内存里的呢?当然是类加载器。下面,详细分析下类加载器。文章参考:[url]http://weiwu83.iteye.com/blog/141207[/url] (这位同学排版且整理的比较乱,我重新整理下)...

2010-09-24 14:38:16 89

深入JVM——常量池

[size=medium] 上面主要分析了方法区以及方法区中的静态区域,下面将主要分析下常量池。常量池主要涉及到常量池里的内容和常量池解析这两块,这篇文章主要分析下常量池概念,大致说下常量池解析,以加深对常量池的理解。 在方法区中,每个类型都对应一个常量池,常量池中存储了诸如[color=blue]文字字符串、final变量值、类名和方法名常量[/color]。JVM把常量池...

2010-09-23 19:12:32 98

深入JVM——方法区

[size=medium] 当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例。上面是对类的装载过程作了个简单的描述,看了上面一段文字,也许你会问:方法区是什么?里面存了哪些内容?下面我们将对方法区作一个详细的描述。 [b]方法区是什么?有...

2010-09-23 19:03:22 414

深入JVM——类型的生命周期(二)

[size=medium]上篇文章已经说了类型生命周期中的装载及连接过程,下面将主要描述下初始化过程。 首先要搞清楚初始化和实例化之间的区别:实例化是根据指定类型,在堆中生成一个实例对象,而初始化则不是,它所作的处理主要是为类变量赋予初始值,这里所说的初始值是相对于连接准备阶段的默认值而言的。 注意类变量和对象变量的区别:类变量是指类的静态变量或静态块,初...

2010-09-21 18:36:50 94

深入JVM——类型的生命周期(一)

[size=medium]类型:类的描述信息,如此类有哪些局部变量、方法以及它的父类是什么等类型存储地址:内存中的方法区[/size][b][size=medium]类型的生命周期的简单描述[/size][/b][size=medium]类型生命周期过程: 装载——>连接——>初始化——>卸载装载:把二进制的java类型(class文件)读入到java虚拟机中连接:把读...

2010-09-21 16:40:11 73

面试题讨论(一)

     首先,请JE上的高手、老鸟们原谅我把这道题拿出来讨论,也许,这题对你们来说只是小菜一碟,我却是觉得这种题目比较少见,我也不太清楚。但是,我想拿出来与大家分享下,讨论讨论,希望能挖掘出它的原理,让不清楚的小鸟们长长见识,当然也包括我,呵呵!            这是一道用友的面试题。题目是:请优化下面代码,并给出原因:          for(int...

2010-09-13 17:59:41 104

我的用友面试经历及教训

[size=medium] 上周星期二接到用友面试电话,应聘信贷方面的java开发工程师,答应星期四去面试。当时,打开地图一看,我靠,so far! 没打算去了,没想到到星期四,用友人力资源那个MM又打来电话问我为什么没去?我说了下公司离我家太远了什么的。没想到这MM挺热情的,说这个不用担心,用友有专车到我家什么的,最后又给我约个时间去面试。我琢磨了一下,哎,有戏! 看来用友真的要人啊,...

2010-09-13 17:44:53 7908

当优势不再是优势时,你能接受吗

什么事情都有两面性,坚持过头就是固执,天真过头就是傻子。优势也不另外,它有可能成为促使你痛苦的凶手。 也许你成绩优异,考试重点大学没有问题,但是你有色盲,很多专业都不能读,此时成绩优异对你而言不是优势,而是你心里的痛苦和遗憾。 也许你是一个优秀的舞蹈演员,作为领舞准备参加某届奥运会的开幕式,可是奥运会开幕前,你的脚扭伤了,不能再参加奥运会开幕式了,此...

2010-09-10 20:37:54 249

空空如也

HTTP缓存问题

2010-11-11

垃圾收集问题

2010-09-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除