跟大娃一块看,把原来的电脑拿出来放中间看视频用
--- 以后会有的课程 难度
深入Java 8 难度1
并发与netty 难度3
JVM 难度4
node 难度2
spring精髓 难度1
课程中提到的知识:前后端分离的开发,是靠node当做中间的
netty,已经成为国内外互联网公司的标配。会涉及底层的源代码的理解。
JVM 涉及的东西比较多。虽然天天用,但是没有深入理解过。各种锁,可见性等。与计算机原理息息相关的。
圣思园主要面对与已经工作的。大部分为一线的开发人员。
课程一定是完整的。由浅入深的。一定要有一种耐心。
对于基础不好的,可以看看以前面授的时候录制的视频。不懂的一定要多查资料。
在讲课过程中的设计思路:4000块钱的收费标准。
jdk8介绍:Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁、表达力更强,并且在很多情况下能够利用并行硬件的代码。本门课程将会深入介绍Java 8新特性,学员将会通过本门课程的学习深入掌握Java 8新增特性并能灵活运用在项目中。学习者将学习到如何通过Lambda表达式使用一行代码编写Java函数,如何通过这种功能使用新的Stream API进行编程,如何将冗长的集合处理代码压缩为简单且可读性更好的流程序。学习创建和消费流的机制,分析其性能,能够判断何时应该调用API的并行执行特性。
课程的介绍:
Java 8新特性介绍
Lambda表达式介绍
使用Lambda表达式代替匿名内部类
Lambda表达式的作用
外部迭代与内部迭代
Java Lambda表达式语法详解
函数式接口详解
传递值与传递行为
Stream深度解析
Stream API详解
串行流与并行流
Stream构成
Stream源生成方式
Stream操作类型
Stream转换
Optional详解
默认方法详解
方法与构造方法引用
Predicate接口详解
Function接口详解
Consumer接口剖析
Filter介绍
Map-Reduce讲解、中间操作与终止操作
新的Date API分析
拉姆达表达式: 函数式编程。以前的叫做命令式的编程。
使用面向对象语言就是来操作数据,封装继承多态。
函数式编程面向的是行为。好处:代码可读性提高。
开发安卓的时候大量的匿名内部类。
提到的关键字:
kotlin ,JetBrains 。construction 构造
他以前在学习的时候,翻代码。
将要讲解的各个技术的简介、
课程讲解的时候遇到的工具:
Mac , jdk8 ,idea(很多功能是通过插件的形式来实现的)
为什么要使用lambda表示式
在Java中无法将函数座位参数传递给一个方法,也无法返回一个函数的方法。
在js中,函数的参数是一个函数。返回值是另一个函数的情况是非常常见的。是一门经典的函数式语言。
Java匿名内部类。
匿名内部类的介绍Gradle的使用。可以完全使用maven的中央仓库。
进行安卓的开发时,gradle已经成为标配了。
lambda:
匿名内部类
改造后
my_jButton.addActionListener(e -> System.out.println("Button Pressed!"));lambda表达式的基本结构:
(param1,param2,param3) ->{ }函数式编程: 一个接口里边只有一个抽象方法。
可以通过lambda表达式来实例。
关于函数式接口:
如果一个借口只有一个抽象方法,那么该接口就是一个函数式接口。
如果我们在某一个接口上声明了functionalInterface注解,那么编译器就会按照函数是借口的定义来要求改接口。
如果某个接口只有一个抽象方法,但是我们并没有给接口声明functionnaleInterface注解,编译器依旧会给改接口看作是函数式接口。
通过实例对函数式接口的理解:
package com.erwa.jdk8; @FunctionalInterface interface MyInterface { void test(); // Multiple non-overriding abstract methods found in interface com.erwa.jdk8.MyInterface // void te(); //如果一个接口声明一个抽象方法,但是这个方法重写了 object类中的一个方法. //接口的抽象方法不会加一.所以依然是函数方法. // Object 类是所有类的父类. @Override String toString(); } public class Test2 { public void myTest(MyInterface myInterface) { System.out.println(1); myInterface.test(); System.out.println(2); } public static void main(String[] args) { Test2 test2 = new Test2(); test2.myTest(() -> { System.out.println(3); }); } }接口里边从1.8开始也可以有方法实现了。default
默认方法。 default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } } * <p>Note that instances of functional interfaces can be created with * lambda expressions, method references, or constructor referencelambda表达式的作用:
lambda表达式为Java添加了确实的函数式编程特性,使我们能将函数当做一等公民看待。