JAVA基础
小破
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
慎用ArrayList的contains方法,使用HashSet的contains方法代替
在启动一个应用的时候,发现其中有一处数据加载要数分钟,刚开始以为是需要load的数据比较多的缘故,查了一下数据库有6条左右,但是单独写了一个数据读取的方法,将这6万多条全部读过来,却只需要不到10秒钟,就觉得这里面肯定有问题,于是仔细看其中的逻辑,其中有一段数据去重的逻辑,就是记录中存在某几个字段相同的,就认为是重复数据,就需要将重复数据给过滤掉。这里就用到了一个List来存放这几个字段所组成的主转载 2016-06-03 13:45:30 · 637 阅读 · 0 评论 -
Java中BigDecimal精度丢失
doule不能表示为任何有限长度的二进制小数。1.前言 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。 双精度浮点型变量double可以处理16位有效数。 float和double主要用来处理科学计算和工程计算, 在实际应用中,特别是商业计算往往要求结果更加精确。运用BigDecimal可以很方便的解决这个转载 2017-05-22 21:15:10 · 8451 阅读 · 0 评论 -
mysql/Java服务端对emoji的支持
问题描述:如果UTF8字符集且是Java服务器的话,当存储含有emoji表情时,会抛出类似如下异常:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException转载 2017-02-13 23:21:07 · 716 阅读 · 0 评论 -
使用二分法Arrays.binarySearch()与list.contains()进行元素比较的效率分析
有这样一个简单的场景,需要把Excel存储的以下格式的物料数据上传到系统里,但是系统的数据库已经存在大量的记录,例如几十万条记录。而业务 上的约束条件是对于同一个PLANT下,不允许存在重复的Material,数据库的设计也是将PLANT和MATERIAL_NO作为联合主键,如果从 Excel导入的数据对于数据库中已经存在的数据重复,那么也会抛出主键唯一约束异常。 Excel数据格转载 2016-07-15 16:09:17 · 413 阅读 · 0 评论 -
高效地判断数组中是否包含某特定值
如何检查一个未排序的数组中是否包含某个特定值,这是一个在Java中非常实用并且频繁使用的操作。另外,这也是Stack Overflow上面非常受关注的问题。在得票数最多的答案中,可以看到,检查数组中是否包含特定值可以用多种不同的方式实现,但是时间复杂度差别很大。下面,我将为大家展示各种方法及其需要花费的时间。1.检查数组中是否包含特定值的四种不同方法1)使用List:转载 2016-07-15 16:08:11 · 752 阅读 · 0 评论 -
JDK1.8 十大新特性详解
一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代码代码如下:interface Formula { double calculate(int a); default double sqrt(int a) { retur转载 2016-06-12 17:12:27 · 1600 阅读 · 0 评论 -
Java JDK1.8新特性Lambda 表达式
一、lambda含义 lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。在很多动态语言和C#中都有相应的lambda语法,这类语法都为了简化代码,提高运行效率。二、lambda 项目的背景,参考这里。 无论是面向对象语言还是函数式语言,基本数值都可以被动态的封装入程序动作:面向对象语言通过“转载 2016-06-12 17:00:53 · 3356 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的区别
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable转载 2016-06-03 14:31:22 · 270 阅读 · 0 评论 -
CopyOnWriteArrayList
看见一篇博客,没有写完整,于是增补了一下:博客原文:http://www.cnblogs.com/alipayhutu/archive/2012/08/11/2634073.html注:黄色字体为我添的CopyOnWriteArrayList,因何而存在?ArrayList的一个线程安全的变体,其所有可变操作(add、set 等)都是通过对底层数组进行一次新的复制来转载 2016-06-03 13:56:19 · 323 阅读 · 0 评论 -
Java 8 中的 Streams API 详解
为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对转载 2017-08-21 15:35:47 · 421 阅读 · 0 评论
分享