Java 全面解析!不知道的来看看那!(二)

2014-11-24 09:26:26 · 作者: · 浏览: 3
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。迅龙提供