`
tianlihu
  • 浏览: 311358 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论
文章列表
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类; 2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决: Map Collections.synchronizedMap(Map m) 这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。 ...
原文链接 cglib是个好东东,说牛刀,是因为它很强大,用途很广。小试,是因为仅仅用它做了个类似hello world的小程序。 cglib是Spring、Hibernate依赖的核心包,但是cglib还算不上最底层的,因为它是在asm包之上做了封装,以增强易用性。据了解,Hibernate3.2已经不再依赖cglib了,而直接依赖asm。这些都不影响cglib的强大功能。 很希望将spring、JDK、cglib的动态代理三者放到一起做个比较(实际上,spring、jdk的代理已经比较过了),也许是地震原因,心情一直没有平静下来,无心去写。下面就先给个地震前例子看看,因为很简单,所以就 ...
原文链接 ●空catch语句块   犯这种错误的人比较少,一般发生在刚学会Java或者刚参加工作不久的人身上。   所谓"空catch语句块"就是在catch语句块中没有对异常作任何log处理,导致异常信息被丢弃掉。一旦程序不能 ...
原文链接 1、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //orcl为数据库的SID String url="jdbc:oracle:thin:@localhost:1521:orcl"; String user="test"; String password="test"; Connection conn= DriverManager.getConnection(ur ...
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; ...
http://blog.chinaunix.net/u3/94078/showart.php?id=1888387 当需要多次比较时,switch语句的效率比if-else if…… else语句(以后简称muti-if语句)的效率要高,这是我一直以来的理解,但是昨晚讨论到一个问题,这种“高效率”如何实现?今天早上又看到《更深入一点理解switch语句及c/c++对const的处理》和《透过IL看C# (1)switch语句》这两篇文章,前者(以后为[1])没有提及case语句中大跨度离散值的原理,后者(以后为[2])使用的离散数据量又比较小,而且该文侧重于用C#,由于不是很了解,不发表评论。 ...
    对堆和栈的主要的区别由以下几点:       1、管理方式不同;       2、空间大小不同;       3、能否产生碎片不同;       4、生长方向不同;       5、分配方式不同;       6、分配效率不同;         管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。        空间大小:一般来讲在32位系统下,堆内存可以达到4G的空间,从这个角度来看堆内存几乎是没有什么限制的。但是对于栈来讲,一般都是有一定的空间大小的,例如,在VC6下面,默认 ...
  类的初始化顺序是老生长谈的问题。但是它仍然是面试中常见的,也可以说是不可缺少的题目。因为在项目开发过程中,经常会因为这个出现BUG,且这样的BUG一般很难查。   从C语言转用java语言的人常常会这样写代码: public class Sample { private String str = null; // str = ""; private boolean flag = false; public String getStr() { return str; } public void setStr(String st ...
本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机或重新发布到其它网站 先看一个例子: import java.util.ArrayList; import java.util.List; public class CollectionOperation { public static void main(String[] args) { List<String> list = new ArrayList<String>(); for (int i = 0; i < 10; i++) { list.ad ...
http://blog.sina.com.cn/s/blog_44749c5a0100b88r.html 方法一: // checkStartDate和checkEndDate的格式为"2008-08-08" function checkDate(checkStartDate, checkEndDate) { var arys1= new Array(); var arys2= new Array(); if(checkStartDate != null && checkEndDate != null) { arys1=checkSta ...
本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机或重新发布到其它网站 有一道很经典的面试题是这样的: short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有错吗? 答案很简单: 1. 编译出错。类型不匹配,需要强制类型转换。 2. 没有错误。 有一朋友说不是太明白这是为什么。我在这里分析一下原因。 对于前半部分: short s1 = 1; s1 = s1 + 1;    在java语言规范里,如果表达式中, 当对中间值的精确要求有时可能会超过任何一个操作数的范围, JVM会临时自动提升这个操作数的类型。   ...
本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站    在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方 ...
本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站 先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: public class VariArgs { public static void main(String[] args) { test(); test("aaa"); test("aaa", "bbb"); test("aaa", "bbb", "ccc"); } ...
Global site tag (gtag.js) - Google Analytics