JAVA 新特性

一、JAVA8新特性lambda表达式  ()->{ return 5;}

二、方法引用,将方法作为参数传入:   foreach(System.out::printLn)

三、函数式接口 

@FunctionalInterface
interface GreetingService 
{
    void sayMessage(String message);
}
GreetingService greetService1 = message -> System.out.println("Hello " + message);
四、 Base64 编码
五、新的日期函数 Java.time 包中
LocalTime 本地时间
ZonedDateTime 时区时间
六:Stream http://www.runoob.com/java/java8-streams.html

Stream(流)是一个来自数据源的元素队列并支持聚合操作

  • <strong元素队列< strong="">元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。
  • 数据源 流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。
  • 聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。

和以前的Collection操作不同, Stream操作还有两个基础的特征:

  • Pipelining: 中间操作都会返回流对象本身。 这样多个操作可以串联成一个管道, 如同流式风格(fluent style)。 这样做可以对操作进行优化, 比如延迟执行(laziness)和短路( short-circuiting)。
  • 内部迭代: 以前对集合遍历都是通过Iterator或者For-Each的方式, 显式的在集合外部进行迭代, 这叫做外部迭代。 Stream提供了内部迭代的方式, 通过访问者模式(Visitor)实现

       Stream针对中间过程采用责任连的方式进行处理。Stream针对于中间有状态在end之后,收集完成后才调用下一个责任对象处理。Stream整个处理过程只有一种并行处理状态,最后一个并行处理状态将会覆盖之前的。

       Streasm主要采用责任链,命令模式实现处理过程流程化处理。

七: Optional   允许为Null类

八:JAVA中的JUC包:java.util.concurrent包。并发使用包

      原子操作,Automic操作,底层使用Volite进行可见性修饰,CAS进行原子性操作  。

      锁:JDK层次提供可重入的互斥锁,信号量,回环栅栏多线程同步操作

      线程安全操作类,阻塞队列,线程池,ThreadLocal(线程本地变量) ,InheritableThreadLocal(父子线程之间传递线程本地变量)

九:应用开发过程中的SIMD使用(Single Instruction, Multiple Data (SIMD))

     JAVA程序使用SIMD  

     https://zhuanlan.zhihu.com/p/157819714

    https://software.intel.com/content/www/us/en/develop/articles/vector-api-developer-program-for-java.html

数据的ETL工具:

https://blog.csdn.net/LXWalaz1s1s/article/details/94024979

JAVA中的数学运算:

StrictMath(建议使用),Math(不建议使用),FastMath(apach.common,说明是比StrictMath支持更多,更快)

  Apatch Common中统计介绍: https://blog.csdn.net/antony1776/article/details/98760251

  关于数据统计:https://blog.csdn.net/antony1776/article/details/98760251

JAVA中常用的工具集:

  Hutool工具包:https://www.hutool.cn/

   Apache Common工具包:http://commons.apache.org/

原文地址:https://www.cnblogs.com/AiYaTou/p/10371842.html