自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SunnyMarkLiu

悟已往之不谏 知来者之可追

转载 HashMap的使用和遍历

【遍历方法一】 [java] view plaincopy for(Map.Entry entry : hashmap.entrySet()){      System.out.println("Key="+entry.ge...

2015-04-30 18:30:31

阅读数 638

评论数 0

转载 外观模式(三):抽象外观类,外观模式效果与适用场景

4. 抽象外观类       在标准的外观模式结构图中,如果需要增加、删除或更换与外观类交互的子系统类,必须修改外观类或客户端的源代码,这将违背开闭原则,因此可以通过引入抽象外观类来对系统进行改进,在一定程度上可以解决该问题。在引入抽象外观类之后,客户端可以针对抽象外观类进行编程,对于新...

2015-04-28 21:35:54

阅读数 757

评论数 0

转载 外观模式(二):外观模式应用实例(文件加密模块)

3. 外观模式应用实例        下面通过一个应用实例来进一步学习和理解外观模式。          1. 实例说明        某软件公司欲开发一个可应用于多个软件的文件加密模块,该模块可以对文件中的数据进行加密并将加密之后的数据存储在一个新文件中,...

2015-04-28 20:57:50

阅读数 1377

评论数 0

转载 外观模式(一):外观模式概述,外观模式结构与实现

外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。   1. 外观模式概述       不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自...

2015-04-28 11:03:00

阅读数 1513

评论数 0

转载 Java并发编程:线程池的使用

Java并发编程:线程池的使用   在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:   如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。   ...

2015-04-23 10:18:35

阅读数 369

评论数 0

转载 Java反射机制

一、什么是反射机制?为什么要用反射机制? 所谓Java反射机制是指,程序在运行状态时,可以加载一个运行时才得知名称的class,能够知道这个类的所有属性和方法,并生成其对象实体、或对其fields设值、或调用其方法;即利用反射技术,根据一个类名称,可以得到该类的构造方法、属性、方法等信息,并创建...

2015-04-22 15:19:26

阅读数 439

评论数 0

转载 9本Java程序员必读的书

9本Java程序员必读的书   本文列出的9本书在Java程序员界都是被认为很棒的书。当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java。这个问题也就表明,相对于其他的教程和博客,Java书籍还是很重要的参考,主要表现在以下两点:   ●通常书籍是...

2015-04-22 10:29:30

阅读数 994

评论数 0

转载 免费的计算机编程类中文书籍

免费的编程中文书籍索引,欢迎投稿。 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版github 上的一个流行的编程书籍索引 中文版 参与交流 欢迎大家将珍藏已久的经典免费书籍共享出来,您可以...

2015-04-21 15:12:38

阅读数 1145

评论数 0

转载 jsoup源码阅读

最近做网页分析时接触了一些 包括jsoup在内开源工具。 今天有时间读了下jsoup的源码,记录一下心得。   【特色】 作为html 解析工具,jsoup 出现的时间远不如大名鼎鼎的HttpClient。但是他有一些不错的特色:   1.实现了CSS选择器语法,有了这个页面内容提取真不...

2015-04-21 12:41:28

阅读数 1837

评论数 0

转载 jsoup中文参考文档资料

jsoup中文参考文档资料http://www.open-open.com/jsoup/parsing-a-document.htm

2015-04-21 10:25:23

阅读数 755

评论数 0

转载 使用选择器语法来查找元素

问题 你想使用类似于CSS或jQuery的语法来查找和操作元素。 方法 可以使用Element.select(String selector) 和 Elements.select(String selector) 方法实现: File input = new File(...

2015-04-21 09:53:19

阅读数 588

评论数 0

转载 抽象工厂模式(五):“开闭原则”的倾斜性,抽象工厂模式总结

5 “开闭原则”的倾斜性        Sunny公司使用抽象工厂模式设计了界面皮肤库,该皮肤库可以较为方便地增加新的皮肤,但是现在遇到一个非常严重的问题:由于设计时考虑不全面,忘记为单选按钮(RadioButton)提供不同皮肤的风格化显示,导致无论选择哪种皮肤,单选按钮都显得那么“格格不...

2015-04-19 21:42:20

阅读数 1898

评论数 0

转载 抽象工厂模式(四):界面皮肤库的抽象工厂模式解决方案

4 完整解决方案        Sunny公司开发人员使用抽象工厂模式来重构界面皮肤库的设计,其基本结构如图6所示: 图6 界面皮肤库结构图        在图6中,SkinFactory接口充当抽象工厂,其子类SpringSkinFactory和SummerSkinFactory充当具...

2015-04-19 21:19:48

阅读数 1172

评论数 0

转载 抽象工厂模式(三):抽象工厂模式概述

3 抽象工厂模式概述        抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品。抽象工厂模式定义如下:        抽象工厂模式(Abstract Factory Patte...

2015-04-19 20:49:57

阅读数 616

评论数 0

转载 抽象工厂模式(二):产品等级结构与产品族

2 产品等级结构与产品族        在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法具有唯一性,一般情况下,一个具体工厂中只有一个或者一组重载的工厂方法。但是有时候我们希望一个工厂可以提供多个产品对象,而不是单一的产品对象,如一个电器工厂,它可以生产电...

2015-04-19 20:21:09

阅读数 5450

评论数 1

转载 抽象工厂模式(一):界面皮肤库的初始设计

工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本...

2015-04-19 20:09:43

阅读数 1644

评论数 0

转载 Linux下DHCP服务器(CentOS系统)安装和配置详解

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是进行ip地址等网络信息集中管理的服务。在局域网内部构建一台Linux主机作为DHCP服务器,并且设置其他的主机都从DHCP服务器获得主机的网络信息,这样既可以大大简化系统管理员对所有主机逐一进行网...

2015-04-18 18:34:24

阅读数 11179

评论数 0

转载 工厂方法模式(四)

5 重载的工厂方法        Sunny公司开发人员通过进一步分析,发现可以通过多种方式来初始化日志记录器,例如可以为各种日志记录器提供默认实现;还可以为数据库日志记录器提供数据库连接字符串,为文件日志记录器提供文件路径;也可以将参数封装在一个Object类型的对象中,通过Object对...

2015-04-17 16:23:47

阅读数 624

评论数 0

转载 创建对象与使用对象——谈谈工厂的作用

在设计模式的教学和推广过程中,很多企业学员和在校学生经常问我,工厂模式(包括简单工厂模式、工厂方法模式和抽象工厂模式)到底有什么用,很多时候通过反射机制就可以很灵活地创建对象,为毛还要工厂?,在本文中我将围绕创建对象和使用对象来简单谈谈工厂的作用。       与一个对象相关的职责通常有三类:对...

2015-04-17 16:17:30

阅读数 617

评论数 0

转载 工厂方法模式(三):日志记录器的工厂方法模式解决方案,反射与配置文件

3 完整解决方案         Sunny公司开发人员决定使用工厂方法模式来设计日志记录器,其基本结构如图3所示: 图3 日志记录器结构图        在图3中,Logger接口充当抽象产品,其子类FileLogger和DatabaseLogger充当具体产品,LoggerFacto...

2015-04-17 15:25:17

阅读数 1702

评论数 1

转载 工厂方法模式(二):工厂方法模式概述

2 工厂方法模式概述        在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原...

2015-04-17 14:55:49

阅读数 485

评论数 0

转载 工厂方法模式(一):日志记录器的设计

简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。   1 日...

2015-04-17 14:18:48

阅读数 2304

评论数 0

转载 XPath 语法总结

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。 因此,对 XPath 的理解是很多高级 XM...

2015-04-14 16:23:39

阅读数 948

评论数 0

转载 使用DOM4J解析大容量XML文件

dom4j本身提供了两种解析xml的方式:dom解析和sax解析。关于dom解析和sax解析各自的优缺点这里不再多述,只强调的一点是由于越来越多的应用会遇到大数据场景,SAX解析方式刚好是解决此类场景的完美方案,因此“DOM4J解析大数据的方案”就是"如何利用SAX方式解析大数据的方案&...

2015-04-14 13:19:11

阅读数 4866

评论数 0

转载 使用Dom4j操作XML总结2

使用Dom4j操作XML Dom4j也可以很方便完成XML文档的创建、元素的修改、文档的查询遍历等,但dom4j稍比jdom复杂一点,不过在大片文档的情况下dom4j的性能要不jdom好。 # 准备 首先,提供相关的jar包 Dom4j jar包下载: http://sourceforge.n...

2015-04-14 13:18:48

阅读数 725

评论数 0

转载 使用Dom4j解析XML

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.        对主流的Java XML AP...

2015-04-14 10:42:03

阅读数 534

评论数 0

转载 java解析xml文件的四种方式

1)DOM(JAXP Crimson解析器)  DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准(org.w3c.dom)。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由...

2015-04-13 14:52:07

阅读数 766

评论数 0

转载 简单工厂模式(四)

4 方案的改进        Sunny软件公司开发人员发现在创建具体Chart对象时,每更换一个Chart对象都需要修改客户端代码中静态工厂方法的参数,客户端代码将要重新编译,这对于客户端而言,违反了“开闭原则”,有没有一种方法能够在不修改客户端代码的前提下更换具体产品对象呢?答案是肯定的...

2015-04-12 21:46:41

阅读数 484

评论数 0

转载 简单工厂模式(三)

3 完整解决方案        为了将Chart类的职责分离,同时将Chart对象的创建和使用分离,Sunny软件公司开发人员决定使用简单工厂模式对图表库进行重构,重构后的结构如图2所示: 图2 图表库结构图        在图2中,Chart接口(实际开发一般选择抽象类...

2015-04-12 21:33:58

阅读数 590

评论数 0

转载 简单工厂模式(二)

2 简单工厂模式概述        简单工厂模式并不属于GoF 23个经典设计模式,但通常将它作为学习其他工厂模式的基础,它的设计思想很简单,其基本流程如下:        首先将需要创建的各种不同对象(例如各种不同的Chart对象)的相关代码封装到不同的类中,这些类称为具体产品类,而...

2015-04-12 21:08:45

阅读数 408

评论数 0

转载 简单工厂模式(一)

工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。本章将要学习的简单工厂模式是工厂方法模式的“小弟”,它不属于GoF 23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的入门。此外,工厂方法模式还有一位“大哥”—...

2015-04-12 21:00:21

阅读数 650

评论数 0

转载 Visual Representation of SQL Joins

Introduction This is just a simple article visually explaining SQL JOINs. Using the code I am going to discuss seven different ways you can ...

2015-04-12 20:00:17

阅读数 447

评论数 0

转载 Mysql中where与having的区别

1. Where 是一个约束声明,使用Where约束来自数据库的数据,Where是在结果返回之前起作用的,Where中不能使用聚合函数。 2. Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。在查询过程中聚合语句(sum,min,ma...

2015-04-12 19:23:45

阅读数 1667

评论数 0

转载 Servlet 3.0 新特性概述(3.1待总结)

Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得...

2015-04-11 19:39:27

阅读数 693

评论数 0

原创 Servlet3.1使用@WebServlet注解配置问题记录

@WebServlet  该注解用于在Web应用中定义Servlet组件。该注解在一个类上指定并包含声明Servlet的元数据。必须指 定注解的urlPatterns或value属性。所有其他属性是可选的默认设置(请参考javadoc获取更多细节)。当注 解上唯一属性是url模式时推荐使用valu...

2015-04-11 19:08:27

阅读数 3611

评论数 0

转载 HTTP请求格式和http响应格式

当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成: l   请求方法URI协议/版本 l   请求头(Request Header) l   请求正文 下面是一个HTTP请求的例子: GET/sample.jspHTTP/1....

2015-04-11 13:39:24

阅读数 577

评论数 0

转载 单例模式(5)- Java单例对象同步问题深入探讨

原文地址:http://www.ibm.com/developerworks/cn/java/l-singleton/#icomments 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特点...

2015-04-10 15:23:53

阅读数 534

评论数 0

转载 JVM类加载-从ClassLoader源码看双亲委托模型

其实JVM类加载机制,简单地说就是类管理,也就是我们生成的class文件。 三个步骤:装载(load)、链接(link)、解析(Resolve)、还有初始化(Initialize) 关于网上有很多讲解加载的方式,和调用的方式,还是几个基本的classLoader,这里就不在多描述了。 这里更...

2015-04-10 14:53:04

阅读数 1549

评论数 0

转载 单例模式总结

6 单例模式总结        单例模式作为一种目标明确、结构简单、理解容易的设计模式,在软件开发中使用频率相当高,在很多应用软件和框架中都得以广泛应用。   1.主要优点        单例模式的主要优点如下:        (1) 单例模式提供了对唯一实例的受控访...

2015-04-09 21:30:36

阅读数 556

评论数 0

转载 单例模式(4)- 一种更好的单例实现方法

5 一种更好的单例实现方法        饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存;懒汉式单例类线程安全控制烦琐,而且性能受影响。可见,无论是饿汉式单例还是懒汉式单例都存在这样那样的问题,有没有一种方法,能够将两种单例的缺点都克服,而将两者的优点合二为一呢?答案是:Yes!下面我...

2015-04-09 21:17:55

阅读数 673

评论数 0

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