https://note.youdao.com/s/FEoXGdFe
思路:将每位上的数存放在一个数组里,每次从最高位开始遍历,先找到最大的位数,再根据是否为0,得到要加的数
网络编程是使用Java语言编写网络应用程序的过程。Java提供了一系列API(应用程序接口)和工具,使得能够开发网络应用程序。
主要涉及以下:
网络协议:TCP/IP协议、HTTP协议等网络协议。
Socket编程:Socket是一种通信协议,Java提供了Socket类和ServerSocket类来进行Socket编程,实现Java程序与目标服务器之间的通信。
多线程编程:在网络编程中,Java程序通常需要同时处理多个连接或请求,因此需要使用多线程技术来实现并发处理。
远程方法调用(RPC):Java提供了一种远程方法调用机制(RMI),可以让客户端应用程序在不同的Java虚拟机上调用远程对象的方法,实现分布式计算。
Web编程:Java Web编程常常使用Servlet和JSP技术来实现Web应用程序,Servlet是运行在服务器端的Java类,JSP则是在服务器端生成的HTML页面。
三大基本要素
IP地址,端口号和协议。其中,IP地址是网络上的设备的唯一标识符,端口号是应用程序用于与其他应用程序通信的端口,而协议是规定计算机间通信方式的规范。
TCP和UDP协议是最常用的协议之一。
TCP是一种面向连接的协议,在数据传输之前必须先建立连接。TCP连接的建立是通过三次握手完成的。三次握手的过程如下:
客户端发送SYN(同步)数据包给服务器端,表示客户端请求建立连接。
服务器端接收到SYN数据包,并发送SYN-ACK(同步-确认)数据包给客户端,表示已经接收到客户端的请求,准备好接收数据。
客户端接收到SYN-ACK数据包后,发送ACK(确认)数据包给服务器端,表示已经收到了服务器端的确认,可以开始传输数据。
TCP连接的释放是通过四次握手完成的。四次握手的过程如下:
客户端发送FIN(结束)数据包给服务器端,表示客户端请求关闭连接。
服务器端接收到FIN数据包,并发送ACK(确认)数据包给客户端,表示服务器端已经接收到关闭请求。
如果服务器端还有数据需要传输,那么服务器端会发送FIN数据包给客户端。
客户端接收到FIN数据包后,发送ACK数据包给服务器端,表示已经接收到了服务器端的关闭请求,连接成功关闭。
看了一下er图的形状代表的样式,初步做了一个超星的er图: