day37_0627
选择题
A:OSI七层协议,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP 五层, 物理层,数据链路层,网络层,传输层,应用层
B:TCP协议是有连接的,UDP协议是无连接的
C:同一信道同一时刻通信的是全双工,半双工是是指在通信过程的任意时刻,信息既可由A 传到B,又能由B传A,但只能由一个方向上的传输存在。
D:ip和子网掩码相与得到网络号
这是一个B类地址,前16位是网络号,后16位是主机号,那么2的16次方是65536,减去2个地址就是65534
100-199 用于指定客户端应相应的某些动作。
200-299 用于表示请求成功。
300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
400-499 用于指出客户端的错误。
500-599 用于支持服务器错误
想知道具体的内容看这个
HTTP状态码大全(常见 HTTP Status Code 含义查询) - 桔子SEO (juziseo.com)
端口地址:IP地址+端口号
在TCP/UDP传输段中,源端口地址和目的端口地址是不能相同的,否则就会建立自己到自己的连接,白白耗费资源。网络攻击中的LAND 攻击就是利用这个这一点进行攻击的。
host表示初始URL中的主机和端口
域名解析是指将域名解析为IP。
传输层的数据叫段;网络层叫包;数据链路层叫帧;物理层叫比特流
SNMP simple network management protocol 简单网络管理协议
是一个网络管理员用来管理的工具相当于 一个app 所以是应用层因为TCP采用累计确认机制,所以即使后面的第2个报文先到达了,但是仍然要对第1个报文进行确认,所以确认号为70。
编程题
数据库连接池
/**数据库连接池 * @editor biubiubiu */ import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main{ public static void main(String []args){ Scanner sc=new Scanner(System.in); while(sc.hasNextLine()) { int n = sc.nextInt(); sc.nextLine(); List<String> list=new ArrayList<>(); while(n-->0){ list.add(sc.nextLine()); } System.out.println(list.size()); System.out.printf("%d\n",connect(list)); } } public static int connect(List<String> list) { int max = 0;//最多创建多少 int now = 0;//现在创建了多少个 for (String str : list) { if (str.contains("disconnect")) { now++; } else if (str.contains("connect")) { if (now <= 0) { max++; } else { now--; } } } return max; } }
mkdri
startsWith() 方法用于检测字符串是否以指定的前缀开始。
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; /** * @editor biubiubiu */ public class Mkdri { public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNextLine()){ int n=sc.nextInt(); sc.nextLine(); String[] str=new String[n]; for(int i=0;i<n;i++){ str[i]=sc.nextLine(); } Arrays.sort(str);//给数据排序 List<String> list =new ArrayList<>(); for (int i = 1; i < str.length; i++) { if (!str[i].startsWith(str[i - 1]+"/")){ list.add(str[i-1]);//如果前一个路径不包含在这个路径里就加入list集合里 } } list.add(str[n-1]); for (int i = 0; i <list.size() ; i++) { System.out.println("mkdir -p "+list.get(i)); } System.out.println(); } } }