多线程
生产者消费者问题
信号灯法
线程池
网络编程
- 网络:将地理位置不同的多台计算机及其外部设备通过某种设备连接起来
- 网络编程目的:传播交流信息,进行数据交换,通信
- 打电话——TCP连接
 发短信——UDP连接
- 用端口定位网络上的主机
- 通信双方地址:
 ip+端口号可以定位到某一个电脑上的某一个应用
- 规则:网络通信的协议
 http,ftp,smtp,tvp,udp
协议
![]()
IP
- IP可以唯一定位一台网络上的计算机
- 127.0.0.1本地IP,即localhost
- IP地址分为
 IPV4:127.0.0.1,由四个字节组成
 IPV6:
- 公网:互联网
 私网:局域网
- InetAdress类
public class TestInetAddress {
    public static void main(String[] args) {
        try {
            InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
            System.out.println(inetAddress1);
            InetAddress inetAddress2 = InetAddress.getByName("localhost");
            System.out.println(inetAddress2);
            InetAddress inetAddress3 = InetAddress.getLocalHost();
            System.out.println(inetAddress3);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
端口
- 一个端口对应一个程序的进程
- 不同的进程有不同的端口号,用来区分软件
- 端口的分类:
 公有端口:0~1023(尽量不要占用)
 HTTP:80 HTTPS:443 FTP:21 Telent:23
 程序注册端口:1024~29151
 Tomcat:8080
 Mysql:3306
 动态、私有:49152~65535
- netstat -ano 查看所有的端口
 netstat -ano|findstr "8696" 查看指定的窗口
 tasklist|findstr "8696" 查看指定窗口的进程””
通信协议
- TCP/IP协议
 1)TCP:用户传输协议 相当于打电话,连接,稳定
 2)UDP:用户数据报协议 相当于发短信,不连接,不稳定
 3)IP : 网络互联协议
TCP实现聊天