自学java第一周总结
文章目录
一、网络编程?
网络编程三要素:IP地址(设备标识),端口(应用程序的标识),协议(UDP)和(TCP)
1.UDP:消耗资源小,通信效率高,通常用于音频,视频和普通数据的传输
2.TCP:面向连接的通信协议,可在计算机间进行可靠无差错的数据传输
三次握手:
第一次握手,客户端向服务器发出连接请求,等待服务器确认
第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求
第三次握手,客户端再次向服务器发送确认信息,确认连接
二、Lambda表达式
1.Lambda表达式的标准格式
三要素:形式参数,箭头,代码块
2.Lambda表达式的省略模式
1.参数类型可以省略,但是有多个参数的情况下,不能只省略一个
2.如果参数有且仅有一个,那么小括号可以省略
3.如果代码块的语句只有一条,可以省略大括号和分号,甚至是return
ps:使用lambda必须要有接口,并且要求接口中有且仅有一个抽象方法
3.Lambda的孪生兄弟——方法引用
Lambda表达式:usePrintable(s -> System.out.println(s));
方法引用:usePrintable(System.out::println);
三、函数式接口和Stream流
1.函数式接口(@FunctionalInterface): 有且仅有一个抽象方法的接口(函数式接口就是适用Lambda使用的接口)
Comparator< String > getComparator()
四个接口:
(1)Supplier接口
(2)Consumer接口
(3)Predecate接口
(4)Function接口
2.Stream流
(1)生成流:Collection集合默认stream()流, Map体系的集合间接生成流, 数组通过Stream接口的静态方法of(T…values)生成流
(2)中间操作:filter过滤, limit截取前指定的个数数据, skip跳过指定参数的数据, concat合并两个流为一个(这是静态方法), distinct返回由该流的不同元素(根据Object.equals(Object))组成的流,sorted自然排序,sorted(Compartor compartor)指定比较器排序,map返回由给定函数应用于此流的元素的结果组成的流,IntStream mapToInt(ToIntFunction mapper)返回一个IntStream 其中包括将给定函数应用于此流的元素的结果,这个可以用sum方法
(3)终结操作
forEach对此流的每个元素执行操作和count返回此流中的元素数
四、类加载器和反射
反射:类.class; getClass(); Class.forName(String className)
1.反射获取构造方法并使用 getConstructors getDeclaredConstructors getConstructor getDeclaredConstructor
2.反射获取成员变量并使用: 私有成员变量,使用setAccessible 暴力反射
3.反射获取成员方法并使用
4.练习:(1)反射越过泛型检查(2)反射运行配置文件指定内容
总结
还可以再努力一点,加油!