20165203《Java程序设计》第九周学习总结
20165203《Java程序设计》第九周学习总结
教材学习内容总结
URL类
- URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序。
- 一个URL对象通常包含最基本的三部分信息:协议、地址、资源。
- 构造方法:
public URL(String spec) throws MalformedURLException
public URL(String protocol, String host,String file) throws MalformedURLException
- 读取URL中的资源:URL对象调用
InputStream openStream()
InetAdress类
- 地址的表示:域名和IP地址
- 获取Internet上主机的地址:
1.可以使用InetAddress类的静态方法getByName(String s);
2.获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息:
www.sina.com.cn/202.108.37.40 - 获取本地机的地址
可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。
套接字
与mysocket相关的方法
getInputStream()获得一个输入流
getOutputStream()获得一个输出流
用getInputStream()得到的输入流接到另一个DataInputStream数据流上
用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上ServerSocket对象与服务器端套接字:
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通信的基本模式是:
1将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。
2.接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。发送数据包
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 远程调用(RMI)
教材学习中的问题和解决过程
Q:在学习教材时,不太明白套接字的含义
A:经过自己查阅百度和资料,得到了答案:
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。
它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
-- 套接字
代码调试中的问题和解决过程
代码托管

上周考试错题总结
对于下列程序,哪个叙述是正确的?
public class E {
public static void main(String args[])
Target target =new Target();
Thread thread =new Thread(target);
thread.start();
}
}
class Target implements Runnable{
public void run(){
System.out.println("ok"); }
}
A.JVM认为这个应用程序共有两个线程。
B.JVM认为这个应用程序只有一个主线程。
C.JVM认为这个应用程序只有一个thread线程。
D.thread的优先级是10级。
正解:B
解析:本题是用Thread创建的线程,很明显,Thread只创建了一个线程thread。
所以,我们在利用Thread声明线程时,thread声明了几个线程,自然线程就有几个。
其他(感悟、思考等,可选)
本周学习了Java专门用于网络编程的类,联系了计算机网络课上学到的知识,感觉收获颇丰。
学习进度条
| ~ | 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 48/48 | 1/1 | 20/20 | |
| 第二周 | 390/438 | 2/3 | 18/38 | |
| 第三周 | 886/1304 | 1/4 | 18/56 | |
| 第四周 | 1105/2409 | 1/5 | 30/86 | |
| 第五周 | 1229/3196 | 1/6 | 20/106 | |
| 第六周 | 1147/4343 | 2/8 | 25/131 | |
| 第七周 | 1862/3668 | 1/9 | 20/151 | |
| 第八周 | 955/5298 | 1/10 | 20/171 | |
| 第九周 | 1413/5801 | 1/11 | 11/182 |
20165203《Java程序设计》第九周学习总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 20145220java程序设计第九周学习总结
20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 马凯军201771010116《面向对象与程序设计Java》第九周学习总结
一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 《Java》第九周学习总结
下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新
随机推荐
- python print end=' ' 不换行
python3.x 实现print 不换行 python中print之后是默认换行的,是因为其默认属性 end 默认值为"\n"(\n为换行符). 做练习99乘法表时不想换行,改变 ...
- R语言 神经网络算法
人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...
- python抓取
我要抓取奥巴马每周的演讲内容http://www.putclub.com/html/radio/VOA/presidentspeech/index.html 如果手动提取,就需要一个个点进去,再复制保 ...
- egg.js路由的优雅改造
引言 在使用express,koa, 或者是egg.js进行node server开发的过程中,我们的路由基本上都是定义在controller层的,框架对于 node 原生路由都会进行一层封装,一版都 ...
- Nginx+Tomcat+Memcache实现负载均衡及Session共享
第一部分 环境介绍 部署环境: Host1:Nginx.Memcached.Tomcat1 Host2:Tomcat2 Tomcat_version:8.0.38 第二部分 Nginx+Tomcat实 ...
- Composer学习之————Ubuntu14.04下安装Composer
下载Composer: curl -sS https://getcomposer.org/installer | php 安装Composer: /usr/bin/php composer.phar ...
- ul标签的高度为0
由于项目中使用ul+li的布局方式,在ie8.chrome浏览器中,包裹浮动的li元素的外层ul高度为0,ie7浏览器和ie8兼容模式显示正常,这是典型的浏览器兼容性问题. 解决办法: 第一种:设置u ...
- asp.net 练习 js 调用webservice
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 2016-2017-20155329 《Java程序设计》第5周学习总结
学号 2016-2017-20155329 <Java程序设计>第5周学习总结 教材学习内容总结 Java中所有错误都会被打包为对象,运用try.catch,可以在错误发生时显示友好的错误 ...
- Java容器List接口
List接口是Java中经常用到的接口,如果对具体的List实现类的特性不了解的话,可能会导致程序性能的下降,下面从原理上简单的介绍List的具体实现: 可以看到,List继承了Collection接 ...