`

Java 常用API的运用,效率及技巧十一

    博客分类:
  • java
 
阅读更多

常用设计模式

1Singleton模式

Singleton模式主要作用是保证在Java应用程序中,一个Class只有一个实例存在。一般有两种方法:

Ø  定义一个类,它的构造函数为private的,所有方法为static的。其他类对它的引用全部是通过类名直接引用。例如:

private SingleClass() {}

public static String getMethod1() {}

public static ArrayList getMethod2() {}

Ø  定义一个类,它的构造函数为private的,它有一个staticprivate的该类变量,通过一个publicgetInstance方法获取对它的引用,继而调用其中的方法。例如:

private staitc SingleClass _instance = null;

private SingleClass() {}

public static SingleClass getInstance() {
    if (_instance == null) {
    		_instance = new SingleClass();
    }
    return _instance;
}

public String getMethod1() {}
public ArrayList getMethod2() {}

 

 

// 1. Abstract Factory模式
SAXParserFactory spf = SAXParserFactory.newInstance();
String validation = System.getProperty (
"javax.xml.parsers.validation", "false");
if (validation.equalsIgnoreCase("true")) {
	spf.setValidating (true);
}

// 2. Factory模式
SAXParser sp = spf.newSAXParser();
parser = sp.getParser();
parser.setDocumentHandler(this);
parser.parse (uri);

  

1. SAXParserFactory中的静态方法newInstance()根据系统属性javax.xml.parsers.SAXParserFactory不同的值生成不同的SAXParserFactory对象spf。然后SAXParserFactory对象又利用方法newSAXParser()生成SAXParser对象。

注意:

SAXParserFactory 的定义为:

public abstract class SAXParserFactory extends java.lang.Object

SAXParserFactoryImpl 的定义为:

public static SAXParserFactory newInstance() {
	String factoryImplName = null;

	try {
		factoryImplName =
		System.getProperty("javax.xml.parsers.SAXParserFactory",
				"com.sun.xml.parser.SAXParserFactoryImpl");
	} catch (SecurityException se) {
		factoryImplName = "com.sun.xml.parser.SAXParserFactoryImpl";
	}

	SAXParserFactory factoryImpl;

	try {
		Class clazz = Class.forName(factoryImplName);
		factoryImpl = (SAXParserFactory) clazz.newInstance();
	} catch (ClassNotFoundException cnfe) {
		throw new FactoryConfigurationError(cnfe);
	} catch (IllegalAccessException iae) {
		throw new FactoryConfigurationError(iae);
	} catch (InstantiationException ie) {
		throw new FactoryConfigurationError(ie);
	}

	return factoryImpl;
}

  

2. newSAXParser() 方法在SAXParserFactory定义为抽象方法,

SAXParserFactoryImpl继承了SAXParserFactory,它实现了方法newSAXParser()

public SAXParser newSAXParser() 
throws SAXException, ParserConfigurationException {
	SAXParserImpl saxParserImpl = new SAXParserImpl(this);
	return saxParserImpl;
}

 

注意:

SAXParserImpl的定义为:

public class SAXParserImpl extends javax.xml.parsers.SAXParser

SAXParserImpl的构造函数定义为:

public SAXParserImpl(SAXParserFactory spf) 
throws SAXException, ParserConfigurationException {
	super();
	this.spf = spf;
	if (spf.isValidating ()) {
		parser = new ValidatingParser();
		validating = true;
	} else {
		parser = new Parser();
	}
	if (spf.isNamespaceAware ()) {
		namespaceAware = true;
		throw new ParserConfigurationException(
"Namespace not supported by SAXParser");
	}
}

  

分享到:
评论

相关推荐

    java学习的常用API

    Java学习的常用API是开发者日常编码和学习过程中不可或缺的参考资料,尤其对于初学者,理解并掌握这些API至关重要。本资源集合了多个领域的API文档,包括Struts2、Spring、Hibernate、MySQL、Oracle以及一些基础技术...

    javaapi合集

    对于开发者来说,深入理解和熟练运用Java API是提高编程效率和编写高质量代码的关键。通过阅读JDK_API_1_6_zh_CN.CHM这份中文参考文档,开发者可以详细了解到每个类的功能、方法的使用以及参数的含义,从而更好地...

    java 常用工具类

    以上就是关于"java 常用工具类"的一些关键知识点,了解并熟练运用这些工具类可以显著提高我们的编程效率,减少代码量,同时使得程序更易于理解和维护。通过阅读博文链接中的内容,可以深入学习和掌握更多实用技巧。

    JAVA初学者 第6到第8章(接口,异常,常用)

    在"JAVA初学者 第6到第8章"的学习资料中,你将深入理解这两个主题,并了解一些常用的Java编程技巧。 首先,让我们来探讨接口。在Java中,接口是一种完全抽象的类型,它只包含常量和抽象方法的声明,不包含任何实现...

    Java常用方法大全

    以上仅是Java常用方法的一小部分,实际上Java API包含数千个方法。通过深入学习和实践,你可以掌握更多高效编程技巧,提升自己的编程能力。在实际工作中,结合《Java常用方法大全》这样的参考资料,可以随时查阅和...

    java常用正则表达式(转)

    这篇博客“java常用正则表达式(转)”可能详细介绍了Java如何使用正则表达式进行各种操作。虽然没有具体的描述内容,但我们可以从标题和标签中推测,这篇博客可能涵盖了以下几个方面: 1. **正则表达式基础**: -...

    Java编程模式与范例:基础开发技巧

    10. **标准库和API**:Java的标准库提供了大量预定义的类和方法,如日期时间API、网络编程API、XML处理等,熟悉这些API能极大地提高开发效率。 通过对这些知识点的学习和实践,开发者不仅能掌握Java的基础开发技巧...

    Java程序设计技巧1001例

    "Java程序设计技巧1001例"这个资源显然旨在帮助开发者深入理解和运用这些技巧。以下是一些重要的Java编程技巧,涵盖了基础到高级的各个方面。 1. **异常处理**:在Java中,使用try-catch-finally语句块来处理异常是...

    Java 的常用包与数组的复制与排序26

    在Java编程语言中,了解和熟练使用常用的包以及...理解并熟练运用这些知识,将有助于提升Java编程的效率和质量。在实际开发中,还会涉及到更多高级特性和技巧,如多线程、并发控制、设计模式等,都需要不断学习和实践。

    Java编程技巧.pdf

    在Java编程中,掌握一些高效的编码技巧能显著提升代码质量并减少错误。以下是一些关键的知识点,基于提供的文件内容...在实际开发中,灵活运用这些技巧,不仅可以编写出高质量的代码,还能避免常见错误,提升开发效率。

    JAVA2程序设计实务入门

    这些API的使用是Java编程实践中的常见任务,理解和熟练运用它们能大大提高开发效率。 在描述中提到“实务入门”,这意味着本书不仅会讲解理论知识,还会结合实际案例,提供代码示例和练习,帮助读者将所学知识应用...

    Java常用框架实战教程,包含Activiti,Dubbo

    Java编程语言在IT行业中占有重要地位,而Java开发者在日常工作中常常会接触到各种框架,以提升开发效率和软件质量。本教程重点聚焦于两个著名的Java框架:Activiti和Dubbo,它们分别在业务流程管理和分布式服务领域...

    java程序设计技巧1001例

    在Java程序设计的世界里,掌握各种技巧是提升编程效率和代码质量的关键。"Java程序设计技巧1001例"是一本深入浅出的指南,它涵盖了从基础到高级的各种编程实践,旨在帮助开发者们更好地理解和运用Java语言。在这个...

    Java手机短信项目源码Java实用源码整理learns

    3. **Java框架**:Spring、MyBatis、Hibernate等,是企业级开发中常用的工具,掌握它们可以提高开发效率。 4. **Java最佳实践**:包括代码规范、设计模式、重构技巧等,帮助写出更高质量的代码。 5. **开源社区**...

    Java的常用的正则表达式

    下面我们将深入探讨Java中常用的正则表达式及其应用。 1. **正则表达式基础** - **字符类**:`[]`用于定义一个字符集合,例如`[abc]`匹配'a'、'b'或'c'。 - **量词**:`*`表示零个或多个,`+`表示一个或多个,`?`...

    Java程序设计教程第五版教材(美国)上的例题

    Java程序设计是编程领域中的重要一环,尤其对于初学者来说,掌握其基本概念和实践技巧至关重要。"Java程序设计教程第五版教材(美国)"是一本面向初学者的指南,旨在帮助读者深入理解Java编程语言,并通过实际例题来...

    JAVA范例开发大全

    函数式编程在Java 8之后得到了加强,你可以通过阅读本书了解Lambda表达式、Stream API和方法引用来简化代码,提高代码的可读性和效率。 网络编程也是Java的一大特色,书中可能会涵盖Socket编程,让你学会如何创建...

    Java高阶教程,覆盖JAVA实际使用中的绝大部分知识点.zip

    JUnit是Java常用的单元测试框架,通过编写测试用例确保代码的质量。掌握单元测试的基本原则和技巧,能确保代码的健壮性。 本Java高阶教程全面涵盖了这些主题,每个主题下都有详细的讲解和实例,帮助你进一步提升...

Global site tag (gtag.js) - Google Analytics