- 浏览: 375752 次
- 性别:
- 来自: 北京
最新评论
-
wangchong_kevin:
放在drawable-hdpi目录下的图片,如果在mdpi分辨 ...
BitmapFactory.Options 解决加载大图片OOM -
darren_nizna:
Netty 实战(精髓) http://gitlore. ...
Java NIO框架Netty教程(一) Hello Netty(转) -
大家来学习:
国内首部NIO+Netty5各种RPC架构实战演练课程观看地址 ...
Java NIO框架Netty教程(一) Hello Netty(转) -
lipeixiaoyu:
[color=red][/color]123
IOS UIView的clipsToBounds属性 -
ramon1989:
问一下,你的SimpleChannelHandler是哪个包下 ...
Java NIO框架Netty教程(一) Hello Netty(转)
文章列表
装饰模式(Decorator)
- 博客分类:
- 设计模式
装饰模式又名包装模式,是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。举个例子,比如有一个车(Vehicle)对象, 现在提倡环保,车可以烧各种燃料,如电、天然气、柴油、汽油、氢气等,也可以烧几种燃料的组合,如果氢气和柴油,汽油和电等。如果这样使用继承,就会有很多的子类。这时可以使用装饰模式。
主要角色:
接口或者抽象基类:所有类的统一接口或父类
被装饰对象:被装饰者。
装饰角色:所有装饰类的父类。
具体装饰
采用继承类图:
采用装饰模式类图:
示例代码:
接口:
package com.dp ...
适配器模式 (Adapter pattern)[GOF95] 是把一个类的接口换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能在一起工作。适配器主要有两种,一种使类的适配器,另一种使对象的适配器。
此模式涉及的角色:
目标角色(Target):客户端所期待的接口(笔记本所期待的电压)。
源角色(Adaptee):需要失配的接口(也就是客户端想使用这个功能,但是接口不对。如220v的电压)
适配器(Adapter):你们中间加上我就可以“联通”了。haha...
1.类的适配器---主要使用继承来把类、接口等组合到一起,使其符合目标接口,类 ...
当今最给力的话:
1.每个月总有那么三十几天不想上班!
2.我用一麻袋的钱上大学,换了一麻袋书;毕业了,用这些书换钱,却买不起一个麻袋!
3.给自己个英文名,叫压力山大。
4.自从得了神经病,整个人精神多了
5.旅行就是从自己活腻的地方到别人活腻的地方去。
6.消防车再不来,火就要灭了啊
7.养鱼挺麻烦的,每周要换一次水,我经常忘记。后来就只好每周换一次鱼了。
8.这个世界上最恐怖的事情不是恐怖分子劫持你,而是菲律宾警察去救你
1. 默认构造方法:
默认构造方法是没有参数的构造方法,可以简单的分为两种:
(1) 隐含的默认构造方法
(2) 程序显式定义的构造方法
在java语言中,每个类至少有一个构造方法,为了保证这一点,如果用户定义的类中没有构造方法,那么java语言将自动提供一个隐含的默认构造方法,该构造方法没有参数,用public修饰,没有返回值,并且方法体为空,例如:
public ClassName(){}
java.version Java运行环境版本
java.vendor Java运行环境卖主 java.vendor.url Java卖主的URL java.home Java的安装目录 java.vm.specification.version Java虚拟机规范版本 java.vm.sp ...
MAX
MIN
AVG
SUM
COUNT
当执行数据统计时,一定要正确使用GOURP BY字句、WHERE字句和分组函数,使用的注意事项:
1. 分组函数只能出现在选择表、HAVING字句和ORDER BY 字句中
集合方法是ORACLE所提供的用于操纵集合变量的内置函数或过程,其中EXISTS,COUNT,LIMIT,FIRST,NEXT,PRIOR和NEXT是函数,而EXTEND,TRIM和DELETE是过程。集合方法的调用方式:
collection_name.method_name[(parameter)]
注意,集合方法只能在PL/SQL语句中使用,不能在SQL语句中调用。另外集合方法EXTEND和TRIM只适用嵌套表和VARRAY。
EXISTS
该方法用于确定集合元素是否存在,如果集合元素存在,则返回TRUE;如果集合元素不存在,则返回FA ...
PL/SQL数据类型主要包括标量数据类型和复合数据类型。
标量数据类型比较简单,不在详细说明。
复合数据类型主要包括PL/SQL记录、PL/SQL表(索引表)、嵌套表和变长数组(VARRAY)。下边详细描述。
PL/SQL记录:PL/SQL记录类似于高级语言中的结构,可以存储多个字段值,类似于表中的一行数据。当使用记录变量时,必须先定义记录的结构,然后定义记录类型的变量。定义记录结构的语法:
TYPE type_name IS RECORD(
field_name data_type[[NOT NULL]{:=DEFAULT ...
1.IF条件语句
在PL/SQL语句块中,IF语句可以包含IF、ELSIF、ELSE、THEN、END IF等关键字,其完整的语法格式为:
IF condition1 THEN
…………;
[ ELSIF condition2 THEN
…………;]
[ELSE
...
PL/SQL是Procedure Language/Structuer Query Language 的英文缩写,是ORACLE对标准的SQL的扩展,全面支持SQL的数据库操作、事务控制等。PL/SQL完全支持SQL数据类型,减少了在应用程序和数据库之间的转换数据的操作。在PL/SQL程序中,P ...
数据查询语言(SELECT语句):用于检索数据库数据。在SQL所有语句中,SELECT语句的功能和语法最复杂、最灵活。
数据库操作语言(Data Manipulation Language,DML):用于改变数据库数据,包括INSERT、UPDATE和DELETE三条语句,分别执行插入、更新和删除功能。
事物控制语言(Transactional Control Language TCL):用于维护数据的一致性,包括COMMIT,ROLLBACK和SAVEPOINT三条语句。COMMIT语句用户确认已经进行的数据库改变,ROLLBACK语句用于取消已经进行的数据库更改,SAVEPOINT语句 ...
=、>、< 等于、大于、小于
<>、!=不等于
>=大于等于
ANY 与一个列表中的任何一个值比较
ALL 与一个列表中的所有值进行比较
BETWEEN指定条件在两个值之间,包括边界值
LIKE匹配字符样式,一般用于模糊查询
IN匹配列表值
IS NULL匹配空值
在mysql中,要查出一个表的C_NAME不重复的记录的所有字段,使用distinct肯定不行了(会distinct所有字段),这时可以使用group by C_NAME,例如:select c_id,c_name,c_address from t_user group by c_name;执行这个语句没有问题。
但是,在oracle中,就会出现“ORA-00979 不是group by表达式”的错误。在oracle中规定,使用group by时,select后面所有不是聚合函数的字段,都必须出现在group by后面。
一、启动:当使用oracle的STARTUP命令来启动数据库时,执行过程如下:
1.首先使用服务器上的spfileSID参数文件来启动实例。
2.如果没有找到spfileSID,就使用服务器上默认的spfile文件启动。
3.如果没有找到spfile,就使用initSID文件启动。
4.如果没有找到initSID,就使用默认的pfile启动。
启动方式:
1.startup nomount。
2.startup mount。
3.startup open(startup的默认选项)。
...
在jsp页面中进行文件上传主要有一下几种情况:
1.在一个表单中,有文本框和要上传的文件框,也就是字段和要上传的文件混在一起。
2.在一个表单中只有一个文件框。
3.以上两种都是通过Http协议进行上传,如果是大文件,如视频,就要使用FTP上传了。
下面我们分开来说:
一、首先是第一和第二种情况,这两种情况基本是一样的,只是第二中情况服务器端程序可以更简单。处理方法:
1.客户端:使用<input type="file"> ,然后设置form标签的 enctype="multipart/form-data"(默认为appli ...