07 2011 档案

摘要:缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。基本信息 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。 Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Sessio. 阅读全文
posted @ 2011-07-22 17:18 跳刀的兔子 阅读(381) 评论(0) 推荐(0)
摘要:今天使用Collections.emptyList(),返回一个空的List 但是发现它不支持Add功能,调用Add会抛出unsupportedException, 在以后要返回一个空的List,并还需要后续操作时,不能使用Collections.emptyList()方法,看文档发现,List的实现类都有自己的实现,而返回的EmptyList的实现没有实现add(int index, E element方法,使用了 AbstractList.add(int index, E element){ throw new UnsupportedOperationException(); } 阅读全文
posted @ 2011-07-12 18:40 跳刀的兔子 阅读(5693) 评论(0) 推荐(0)
摘要:第8条:覆盖equals时请遵守通用约定1.什么时候应该覆盖Object.equals呢? 如果类具有自己特有的“逻辑相等”概念(不同于对象等同的概念),而且超类还没有覆盖equals以实现期望的行为,这时就需要覆盖equals方法。(“值类”,仅仅表示一个值的类,例如:Integer或者Date) ==与equals的区别:==比较的是内存中的地址,比较的是对象的句柄,对象等同;而equals()比较的是地址内的内容,比较的是对象,逻辑相同. 有一种值类不需要覆盖equals方法,即实例受控确保“每个值之多值存在一个对象”,例如枚举类型,这样的类,逻辑相同与对象等同是一回事。2.覆盖equa 阅读全文
posted @ 2011-07-09 15:03 跳刀的兔子 阅读(801) 评论(0) 推荐(0)
摘要:第45条:将局部变量的作用域最小化1.在第一次使用变量时的地方声明;2.几乎每个局部变量的声明都应该包含一个初始表达式;变量最好在try-catch里被初始化,不然一个变量被一个方法初始化时可能会抛出受检的异常(checked exception)。如果必须在try之前初始化,那么它必须是“无意义地初始化”,如:string s = null;3.如果在终止循环之后不需要循环变量的内容,for循环优于while循环。(for循环比while循环还有个优势:更简洁,增强可读性)第46条:for-each循环优于传统的for循环1.对于多个集合进行嵌套迭代时,for-each循环优势更明显,使用传 阅读全文
posted @ 2011-07-09 13:07 跳刀的兔子 阅读(906) 评论(0) 推荐(0)
摘要:jboss4.2以上版本,服务器无法通过IP地址去访问,只能用127.0.0.1或者localhost来访问,在其他机器上访问不了jboss服务。解决方法:启动JBOSS的时候配置: -b 本地Ip原因分析: JBOSS 4.2以上版本服务启动如果不加任何参数的话,只监听127.0.0.1,就是说只能用127.0.0.1或者localhost访问,用本机的对外地址 访问不了,同一网络内别的机子没法访问。除非你用参数-b ip地址 来绑定监听的地址才可以。这和以前版本的JBOSS不一样,以前版本的不加任何参数是监听本机所有的IP地址,现在必须使用参数-b 0.0.0.0才可以监听全部地址。 阅读全文
posted @ 2011-07-07 17:15 跳刀的兔子 阅读(813) 评论(0) 推荐(0)