java 基础
asking1233
这个作者很懒,什么都没留下…
展开
-
java之Integer知识整理
最近本人在看jdk源代码的时候很有感触,感叹代码是如此的精炼。就好比说这个最容易被忽视的Integer。Integer是对int 类型的封装,这点大家都知道。今天我尝试来分析其部分本人认为比较有意思的源代码。 1 如何来找一个整数中其所对应的二进制数值中,最高位1所代表的数值。例如01000。代表的是8 public static int highestOneBit(int i原创 2015-05-29 15:59:17 · 617 阅读 · 0 评论 -
java线程与锁
1 什么是线程 线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。程序指令在单线程工作的情况下,表现出来的情况是顺序的。但是在多线程情况下呢?为了在底层最大限度的发挥cpu的工作效率,【有时候】我们看到的情况是程序指令并不是向我们当时书写的那样顺序。 2 什么是锁 锁是逻辑一个原创 2015-06-29 20:29:07 · 631 阅读 · 0 评论 -
ConcurrentHashMap 源码分析
CocurrentHashMap 作用 HashTable通过对整张表加锁的方式实现并发hash查找与储存,CocurrentHashMapt通过Segment的方式可以实现相同的功能,不过效率更加高,在jdk1.6的时候,CocuentHashMap有弱一致性的问题,不过在jdk1.7的时候,这个问题已经修复了。所以是并发安全性还是性能都是非常高的。接下来我尝试基于jdk1.7原创 2015-07-11 12:13:44 · 2101 阅读 · 0 评论 -
java 自动拆箱的陷阱
java 自动拆箱运用非常广泛。但是这里面有一些“陷阱”。废话不多说,来看一段代码: public static void main(String[] args) { Integer a=1; Integer b=2; Integer c=3; Integer d=3; System.out.println(c==(a+b)); System.out.println(c==d);原创 2015-08-02 14:49:43 · 748 阅读 · 0 评论 -
java中如何终止线程
在java早期的版本中,提供了一个终止线程的方法:stop()。但在随后的版本中,这个方法被遗弃了,因为它的中断是”立即“,这样有可能会造成数据不一致的情况。比如说在转账的过程中。因此在jdk1.5的时候,有一个方法出来解决这个问题:intertupt()。这个方法会在run()中止,【Interrupting a thread that is not alive need not have an原创 2015-07-22 20:08:51 · 898 阅读 · 0 评论