20165202 2017-2018-2 《Java程序设计》第9周学习总结
教材学习内容总结
Ch13
URL类
- URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序。
- 一个URL对象通常包含最基本的三部分信息:协议、地址、资源。
构造方法:
- URL 类通常使用如下的构造方法创建一个 URL 对象:
public URL(String spec) throws MalformedURLException
public URL(String protocol, String host,String file) throws MalformedURLException
读取URL中的资源
- URL 对象调用
InputStream openStream()方法可以返回一个输入流,该输入流指向 URL 对象所包含的资源。
通过该输入流可以将服务器上的资源信息读入到客户端。
InetAdress类
- 地址的表示:域名和IP地址
- 获取Internet上主机的地址:
1.可以使用InetAddress类的静态方法getByName(String s);
2.获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息:
www.sina.com.cn/202.108.37.40 - 获取本地机的地址
可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。
套接字
网络套接字是基于TCP协议的有连接通信
套接字连接就是客户端的套接字对象和服务器端的套接字对象通过输入流、输出流连接在一起
- 使用getOutputStream()获得输出流。
try { Socket clientSocket = new Socket("http://192.168.0.78",2010);
} //(IP,端口号)
catch(IOException e) {}
服务器建立ServerSocket对象,ServerSocket对象负责等待客户端请求建立套接字连接,而客户端建立Socket对象向服务器发出套接字连接请求。
1.建立ServerSocket对象:try{ ServerSocket serverForClient =new ServerSocket(2010);
}
```
catch(IOException e){}
2.使用方法accept()将客户的套接字和服务器端的套接字连接起来 try{ Socket sc= serverForClient .accept();
}
catch(IOException e){}
3.所谓“接收”客户的套接字连接就是accept()方法会返回一个和客户端Socket对象相连接的Socket对象。
UDP数据报:
基于UDP通信的基本模式是:
将数据打包,称为数据包,然后将数据包发往目的地;
接收发来的数据包,然后查看数据包中的内容。
发送数据包:可使用DatagramPacket的这样两种构造方法创建待发送的数据包。发送数据包
1.用DatagramPacket的以下两个构造方法创建待发送的数据包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
2.用DatagramSocket类的不带参数的构造方法:DatagramSocket()创建一个对象,该对象负责发送数据包。例如:DatagramSocket mail_out=new DatagramSocket();
mail_out.send(data_pack);
接收数据包
1.用DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同。
2.对象mail_in使用方法receive(DatagramPacket pack)接受数据包。
3.用DatagramPack类的另外一个构造方法: DatagramPack(byte data[],int length)创建一个数据包,用于接收数据包
广播数据报。
Java远程调用。
教材学习中的问题和解决过程
- 问题1:课本关于URL的构造方法部分,地址为什么写对了也可能发生异常?
- 问题1解决方案:通过查询CSDN可知,由于网络不通,地址不合理,格式不正确等多种原因可导致发生异常。
- 问题2:不太理解套接字的意义
- 问题2解决方案:参考什么是套接字,套接字是用来干什么的?
1、源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。
2、套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。
代码托管

上周考试错题总结
1.下列说法正确的是
A . Java语言的一大特性就是内置对多线程的支持。
B . main方法返回时,JVM就会结束Java应用程序。
C . Java应用程序中第一个线程结束后,JVM结束Java应用程序。
D . Java语言使用Thread类及其子类对象来表示线程。
正确答案: A B D
解析:课本P360-361。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 |
| 第一周 | 24/24 | 1/4 | 15/15 |
| 第二周 | 423/423 | 2/6 | 14/29 |
| 第三周 | 702/1109 | 1/7 | 16/45 |
| 第四周 | 918/2027 | 2/9 | 16/61 |
| 第五周 | 1208/3235 | 2/11 | 15/76 |
| 第六周 | 1137/4372 | 2/13 | 14/90 |
| 第七周 | 549/4921 | 1/14 | 10/100 |
| 第八周 | 1025/5946 | 3/17 | 15/115 |
| 第九周 | 1486/7432 | 2/19 | 15/130 |
20165202 2017-2018-2 《Java程序设计》第9周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 实现类似mysql group_concat的功能
实现类似mysql group_concat的功能 SELECT SG.Id ,SG.GroupName ,HostNames = STUFF((SELECT ',' + SH.[HostName] ...
- mvn设置
mvn仓库网址: https://mvnrepository.com 安装好maven后,一定要确认安装路径下的setting.xml与本地仓库中的setting.xml一致. 坐标: 什么是坐标? ...
- windows使用Pandoc将Markdown转换为PDF文件
pandoc下载:https://github.com/jgm/pandoc/releases/tag/1.19.2.1 //windows下载msi文件 miktex下载:https://mikte ...
- IntelliJ IDEA 开发git多模块项目
1.clone主项目 填写主仓库地址 2.在项目根目录,初始化子模块,并clone源码 git submodule init git submodule update 3.定位到各个子模块根目录,并切 ...
- mysql常见知识点总结
mysql常见知识点总结 参考: http://www.cnblogs.com/hongfei/archive/2012/10/20/2732516.html https://www.cnblogs. ...
- ASP.NET Web API Claims Authorization with ASP.NET Identity 2.1 Part 5 (by TAISEER)
https://www.cnblogs.com/KimmyLee/p/6430474.html https://www.cnblogs.com/rocketRobin/p/9077523.html h ...
- brpc编译运行
自百度开源brpc后就一直在关注,看了下brpc都源码,感觉大牛写的果然不一样,由于之前我做c++游戏服务器开发,所以主要看了下网络底层代码,收益颇多,果然一天不学习就要落伍. 现在主要和大家说下我编 ...
- MongoDB 副本集和C#交互,简单测试
MongoDB 副本集和C#交互,简单测试 primary节点宕机: 模拟primary节点宕机的情况,这时查看监控: 可以看到37018已经成了primary节点.主界面宕机导致了整个集群发生一次e ...
- Nordic老版官网介绍(2018-11-30停止更新)
1. Nordic官网及资料下载 Nordic官网主页:https://www.nordicsemi.com/,进入官网后,一般点击“Products”标签页,即进入Nordic产品下载首页,其独立链 ...
- Enumerable的判断是否包含某个元素
// 通过使用默认的相等比较器(即纯粹的对象比较)确定序列是否包含指定的元素. public static bool Contains<TSource>(this IEnumerable& ...