标签:遍历

Java

JAVA拾遗 — JMH与8个测试陷阱

10

dulong 发布于 2018-08-16

JMH 是 Java Microbenchmark Harness(微基准测试)框架的缩写(2013年首次发布)。与其他众多测试框架相比,其特色优势在于它是由 Oracle 实现 JIT 的相同人员开发的。在此,我想特别提一下 Aleksey Shipilev (JMH 的作者兼...

阅读(5)评论(0)赞 (0)

Java

springboot~mogodb多条件拼接

zhuangli 发布于 2018-08-16

起因 当前我们使用mongodb进行查询时,有时我们的条件是分块生成的,它可能来自一个列表里,我们的条件需要根据列表去返回数据,这里有个问题,如果遍历列表,然后每次都去从mongodb里查询数据 ,这种性能显然是不好的,我们需要把条件进行拼接,一次把数据查询出来! 分析 使用Cr...

阅读(9)评论(0)赞 (0)

Java

源码阅读-HashMap

2

puefu.he 发布于 2018-08-16

扩容是一个特别耗性能的操作,因此建议使用HashMap时,尽量指定一定大小的初始容量 HashMap 是线程不安全的,并发环境中建议使用 ConcurrentHashMap JDK8中引入的红黑树优化了大量hash碰撞时的性能 HashMap中的红黑树代码作者实在没力气看了,因此...

阅读(15)评论(0)赞 (0)

Spring

Spring MVC 目录穿越漏洞(CVE-2018-1271)分析

32

puefu.he 发布于 2018-08-15

作者: Badcode@知道创宇404实验室 时间: 2018/08/14 漏洞简介 2018年04月05日,Pivotal公布了Spring MVC存在一个目录穿越漏洞(CVE-2018-1271)。Spring Framework版本5.0到5.0.4,4.3到4.3.14以...

阅读(11)评论(0)赞 (0)

Java

HashMap漫谈(2)

4

darida 发布于 2018-08-15

HashMap原理解析–JDK1.8 在前面的文章中,我介绍了JDK1.7中HashMap的实现原理,这篇文章中,我将继续介绍在JDK1.8中的实现机理,从JDK1.7到JDK1.8中,HashMap的实现中经历了较大的优化(当然源码也更长,看起来更复杂),通过对数据结构的灵活应...

阅读(10)评论(0)赞 (0)

Java

【Java】留下没有基础眼泪的面试题

10

zhuangli 发布于 2018-08-15

使用多线程时, 不是多线程能提升程序的执行速度 ,使用多线程是为了 更好地利用CPU资源 ! 程序在执行时,多线程是CPU通过给每个线程 分配CPU时间片来实现 的,时间片是CPU分配给每个线程执行的时间,因时间片非常短,所以 CPU通过不停地切换线程执行 。 线程 不是越多就越...

阅读(17)评论(0)赞 (0)

Java

Java8 Stream,简洁快速处理集合(下)

1

zhuangli 发布于 2018-08-15

前面介绍的如 int sum = list.stream().map(Person::getAge).reduce(0, Integer::sum); 计算元素总和的方法其中暗含了装箱成本, map(Person::getAge) 方法过后流变成了 Stream 类型,而每个 I...

阅读(9)评论(0)赞 (0)

Java

Mybatis源码解读-设计模式总结

17

yeseng 发布于 2018-08-14

虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的使用: Builder模式,例如SqlSessionFac...

阅读(30)评论(0)赞 (0)

Java

Java8 Stream,简洁快速处理集合(上)

2

yeseng 发布于 2018-08-14

Stream 中文称为 “流” ,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的 流水线操作 。 换句话说,你只需要告诉流你的要求,流便会在背后自行根据要求对元素进行处理,而你只需要 “坐享其成”。 二. 流操作 整...

阅读(21)评论(0)赞 (0)

Java

王垠:Kotlin 和 Checked Exception

3

wenming.gapo 发布于 2018-08-13

最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin...

阅读(17)评论(0)赞 (0)

Java

从JDK源码看String(下)

2

yanxinchi 发布于 2018-08-13

该方法用于返回指定字符在此字符串中最后一次出现处的索引,有多种方法参数。可传入 int 类型,也可传入 String 类型,另外还能传入开始位置。根据编码的不同分别用 Latin1 和 UTF16 两种方式处理。 public int lastIndexOf(int ch) { ...

阅读(17)评论(0)赞 (0)

Java

Javassist实现JDK动态代理

1

xirruiqiang 发布于 2018-08-12

提到JDK动态代理,相信很多人并不陌生。然而,对于动态代理的实现原理,以及如何编码实现动态代理功能,可能知道的人就比较少了。接下一来,我们就一起来看看JDK动态代理的基本原理,以及如何通过Javassist进行模拟实现。 JDK动态代理 示例 以下是一个基于JDK动态代理的hel...

阅读(12)评论(0)赞 (0)

Java

Android 通过 APT 解耦模块依赖

2

xubiao.zhuang 发布于 2018-08-12

Android APT 的新玩法,生成类的特殊加载方式。在 Android 多 module 工程中使用 APT,会出现类冲突问题,如果你也碰上这种问题,希望本文对你有所帮助。 对本文有任何问题,可加我的个人微信:kymjs123 APT 是什么?Annotation Proce...

阅读(19)评论(0)赞 (0)

Java

对JAVA集合进行遍历删除时务必要用迭代器

13

xirruiqiang 发布于 2018-08-12

今天同事写了几行类似这样的代码: package cn.iigrowing.threads.study.CollectionModify; import java.util.ArrayList; import java.util.List; public class Concur...

阅读(31)评论(0)赞 (0)

Java

Java8之Stream编程

puefu.he 发布于 2018-08-11

Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的...

阅读(26)评论(0)赞 (0)

Java

HashMap漫谈(1)

1

yeseng 发布于 2018-08-11

HashMap原理解析–JDK1.7 今天无意间看Spring Core的源码,里面有一个HashSet,手一滑点进了源码查看,发现HashSet是用HashMap实现的。瞬间想到了当时准备面试时的场景。背了那么多Java Collection的概念,竟然都没有仔细看过任何一个类...

阅读(24)评论(0)赞 (0)

Java

高效遍历Java容器

hellas 发布于 2018-08-09

通过本文,你可以更深入的学习 Java 语言中 forEach 语法的知识,以及它和 C 语言形式的 for 循环、 Steam API 的对比。 简介 Java 程序员经常使用容器,比如 ArrayList 和 HashSet。Java 8 中的 lambda 语法和 stea...

阅读(22)评论(0)赞 (0)

Java

JVM原理之GC原理

5

wenming.gapo 发布于 2018-08-09

追踪回收算法(tracing collector)可达性分析算法 按代回收算法(Generational Collector) 复制回收算法(Coping Collector) (新生代) 标记-清理算法 (老年代) 标记-整理算法 (老年代) 空间分配担保(Handle Pro...

阅读(19)评论(0)赞 (0)