教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

软件开发基础(.Java)实验指导书V2(4)

来源:网络收集 时间:2026-04-27
导读: (5) 请思考:注解还可以应用到哪些场景? (6)请设计一个注解,用于标注类的方法可以调用的权限(即标注方法只有在用户登录后,有指定权限的人员才可以调用),结合第三章的动态代理,在方法调用时进行安全检查

(5) 请思考:注解还可以应用到哪些场景?

(6)请设计一个注解,用于标注类的方法可以调用的权限(即标注方法只有在用户登录后,有指定权限的人员才可以调用),结合第三章的动态代理,在方法调用时进行安全检查。

9

实验3 Java网络编程

一、实验目的

1、了解网络协议的基本概念和区分OSI模型和TCP/IP模型的不同点。

2、熟悉输入输出流、以及常见的流处理工具。

3、掌握基于TCP编程和UDP编程的基本步骤和对相关核心类的了解。 4、掌握简单的应用服务器工作原理,为后面Web服务器开发打好基础。

二、实验内容

(1)输入如下程序,观察输出结果。 public static void main(String[] args) throws Exception { InetAddress address = InetAddress.getByName(\ System.out.println(\获取新浪的IP地址========\ System.out.println(address.toString()); InetAddress[] addresses = InetAddress.getAllByName(\ System.out.println(\获取新浪的IP地址列表=======\ for(InetAddress add : addresses){ System.out.println(add.toString()); } } (2)输入如下程序,观察输出结果。

public class NetTest { public static void main(String[] args) throws Exception{ InetAddress address = InetAddress.getLocalHost(); if(address instanceof Inet4Address){ System.out.println(\ address = (Inet4Address)address; } System.out.println(address.toString()); } } public class NetTest { 三、根据下面要求编写程序

1. 请分别采用TCP、UDP协议编程实现一对一的文件上传。

2. 编写一对多的聊天程序,程序由服务器和客户端两部分构成,两部分的

交互方式如下:

10

a. 客户端发送命令: 给服务器端注册用户,服务器端如果允许注册,则返回消息:,否则返回消息:

b. 客户端发送命令: 给服务器端进行登录, 服务器端如果允许登录,则返回消息:,否则返回消息:

c. 客户端发送命令: 给服务器端,服务器端收到命令后返回消息:

d. 服务器向指定客户端发送命令:,如果客户端收到消息,则返回:,如果message命令中的 from属性为空,则表示由服务器发送的消息。

e. 客户端发送命令: 给服务器端进行注销登录, 服务器端如果允许注销登录,则返回消息:,否则返回消息:

程序可以采用GUI,也可采用命令行的方式。

四、实验结果

写实验报告。内容包括:

1、习题的运行结果,源程序。 2、程序调试中出现的错误提示。(英文、中文对照) 3、若有没通过的程序,分析原因。

五、选做习题

(1)请分别采用TCP、UDP协议编程实现一对多的文件上传。 (2)模仿QQ,设计实现一个聊天工具。

11

实验4 Java多线程编程

一、实验目的

1、理解线程概念和定义。 2、掌握创建、管理和控制Java线程对象的方法,包括创建Java 线程对象、 改 变线程状态、设置线程优先级以控制线程调度等方法。

3、了解并执行的多线程间存在的各种不同关系,掌握实现线程互斥和线程同步的方法。

二、实验内容

(1)输入以下程序,观察输出结果。

class MyThread extends Thread{ public int x = 0; public void run(){ System.out.println(++x); } } class R implements Runnable{ private int x = 0; public void run(){ System.out.println(++x); } } public class Test { public static void main(String[] args) throws Exception{ for(int i=0;i<10;i++){ Thread t = new MyThread(); t.start(); } Thread.sleep(10000); R r = new R(); for(int i=0;i<10;i++){ Thread t = new Thread(r); t.start(); } } }

12

(2)输入如下程序,观察输出结果。

ublic class ThreadDemo { (3) public static void main(String[] args) { Thread t = new TestThread(); // t.setDaemon(true); t.start(); int i=0; while(true) { System.out.println(\if(i++ ==10000) { try { t.join(10000); }catch(InterruptedExceptione){ e.printStackTrace(); } } } } } class TestThread extends Thread { public void run() { while(true) { System.out.println(\ } } }

三、按照要求编写程序

(1)编写基于多线程的素数(是除了自身和1以外,没有其它素数因子的自然数)判定程序。待判定的整数经过键盘录入后存放在一个列表中,创建10个线程从列表中取出整数进行判定,判定的结果存入到另一个列表中,用户可以通过键盘查询判定的结果。

(2)应用继承类Thread的方法实现多线程类,该线程3次休眠若干(随机)毫秒后显示线程名和第几次执行。

(3)请通过实现Runnable接口和继承Thread类分别创建线程,要求:除了main线程之外,还要创建一个新的线程。Main线程重复100次“main“,新线程重

13

…… 此处隐藏:754字,全部文档内容请下载后查看。喜欢就下载吧 ……
软件开发基础(.Java)实验指导书V2(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607979.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)