1.lambda表达式 arr.filter(e=>{console.log(e);});
1.语法
(形式参数)->{代码块}
2.作用代替匿名内部类
3.步骤
1.创建接口
2.在接口中添加唯一的方法
3.在测试类中创建方法调用接口对象(接口本身没有对象,只能调用接口的实现类的对象)
interface Eatabl{void eat();}
...测试类
public static void useEatable(Eatable e){e.eat();}
...main
useEatable(Eatable的实现类对象);
实现类对象
1.编写一个实现类,然后new 这个实现类
2.直接new 接口,写匿名类实现
3.写lambda表达式
ArrayList.forEach(接口类型)
4.关键
1.接口
2.接口必须有且只能有一个方法
3.调用的时候参数为接口类型
2.线程池
1.对线程问题的解决方案
1.线程的创建和销毁交给线程池
2.线程的数据需要控制 最小线程数,最大线程数
ExecutorService
newFixedThreadPool
线程池实际上就是一个ArrayList
List<Thread>threads=new ArrayList<Thread>();
for(int i=0;i<5;i++){
thread.add(new Thread(r));
}
t=get(i).start();
remove(i);
完成任务之后
threads.add(t)
3.udp网络编程
tcp网络编程 分服务器和客户端的稳固链接。
upd广播
1.只分接收端和发送端,不分服务器和客户端
2.不安全的链接
3.步骤
1.发送端
1.创建套接字 DategramSocket ds=new DatagramSocket();
2.装包
DatagramPacket dp=new DatagramPacket(
信息的字节数组,
信息的字节数组的长度,
信息发送的目的地主机,
信息发送目的地的端口
);
3.ds.send(dp);
2.接收端
1.创建爱套接字,但是要添加端口 DatagramSocket ds=new DatagramSocket(端口号)
2.装包
1.准备容器 byte[]bytes=new byte[1024];
2.将容器装包 DatagramPacket dp=new DatagramPacket(容器名称,容器长度);
3.接受信息 等待 伺服 ds.receive(dp);将信息放入包中的容器 bytes
4.解析
dp.getData()从包取出来容器 bytes
dp.getLenght()从包中获得收到的信息的长度
System.out.println(new String (dp.getData(),0,dp.getLength(),"utf-8"));
————————————————
版权声明:本文为CSDN博主「m0_67058035」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67058035/article/details/132748329