java基础
Java代码优化策略:
1. try(){ } 自动释放资源;( )内创建的连接会自动释放。
2. Stream 流式集合处理 ( 注:list.foreach()实际是list.stream().foreach()流式处理。)
示例1:字符串split处理成多map流,flatmap多流合并,distinct去重,流转list集合。
List<String> list = Stream.of("I am a boy I love the girl But the girl loves another girl").map(line -> line.split(" ")).flatMap(Arrays :: stream).distinct().collect(Collectors.toList());
示例2:concat多流合并,sorted排序,collect流转集合,stream转成流,filter过滤。
Stream<Integer> collect = Stream.concat(Stream.of(2, 5, 4), Stream.of(3, 6)).sorted(Comparator.reverseOrder()).collect(Collectors.toList()).stream().filter(team -> team>3);
3. CPU线程数 = 核心数 * 2
Java设计原则:
1. 单一职责:一个类有且仅有一个职责
2. 开闭原则:对扩展开放,对修改关闭
3. 接口隔离:最小封装且继承无污染
4. 里氏替换:子类永远可以替换父类
5. 依赖倒置:高层次不依赖于低层次