JAVA设计模式之 访问者模式【Visitor Pattern】

一、概述访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。在使用访问者模式时,被访问元素通常不是单独存在的,它们存储在一个集合中,这个集合被称为“对象结构”,访问者通过遍历对象结构实现对其中存储的元素的逐个操作。访问者模式是一种对象行为型模式。二、适用场景当有多种类型的访问者(或是操作...
设计模式

java 日期转化

关于日期转化的 文章很多.我只要讲讲我遇到的一些与日期转化有关的问题.大约1年前,我遇到过一个很令人郁闷又费解的问题.项目使用的是struts2框架,表单中有日期,提交表单时总是报错,说日期转化有问题,没能马上找到原因.过了很长时间,才搞清楚关键之所在,有一个日期格式是: yyyy-MM-dd T HH:mm:ss .日期和时间之间使用 T 分割,而不是采用我们熟知的 空格 来分割. yyyy-...
java 日期转化

中国天气预报数据API收集

想做天气APP,数据只能从别的地方接入了,以前Google的API不错,不过人家关了都不带告诉你,关了就关了,既不事先通知,事后也不发表声明!雅虎的以前还可以,现在的数据原来越少,越来越没用,所以,只能依靠天朝。本文章只供测试,如果有商业应用,请申请正规的API接口,因使用接口引起的商业纠纷与本人无关涨姿势:1.中央气象台:全国预报、气候预测、气候变化研究、气象信息收集分发服务的国家中心。2.中国...
API收集 天气预报

dreamvc框架(一)ioc容器的集成

我的dreamvc框架终于写得差不多了,借鉴了很多开源框架,SpringMVC、Struts2等,目前放在github上面。写得差不多了,是要写一个总结,把自己当时的思路记录下来!还有更多的工作要做!(一)首先,IOC容器作为管理bean的重要工具,我们在日常的开发当中经常用到,最常用的就属SPRINGIOC了吧!当然,如果开发者不原理是用SPRINGIOC,那么你可以实现自己的容器,或者是用其他...
ioc容器 dreamvc框架

java Map 之 排序(key,value)

一:起因:(1)现实中需要Map容器进行排序的情况很多很多:因为Mapkey,value键值对的存储结构特别是HashMap的结构是非常优秀的,数据存储就难免对其进行排序;(2)数据处理,只要用到映射关系的,离不开Map,这在数据处理中是非常实用的,而排序是对数据的进一步处理;(3)Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by val...
java Java Map

SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)

SpringMVC中配置URL拦截,非常简单。网上找个示例,就能通过。但是,在我做了好几个Web项目,又参与了别人主导的Web项目时,发现URL配置也非常有学问。1. 先说说一种比较常见的:servlet servlet-nametheDispatcher/servlet-name servlet-classorg.springframework.web.servlet.Dispatc...
SpringMVC 路由配置

EffectiveJava--枚举和注解

1. 用enum代替int常量枚举类型是指由一组固定的常量组成合法值的类型,该特征是在Java 1.5 中开始被支持的,之前的Java代码都是通过“公有静态常量域字段”的方法来简单模拟枚举的,如:publicstaticfinalintAPPLE_FUJI=0; publicstaticfinalintAPPLE_PIPPIN=1; publicstaticfinalintAPPLE_GRAN...
Effective 枚举

Java 浮点数 float或double类型的表示范围和精度

隐约记得,浮点数判断大小好像有陷阱,因为底层的二进制数不能精确表示所有的小数。有时候会产生让人觉得莫名其妙的事情。如在java中,0.99999999f==1f //true0.9f==1f //false要明白这些,首先要搞清楚float和double在内存结构1、内存结构float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:f...
浮点数

c# cs方式操作数据库 非使用sql连接字符串直接连接数据库

.net 底层数据库传输程序分为服务器端与客户端此程序作用有:1.解决直连数据库有相当大的安全隐串。2.大广域网使用时,大数据的查询相当的时候是耗在网速传输,这个解决了大数据量传输的问题。大数据量进行压缩可以 提高速度7~40倍。3.由于此框架底层使用tcp作为连接,可以发即时消息。实时传文件。可以作为,程序提交表单,时时提醒功能。4.兼容三层框架。三层框架程序几乎不需要改动就可以直接使用。服务器...
sql连接字符串 C#

如何编写高效android代码

基于Android相关设备作为嵌入式设备范畴,在书写App应用的时候要格外关注效率,并且受电池电量的限制。这就导致嵌入式设备有诸多考虑、有限处理能力,因此就要求我们尽量去写高效的代码。本文讨论了很多能让开发者使他们的程序运行更有效的方法,遵照这些方法,你可以使你的程序发挥最大的效力。引言对于占用资源的系统,有两条基本原则:不要做不必要的事不要分配不必要的内存所有下面的内容都遵照这两个原则。1、避免...
android开发