javaAPI
文章平均质量分 85
aliveClass
人有两条路要走, 一条是必须走的,一条是想走的,你只有把必须走的路走漂亮了,才可以走想走的路。
展开
-
java 枚举类型enum 的使用
java 枚举类型enum 的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java 中的枚举类型采用关键字enum转载 2014-11-19 11:44:00 · 544 阅读 · 0 评论 -
ToStringBuilder和ToStringStyle(覆盖每个实体的 toString 方法)
今天系统要打印日志,发现所有实体的toString()方法 都用的是简单的"+",因为每"+" 一个就会 new 一个 String 对象,这样如果系统内存小的话会暴内存(前提系统实体比较多)。 由于打印的时候包含包名,感觉太长了,使用ToStringStyle.SHORT_PREFIX_STYLE 截掉包名 import java.转载 2016-01-14 18:59:59 · 3282 阅读 · 0 评论 -
Java 多线程面试问题汇总
写在前面:这篇文章是我最近看15个顶级Java多线程面试题及回答这篇帖子,根据文中所列问题在网上找的答案汇总。或许某些解答不尽如人意,欢迎大家来补充和指正。另外感谢这篇帖子的翻译者赵峰以及所有在网络上分享问题答案的朋友们~~1. 有T1、T2、T3三个线程,如何怎样保证T2在T1执行完后执行,T3在T2执行完后执行?使用join方法。join方法的功能是使异步执转载 2015-07-08 14:33:59 · 1360 阅读 · 0 评论 -
Java浮点数float和double精确计算的精度误差问题总结
1、float整数计算误差案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结果出现误差。原因:超出float精度范围,无法精确计算。float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。float:2^23 = 8388608,一共七位,这意味原创 2015-05-21 14:34:19 · 52035 阅读 · 4 评论 -
Java浮点数精度问题
ls 方法都不能真正测试相等如浮点类型一样, BigDecimal 也有一些令人奇怪的行为。尤其在使用 equals() 方法来检测数值之间是否相等时要小心。 equals() 方法认为,两个表示同一个数但换算值不同(例如, 100.00 和 100.000 )的 BigDecimal 值是不相等的。然而, compareTo() 方法会认为这两个数是相等的,所以在从数值上比较两个 Big转载 2015-05-21 16:16:52 · 706 阅读 · 0 评论 -
java中Executor、ExecutorService、ThreadPoolExecutor介绍
1.Excutor 源码非常简单,只有一个execute(Runnable command)回调接口 public interface Executor { /** * Executes the given command at some time in the future. The command * may execute in转载 2015-05-21 10:28:29 · 1274 阅读 · 0 评论 -
FindBugs错误描述和解决方法
FindBugs常见错误描述和解决方法(一)[DLS_DEAD_LOCAL_STORE]描述: Dead store to 未使用的局部变量解决方法:局部变量定义后未使用;实例化对象后又重新对该对象赋值(二) [ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD] 描述:Write to static field 通过实例方法原创 2015-01-09 10:38:25 · 28104 阅读 · 0 评论 -
Java自动装/拆箱下,三目运算符的潜规则
最近发现了一个很诡异的NullPointerException,在下面这个方法抛出,一开始怎么都没想明白,dSrc即使为null,那直接赋值给distinct也没问题啊。 private Doubledistinct; private void setParam(Double dSrc, boolean flag) { this.distinct = (flag) ?转载 2014-12-16 14:10:52 · 941 阅读 · 0 评论 -
Java带标签循环 break 和 continue
Java 中有 goto 关键字,但这个关键字没有任何作用,换句话说,我们不能使用 goto 来进行跳转到某行。实际上,结构化程序设计完全不需要 goto 语句即可完成各种流程,而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。 Java 中同样可以定义标签,使用标识符加冒号 (:) 的形式,如“mylabel:”。不过既然 Java 中的 got转载 2014-12-16 14:05:46 · 7566 阅读 · 0 评论 -
TreeMap按照key排序
Java代码 package test.tool.gui.common; import java.util.Comparator; import java.util.TreeMap; public class Test { public static void main(String[] args) {转载 2014-12-16 14:02:29 · 1549 阅读 · 0 评论 -
JAVA clone 深复制(深克隆)与浅复制(浅克隆)
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被转载 2014-12-16 13:58:28 · 676 阅读 · 0 评论 -
java 枚举类型enum 的使用
java 枚举类型enum 的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。Java 中的枚举类型采用关键字enum转载 2014-12-16 13:55:36 · 1053 阅读 · 0 评论 -
Java序列化与外部化(Serializable/Externalizable)
序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 序列化的什么特点: 如果某转载 2014-12-16 11:39:41 · 1230 阅读 · 0 评论 -
Java toString 性能优化方案比较
谁在关心toString的性能?没有人!除非当你有大量的数据在批量处理,使用toString产生了许多日志。然后,你去调查为何如此之慢,才意识到大部分的toString方法使用的是introspection,它其实是可以被优化的。不过,首先让我们一起看看Javadoc回忆下Object.toString应 当做什么:“返回该对象的字符串表示,该结果必须简明但表述详实易懂。建议所有子类重写该方法转载 2016-01-15 15:33:35 · 2595 阅读 · 0 评论