java
普通网友
这个作者很懒,什么都没留下…
展开
-
float.isNaN()
JDK中float和double有一个speial的方法isNan,该方法用于描述非法的float,经过多次运算float值可能会出现非法情况,如除数为0.0在Float中NaN实际上是引用类型,而不是值类型,每一个NaN都是不同的对象。转载 2012-02-27 15:37:25 · 2505 阅读 · 0 评论 -
JAVA内存管理的技巧
(1)尽量使用直接量尽量少用new的方式来创建对象,而应采用直接量来创建他们string str = "hello"; 字符串缓存池会缓冲这个字符串string str = new string("hello"); 字符串缓存池会缓存这个字符串,除此之外str所引用的string对象底层还包括一个char[]数组,这个char[]数组里依次缓存了h,e,l,l,o(2)使用stri原创 2012-04-23 09:42:58 · 170 阅读 · 0 评论 -
java 垃圾回收机制
Java垃圾回收主要完成:(1)跟踪并监控每个Java对象,当某个对象处于不可达状态时,回收该对象所占内存空间(2)清理内存分配,回收过程中产生的内存碎片垃圾回收的基本算法:(1)串行回收和并行回收:串行回收只用一个CPU来执行垃圾回收操作,并行回收是把整个回收工作拆分成多部分,每个部分由一个CPU负责,从而让多个CPU并行回收(并行回收效率高,复杂度也高,内存碎片会增原创 2013-05-07 12:44:04 · 456 阅读 · 0 评论 -
Java 克隆
Java的参数传递包括:值传递、引用传递如果我们希望用B对象保存A对象的数据,但又不希望B对象数据改变时影响到A,实现clone方法是最简单也是最高效的手段如果A对象中只有基本类型或String类型时,只需A 实现Cloneable,然后覆盖clone方法,即简单克隆(影子克隆)但当A对象中有复杂变量,如list,或其他类的对象是,则需深度克隆,前提是应用的其他对象也实现了clonea转载 2013-05-11 14:14:05 · 388 阅读 · 0 评论