并发编程基础
线程
为什么使用多线程?只有一个目的就是更好的利用多核cpu的资源。多线程一定快吗?不一定,多线程上下文切换需要花费时间,如果执行的任务比较简单,多线程花的时候可能比串行执行还要慢。
jdk8之前,操作集合中的元素,一般都是通过for或者iterator去遍历,代码特别冗长。jdk8提供了Stream,让我对更加方便的操作集合
public static<T> Builder<T> builder();
public static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b);
public static<T> Stream<T> empty();
public static<T> Stream<T> generate(Supplier<T> s);
public static<T> Stream<T> iterate(final T seed, final UnaryOperator<T> f);
public static<T> Stream<T> of(T t);
public static<T> Stream<T> of(T... values);