天道酬勤,学无止境

基础学习

Java核心API -- 14(Socket)

1. Socket相关概念 1)网络通信模型:C/S:client/server,客户端/服务器端;B/S:browser/server,浏览器端/服务器端;C/S结构的优点:应用的针对性强,画面绚丽,应用功能复杂。缺点:不易维护。B/S结构的优点:易于维护。缺点:效果差,交互性不强。 2)Socket:封装着本地的地址,服务端口等信息。ServerSocket:服务端的套接字。服务器:使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。客户端:使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 3)永远都是Socket去主动连接ServerSocket。一个ServerSocket可以接收若干个Socket的连接。网络通信的前提:一定要捕获异常。 4)Socket连接基于TCP/IP协议,是一种长连接(长时间连着)。 5)读取服务器信息会阻塞,写操作不会。 6)建立连接并向服务器发送信息步骤:①通过服务器的地址及端口与服务器连接,而创建Socket时需要以上两个数据

2021-06-01 21:34:58    分类:博客    Socket   套接字   serversocket   基础学习

Java核心API -- 7(Iterator迭代器、Comparable、Comparator比较器)

1. Iterator迭代器 所有Collection的实现类都实现了iterator方法,该方法返回一个Iterator接口类型的对象,用于实现对集合元素迭代的便利。在java.util包下。 1)Iterator定义有三个方法: ①boolean hasNext()方法:判断指针后面是否有元素。 ②E next()方法:指针后移,并返回当前元素。E代表泛型,默认为Object类型。 ③void remove()方法:在原集合中删除刚刚返回的元素。 2)对于List集合而言,可以通过基于下标的get方法进行遍历;而iterator方法是针对Collection接口设计的,所以,所有实现了Collection接口的类,都可以使用Iterator实现迭代遍历。 3)迭代器的使用方式:先问后拿。问:boolean hasNext()该方法询问迭代器当前集合是否还有元素;拿:E next()该方法会获取当前元素。迭代器的迭代方法是while循环量身定制的。 4)迭代器中的删除问题:在迭代器迭代的过程中,我们不能通过“集合”的增删等操作,来改变该集合的元素数量!否则会引发迭代异常!若想删除迭代出来的元素,只能通过Iterator。迭代器在使用自己的remove()方法时,可以将刚刚获取的元素从集合中删除,但是不能重复调用两次!即在不迭代的情况下,不能在一个位置删两次。 案例9: 2

2021-06-01 21:30:01    分类:博客    iterator   迭代器   比较器   基础学习