操作,处理不同的事件.在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现
网络上的实时交互操作.Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互.多线程保证了较高的执行效率.(4)分布性Java是面向网络的语言.通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象.(5)体系结构中立Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式.Java为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如
Java的基本数据类型不会随目标机的变
化而变化,一个整型总是32位,一个长整型总是64位.为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作
系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上.java.lang:一般的语言包.其中包括用于字符串处理,多线程,异常处理和数字函数等的类,该包是实现Java程序运行平台的基本包java.util:实用工具包.其中包括哈希表,堆栈,时间和日期等java.io:基于流模型的输入/输出包.该包用统一的流模型实现了各种格式的输入/输出,包括文件系统,网络和设备的输入/输出等java.net:网络包.该包支持TCP/IP协议,其中提供了socket,URL和WWW的编程接口java.awt:抽象窗口工具集.其中实现了可以跨平台的图形用户界面组件,包括窗口,菜单,滚动条和对话框等java.applet:支持applet
程序设计的基本包(6)安全性用于网络,分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误.
4JAVA工具
4.1JDK
4.1.1Java编译器Java编译器将Java源代码文件编译成可执行的Java字节码.Java
源代码文件的扩展名为.java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件.源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编
译生成多个class文件.4.1.2Java解释器Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具.4.1.3Appletviewer它是JavaApplet的简单测试工具,可使用它来测试JavaApplet程序,而不需要WWW浏览器的支持.
4.2VisualJ++
VisualJ++集成了可视化界面设计,交互式调试,代码编辑,联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能,同时具有能充分利用ActiveX和COM新技术的优势.利用VisualJ++可创建交互性很强的Internet应用程序,是难得的Java开发系统.
于Socket的灵活
通信机制,因而其应用程序能自由地打开和访问网络上的对象,就象在本地文件系统中一样.(2)Applet之间的通信:Applet之间的通信使用AppletContext类的getApplet()方法.
只要在程序中加入Appletoneapplet=getAppletContext().getApplet(first"");便可使用name为first的Applet中的方法了.在该课题中大量使用了该种通信方法,因为专门同服务器端通信的Applet中包含接收信息方法和发送信息方法,所有客户端的Applet都要使用负责通信的Applet中的方法,所以客户端的Applet同负责通信的Applet必须进行通信.
6程序调试心得5客户机/服务器通信的实现
(1)Application同Applet的通信两端通过Socket机制进行连接:1)客户端的编程流程:打开Socket,新建一个套接字;为套接字建立一个输入和输出流;根据服务器协议从套接字读入或向套接字写入;清除套接字和输入/输出流;2)服务器端的编程流程:打开ServerSocket,创建一个服务器型套接字和一个普通套接字,服务器型套接字在指定端口为客户端请求的Socket服务;使用ServerSocket类的accept()方法使服务器型套接字处于监听状态并把监听结果返回给普通套接字;为该普通套接字创建输入和输出流;从输入和输出流中读入或写入字节流,进行相应的处理,并将结果返回给客户端;在客户端和服务器工作结束后关闭所有的对象,如服务器型的套接字,普通套接字,输入和输出流.正是由于Java系统具有基1)在建立Socket连接时,两端的端口号必须设为一致,否则建立不了连接.服务器端必须有主机IP地址或主机名参数.2)连接建立好之后应确定输入和输出流.起初程序中用的是DataInputStream和PrintStream,结果只能传输英文,传输中文时产生乱码,将PrintStream改为DataOutputStream,使用readUTF()和writeUTF()方法后,中文传输问题得到解决.3)如果一个使用某端口的程序没有关闭,另一个程序就不能使用这个端口.4)开始进行通信的程序均为Application,因不符合客户机/服务器机制,应将客户端的Application改为Applet.其转化的主要步骤如下:①创建一个包含APPLET标签的HTML文件;②去掉应用程序中的main()方法;③类名应继承Applet类,而不是Frame类,并在程序开头加入importjava.applet.*;语句;
④用init()方法代替Application程序中的构