随笔分类 - Java技术进阶
摘要:boolean类型既可以使用&&和||做逻辑运算,也可以使用&和|做逻辑运算,但前者是经过优化的(执行短路运算),后者未优化。 以下代码验证: 逻辑或|| 逻辑或| 可以看出使用逻辑或|做逻辑运算时,m1() | m2()中,当m1()为true时,依然会执行后面的m2()函数。这是与逻辑或||的区
阅读全文
摘要:以下验证三个问题: 1.try catch语句抛出异常,finally语句也抛出异常,结果怎样? 2.try catch语句return和finally的执行顺序,先return还是先finally语句? 3.try catch语句和finall语句都return,最后return的是哪一个? tr
阅读全文
摘要:之前,一直认为将数组用于函数传递,函数内对数组的改变也会影响调用函数外的该数组,事实也是如此。但是,实际运用中可能会犯一个错误。 示例代码如下: 上面代码中,初始数组array={1,1},在tt1函数中先改变为array={2,1},再重新指向另一个新的数组。此时,tt1内的array={2,1,
阅读全文
摘要:ArrayList 非线程安全 ArrayList内部是以数组存储元素的。类有以下变量: 有以下够造方法: 上面的ArrayList(Collection<? extends E> c)够造方法里面。我们可以看到这么一个逻辑判断: 这段代码的注释中写道“c.toArray可能返回类型不是Object
阅读全文
摘要:转载自http://www.cnblogs.com/Qian123/p/5703507.html java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) public int hashCode() public boolean
阅读全文
摘要:集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的
阅读全文
摘要:volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键
阅读全文
摘要:在做IPTV的时候,遇到以下这个问题: 现有一个float型数据,以下代码打印输出: 当修改数据n为40272.49,并保存到数据库时发现,数据库的值依然为40272.48,突然想到这可能是float精度导致的,以下为验证代码:
阅读全文
摘要:Vector、ArrayList、LinkedList Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。 Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的
阅读全文