- 浏览: 7062 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Oracle:
select NVL(sum(data),0)
SQLSERVER:
select ISNULL(sum(data),0)
MySql:
select IFNULL(sum(data),0)
通用:
select COALESCE(sum(data),0)
Java Clone
- 博客分类:
- java基础
clone对象的特性三点:
1. a.clone() != a:不是同一个实例了。指向不同的内存地址,(在java堆中是两个独立的对象)。
2. a.clone.getClass()== a.getClass():类型一样
3. clone.equals(a):内容一样
前两个特性通过重写 clone方法实现,第三个特性通过重写equals方法实现。
clone最后都会调用object的clone方法,创建一个对象然后一一赋值。对于原始类型跟不可变类型(String,Long...)来说是没有问题的,但是如果是复杂类型比如arraylist的话,那么clone对象跟原始对象会指 ...
一般enum用法:
private enum Pet{DOG,CAT,SNAKE};
。。。
switch (p) {
case DOG:
System.out.println("dog");
break;
case CAT:
System.out.println("cat");
break;
case SNAKE:
System.out.println("snake");
break;
default:
System.out.printl ...
iterator的基本方法:
hasNext();
判断是否有下一个元素。
next();
游标定位到下一个,默认是-1。
remove();
删除掉当前游标的值。
现在Collection接口继承了Iterable接口,该接口中有一个
Iterator<T> iterator();
方法。
iterator可以遍历删除元素:
List<String> list = new ArrayList<String>();
list.add("test1");
list.add(&qu ...
什么是springMVC中的viewResolver:
当controller处理完一个请求之后,需要给一个view,viewResolver会根据view name找到真正的view.
多个viewResolver怎么处理:
在配置文件中可以再 viewResolver中配置order属性:
<bean id="viewResolver1" class="org.springframework.web.servlet.view.tiles2.TilesViewResolver" p:order="1"/>
&l ...
用ROWNUM跟ROWID来进行高效率的查询。
ROWNUM:是一个伪列,当返回一个查询的结果时,就有了ROWNUM。
ROWID: 是一条记录的实际物理地址,用ROWID定位比index更快。
SELECT *
FROM test
WHERE ROWID IN
( SELECT rid
FROM
( SELECT rid,ROWNUM AS rn
FROM
( SELECT ROWID rid
FROM test
WHERE a1 LIKE '%%'
...
在项目中要用到读取classpath下面的*.properties文件,怎么拿到这个properties文件之前都比较乱。
现在流行的方法是把文件放到classpath中,然后通过方法在unit test中跟应用中都能通过同一个方法获取到。
用到的核心代码是
this.getClass().getResourceAsStream("/xxxx.properties");
this.getClass().getClassLoader().getResourceAsStream("xxxx.properties");
(1) class ...
所有的对象方法都绑定在jQuery.fn对象上,用
jQuery.fn.extend({"func":function(val){
//js code.
}});
一个完整的插件:
;(function($){
$.fn.extend({"color":function(val){
return this.css("color",val);
}});
})(jQuery);
注意点:
1.插件得用分号结尾,第一个分号是为了更好的兼容性。
2.应该返回当前对象 ...
之前一直不在熟悉sql语句。今天刚好碰到sql的问题。关于inner join 跟普通的where条件语句的差别。 我以前都这样写Sql:
select * from A, B where A.id=1;
这样写具体执行的时候,数据库会先根据
select * from A, B
来获取A跟B的笛卡尔积的集合,然后再通过
where A.id=1
来过滤这个集合。 假如用了inner join的话:
select * from A inner join B on A.name=B.name where A.id=1;
这样的话,数据库首先会去找 ...
搭建liferay,下载SDK,绑定的tomcat。参考http://www.iteye.com/topic/723559
debug配置参考http://www.liferay.com/zh/web/raymond.auge/blog/-/blogs/5952431
参考项目:http://code.google.com/p/portletsinaction/downloads/list
遇到的两个问题,在portlet.xml中的resource-bundle元素,中的值是一些property的文件,如果发布的时候说找不到相关资源,就写完整路径。比如andy.test.resourc ...
根据jespeed2的官方网站的教程先走一边。
http://portals.apache.org/jetspeed-2/tutorial/index.html
遇到的问题,数据库用mysql链接。参考了
http://inotgaoshou.iteye.com/blog/797634
一个Portlet例子
http://danwind.iteye.com/blog/496819
最后是用eclipse调试的设置
https://confluence.sakaiproject.org/display/BOOT/Setting+Up+Tomcat+For+Remote+Debugging
...
快速排序就是把某一个值排到中间,比如:第一个值跟最后一个开始比,如果比第一个值小,就交换位置,然后再从第一个位置开始找比他大的值,进行交换。
java代码:参考了百科里面的例子
package zy.boring.order.impl;
import zy.boring.order.QuickOrder;
public class QuickOrderImpl implements QuickOrder {
@Override
public int[] quickOrder(int[]data, int low, int high) {
//定义局部变量i,j, ...