Java8新特性-Stream API
Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一 个则是 Stream API(java.util.stream.*)。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream A...
Java8新特性-Optional类
Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(T t) : 创建一个 Optional 实例O...
Java8新特性-四大核心函数式接口
总结一下java8中的新特性内置的四大核心函数式接口函数式接口在java中是指:有且仅有一个抽象方法的接口函数式接口,即适用于函数式编程场景的接口。而java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lam...
Java8新特性-方法引用
方法引用的使用场景 我们用Lambda表达式来实现匿名方法。但有些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作,在这种情况下,我们倾向于通过方法名来调用它,而Lambda表达式可以帮助我们实现这一要求,它使得Lambda在调用那些已经拥有方法...
Java8新特性-Lambda表达式
总结一下java8中的新特性lambda表达式1 匿名函数Lambda是一个匿名函数,可以理解为一段可以传递的代码(将代码像数据一样传递);可以写出更简洁、更灵活的代码;作为一种更紧凑的代码风格,是Java语言表达能力得到提升。有一个需求:获取公司中年龄小于 35 的员工信息、获取公司中工资大于 5...
javaCV实现视频帧转码保存为图片
最近使用到了javaCV进行视频帧转码,记录一下项目中使用javaCV的对h264/h265的视频帧的base64字符串转成jpg图片的一次实现功能流程:<javacpp.version>1.4.1</javacpp.version><ffmpeg.version>...
java多线程总结-线程池
1 准备知识介绍线程池之前先简要了解一下Executor,ExecutorService,Future,Callable,Executors是什么,和线程池又有什么关系1.1 Executor它是线程池顶级接口。它定义了一个方法void execute(Runnable)。这个方法是用于处理任务的一...
java多线程总结-同步容器与并发容器的对比与介绍
1 容器集简单介绍java.util包下面的容器集主要有两种,一种是Collection接口下面的List和Set,一种是Map,大致结构如下:CollectionHashSetTreeSetLinkedSetLinkedListArrayListVectorStackListSetMapHasht...
java多线程总结-同步之ReentrantLock
1 ReentrantLock与synchronized对比ReentrantLock与synchronized都是为了同步加锁,但ReentrantLock相对效率比synchronized高,量级较轻。synchronized在JDK1.5版本开始,尝试优化。到JDK1.7版本后,优化效率已经非...
java多线程总结-同步之volatile关键字
1 案例之变量内存可见性代码解析:新起一个子线程执行m()方法,1秒后主线程将b置为false,子线程是否会停止执行死循环while(b){},打印“end”package com.bernardlowe.concurrent.t01;import java.util.concu...