步机制保证了对共享数据的正确操作。Р(5) 自动内存管理Р可以说自动内存管理是Java健壮性的体现,内存管理是很多种应用程序内的关键因素。在网络上的其他地方读取大量的数据,之后把该数据写入硬盘上的数据库内,一般的设计就是把数据读入内存中的某种集合内,对这些数据执行某些操作,之后把数据写入数据库。在数据写入数据库后,在下一批处理之前,临时存储数据的集合必须清空旧数据,或者被删除后再建。这种操作可能执行很多次,在像C++这些不提供自动垃圾搜集的语言中,手工清空或删除集合数据结构逻辑上的一点点缺陷就可能导致大量的内存被错误地收回或丢失。Java的自动内存管理正好解决这一点,它使程序员不用再为内存管理写大量的代码Р[4]。Р2.3 Java Socket 网络编程Р2.3.1 Java Socket 网络编程基础Р网络编程,简单的理解就是两台计算机相互通信,其基本模型就是客户机/服务器模型,也就是通信双方中的一方必须提供一个固定的位置,而另一方则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据交换。这里提供固定位置的一方通常称为服务器,而建立联系的一方通常称为客户端。基于客户机/服务器的Socket通信模型如下图所示[5]:Р服务响应Р服务请求Р建立连接Р客户端Р服务器端Р创建Socket类对象Р指定服务器端公认的Socket地址和端口Р在Socket上监听客户端的连接请求Р阻塞,等待连接的建立Р接收客户端的请求信息Р解释并处理请求信息Р将处理结果返回给客户端Р创建Socket类对象Р向服务器端发送连接请求Р向服务器发出服务请求Р接收服务结果Р 基于客户机/服务器的Socket通信模型РJava为这个模型的实现提供了简化了的Socket编程接口。在程序中只要导入java.io包就可以方便的使用java的Socket编程接口。РJava中Socket通信模型如下图所示