了解lambda表达式、线程池、udp网络编程


一、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.调用的时候参数为接口类型


二、线程池
    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)


三、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"));



 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值