博客统计信息

用户名:hsj69106
文章数:35
评论数:4
访问量:15895
无忧币:20
博客积分:168
博客等级:2
注册日期:2009-11-08

我最近发表的评论

Ajax请求简单实例 回复
恩啊,一起学习
2011-09-02 15:46:00
$(document).ready(function () {

 
   $("#sonpage_title").html(decodeURI(getQueryStringByName('title')));

});



function getQueryString() {

    var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+", "g"));

    for (var i = 0; i < result.length; i++) {

        result[i] = result[i].substring(1);

    }

    r..
类别:未分类|阅读(6)|回复(0)|(0)阅读全文>>
转载:http://caerun.iteye.com/blog/458439
 
把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?那个更合理?



1. 常量接口


Java代码  收藏代码


public interface ConstInterfaceA {  
  public static final String CONST_A = "aa";  
  public static final String CONST_C = "ac";  
}  






存在问题:




1) 无法限制开发员继承/实现接口.




2) 开发员能够在子接口里继续添加常量.而这些常量可能得不到祖先层的支持.




3) 常量作为参数时,是String,int等弱类型,开发员可以传入没有在常量接口里定义的值,这个问题无法通过编译器发现.




4) 由于开发员可以直接写常量值, 所以不能用==对比,只能用equals对比,不能优化性能




5) 开发员在没有参考资料时,不可能知道某个int型的参数到底应该赋什么内容.




6) 编译时,是直接把常量的值编译到类的二进制代码里,常量的值在升级中变化后,需要重新编译所有引用常量的类,因为里面存的是旧值.






2. 常量类




Java代码  收藏代码


public class ConstClassA {  
  public static final String CONST_A = "aa";  
  public static final String CONST_C = "ac";  
  
  private ConstClassA() {  
  }  
}  






常量类可以设置构造函数为private,从而限制继承,也就没有继续添加常量的问题了.


但是其他问题与常量接口一样无法解决






3. 枚举常量类




Java代码  收藏代码


public class EnumClassA {  
  private String name;  
  
  private EnumClassA(String name) {  
    this.name = name;  
  }  
  
  public static final EnumClassA CONST_A = new EnumClassA("aa");  
  public static final EnumClassA CONST_C = new EnumClassA("ac");  
}  






解决了以上所有问题,主要体现在:




1) 私有构造函数,避免被继承和扩展.




2) 定义方法的参数时,必须用枚举常量类类型,如上面的EnumClassA类型,这样就转变成了强类型,不会出现弱类型引起的问题.




3) 常量值地址唯一,可以用==直接对比,性能会有提高.




4) 开发员可以根据该参数类型打开对应的类,从而找到定义的常量.




5) 编译时,没有把常量值编译到代码里,即使常量的值发生变化也不会影响引用常量的类.






4. enum类型




Java代码  
类别:未分类|阅读(1)|回复(0)|(0)阅读全文>>
2011-06-24 14:11:27
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File

本文以Eclipse 3.3(英文)为例加以说明:

1. 设置Workspace的编码格式:

Windows->Preferences... 打开"首选项"窗口,点击左侧导航树到General->Workspace,在右侧视图中找到“Text file encoding”选项设置,一种是默认(Default),另一种是从下拉列表..
类别:未分类|阅读(1082)|回复(0)|(0)阅读全文>>
2011-06-13 15:53:51
1. 制造锚点按下时特殊效果:
#menu a:ACTIVE{

    color: #FFFFFF;

}
 
2. 回车提交表单(转载):
 
通过回车进行提交表单,可以在用户输入完毕后直接进行回车查询操作,不用点击鼠标,在某些场景应用下非常方便,用户体验较好。



总结&科普一下:



1、如果form里面只有一个input type=text,那么无论有没有submit按钮,在input中回车都会提交表单。如果不想回车提交,需要再加一个input type=text,然后设置display:none.



2、如果form里面多于一个input type=text,那么必须有一个s..
类别:未分类|阅读(9)|回复(0)|(0)阅读全文>>
2011-06-08 21:01:12
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。


   ..
类别:未分类|阅读(16)|回复(0)|(0)阅读全文>>
2011-06-08 17:09:02
Filter:
配置filter以及filtermapping在web.xml中,在程序里判断URL来筛选白名单。
 
Interceptor:
使用Struts零配置时需要在Action中加入@ParentPackage的注解使其生效。
 
 比较一,filter基于回调函数,我们需要实现的filter接口中doFilter方法就是回调函数,而interceptor则基于java本身的反射机制,这是两者最本质的区别。

 比较二,filter是依赖于servlet容器的,即只能在servlet容器中执行,很显然没有servlet容器就无法来回调doFilter方法。而interceptor与servlet容器无关。

 比较三,Filter..
类别:未分类|阅读(10)|回复(0)|(0)阅读全文>>
2011-06-06 19:32:33
Spring配置:
http://apps.hi.baidu.com/share/detail/24559124
Hibernate配置:
http://apps.hi.baidu.com/share/detail/24558965#content
类别:未分类|阅读(6)|回复(0)|(0)阅读全文>>
转自http://www.iteye.com/topic/1038366
 
今天,我在一个java群和别人讨论对索引的理解问题。

大家说了半天我都无法理解他们在说什么。

我还在网上查看了很多关于索引的定义,

但都是太笼统没有比喻也没有具体的例子。



最后我只能说出我对索引的理解。



我个人定义索引是:一个已经按照一定规则排序好的数据结构或数据集。



下面举例



例子1:



现在有一张表,里面有10W行数据,其中有一个列,列的名字叫name,数据类型为字符串

现在要查询一个name为tom的,好,现在在name上建立一个数..
类别:未分类|阅读(2)|回复(0)|(0)阅读全文>>
 
public static void mergeList(List<Bean> list) {      HashMap<String, Bean> map = new HashMap<String, Bean>();      for (Bean bean : list) {          if (map.containsKey(bean.getType())) {              bean.setQuantity(map..
类别:未分类|阅读(136)|回复(0)|(0)阅读全文>>
1.FireFox的下拉框option有onclick方法,而IE中不支持,select中的onchange方法则都兼容
2.tbody中显示和隐藏tr出现错位问题,可先将需要显示的部分预先设为display:block,不需要显示的设为display:none,如果还有问题,可将style.display="block"设为style.display=""
 3.document.all在firefox下不支持,在ie下则可以,兼容的方法可以用document.getElementById
类别:未分类|阅读(1)|回复(0)|(0)阅读全文>>
 <<   1   2   3   4   >>   页数 ( 1/4 )

我的技术圈(1)

更多>>