如果参数化类型表示一个T生产者,就使用 extends T>;如果它表示一个T消费者,就使用 super T>。 在我们的Stack实例中,pushAll的src参数产生E实例供Stack使用,因此src相应的类型为Iterable extends E>;popAll的dst参数通过Stack消费E实例,因此dst的相应类型为Collection super E>。PECS这个助记符突出了使用通配符类型的基本原则。Naftalin和wadler称之为Get and Put Principle。 下面是第25条中的reduce方法就有这条声明:
static E reduce(List list, Function f, E initVal){
E[] snapshot = (E[])list.toArray();
E result = initVal;
for (E e:snapshot) {
result = f.apply(result, e);
}
return result;
}
public static > T max(List list){
Iterator i = list.iterator();
T result = i.next();
while (i.hasNext()){
T t = i.next();
if (t.compareTo(result) > 0){
result = t;
}
}
return result;
}
修改过后:
public static > T max(List list){
Iterator i = list.iterator();
T result = i.next();
while (i.hasNext()){
T t = i.next();
if (t.compareTo(result) > 0){
result = t;
}
}
return result;
}
public static > T max(List list){
Iterator extends T> i = list.iterator();
T result = i.next();
while (i.hasNext()){
T t = i.next();
if (t.compareTo(result) > 0){
result = t;
}
}
return result;
}
public static void swap(List> list, int i, int j) {
swapHelper(list, i, j);
}
// Private helper method for wildcard capture
private static void swapHelper(List list, int i, int j) {
list.set(i, list.set(j, list.get(i)));
}
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p