JAVA设计模式之 访问者模式【Visitor Pattern】
一、概述访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。在使用访问者模式时,被访问元素通常不是单独存在的,它们存储在一个集合中,这个集合被称为“对象结构”,访问者通过遍历对象结构实现对其中存储的元素的逐个操作。访问者模式是一种对象行为型模式。二、适用场景当有多种类型的访问者(或是操作...
Java 浮点数 float或double类型的表示范围和精度
隐约记得,浮点数判断大小好像有陷阱,因为底层的二进制数不能精确表示所有的小数。有时候会产生让人觉得莫名其妙的事情。如在java中,0.99999999f==1f //true0.9f==1f //false要明白这些,首先要搞清楚float和double在内存结构1、内存结构float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:f...
如何编写高效android代码
基于Android相关设备作为嵌入式设备范畴,在书写App应用的时候要格外关注效率,并且受电池电量的限制。这就导致嵌入式设备有诸多考虑、有限处理能力,因此就要求我们尽量去写高效的代码。本文讨论了很多能让开发者使他们的程序运行更有效的方法,遵照这些方法,你可以使你的程序发挥最大的效力。引言对于占用资源的系统,有两条基本原则:不要做不必要的事不要分配不必要的内存所有下面的内容都遵照这两个原则。1、避免...