Java 全面解析!不知道的来看看那!(二)
lection.spliterator()
Collection.stream()
Collection.parallelStream()
List.sort(Comparator)
List.replaceAll(UnaryOperator)
Map.forEach(BiConsumer)
Map.replaceAll(BiFunction)
Map.putIfAbsent(K, V)
Map.remove(Object, Object)
Map.replace(K, V, V)
Map.replace(K, V)
Map.computeIfAbsent(K, Function)
Map.computeIfPresent(K, BiFunction)
Map.compute(K, BiFunction)
Map.merge(K, V, BiFunction)
Map.getOrDefault(Object, V)
新增并发API
Java 8还向并发API中添加了一些新内容,我们将会在此简要介绍其中的一部分。ForkJoinPool.commonPool()是处理所有并行流操作的结构。没有明确提交到某个特定池中的所有ForkJoinTask都将会使用通用池。ConcurrentHashMap已经被完全重写。StampedLock是一个新的锁实现,它可以作为ReentrantReadWriteLock的一个备选方案。CompletableFuture是Future接口的一个实现,它为异步任务的执行和链接提供了方法.......
新增IO/NIO API
在Java 8中有一些新的IO/NIO方法,我们能够使用它们从文件或者输入流中获取java.util.stream.Stream。
BufferedReader.lines()
Files.list(Path)
Files.walk(Path, int, FileVisitOption...)
Files.walk(Path, FileVisitOption...)
Files.find(Path, int, BiPredicate, FileVisitOption...)
Files.lines(Path, Charset)
DirectoryStream.stream()
这里面有一个新的UncheckedIOException,它是一个继承了RuntimetimeException的IOException。还有一个CloseableStream,它是一个能够并且应该被关闭的流...........
反射和注解的变化
通过类型注解,我们能够在更多的地方使用注解,例如像List<@Nullable String>这样的泛型参数中。这增强了通过静态分析工具发现错误的能力,它将增强并重定义Java内置的类型系统...........
Nashorn java script引擎
Nashorn是一个集成到JDK中的新的、轻量级、高性能的java script实现。Nashorn是Rhino的继任者,它提升了性能和内存使用情况。它将会支持javax.script API,但是它并不会支持DOM/CSS,也不会包含
浏览器插件API........
java.lang、java.util等其他地方的新增功能
Java 8还向很多其他的包中添加了大量其他的功能,在本文中我们并没有提及。下面是一些值得注意的内容。可以使用ThreadLocal.withInitial(Supplier)更加简洁的声明本地线程变量。长期未兑现的StringJoiner和String.join(...)现在已经是Java 8的一部分了。比较器提供了一些新的方法能够用于链接和基于域的比较。默认的字符串池映射大小更大了,大约在25—50K。迅龙提供