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程序设计》第九周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第九周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...

  2. 20145220java程序设计第九周学习总结

    20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...

  3. 201771010134杨其菊《面向对象程序设计java》第九周学习总结

                                                                      第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...

  4. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  9. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  10. 《Java》第九周学习总结

    下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新

随机推荐

  1. HDU 6006 状压dp

    Engineer Assignment Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  2. 四、java面向对象编程_2

    目录 六.对象的创建和使用 七.this关键字 八.static关键字 九.package和import语句 十.类的继承 十一.访问控制 十二.方法的重写 十三.super关键字 十四.继承中的构造 ...

  3. js正则表达式----replace

    1.分组 '442665319@qq.com'.replace(/(\d+)(@)(\w+)(\.com)/,'[$1]$2[$3]$4') //"[442665319]@[qq].com& ...

  4. 科学计算三维可视化---TraitsUI(控件)

    一:文本编辑器 from traits.api import HasTraits,Int,Str,Password from traitsui.api import View,Item,Group,M ...

  5. bzoj千题计划148:bzoj1537: [POI2005]Aut- The Bus

    http://www.lydsy.com/JudgeOnline/problem.php?id=1537 朴素的转移:dp[i][j]=max(dp[i][j-1],dp[i-1][j])+p[i][ ...

  6. [洛谷P3158] [CQOI2011]放棋子

    洛谷题目链接:[CQOI2011]放棋子 题目描述 在一个m行n列的棋盘里放一些彩色的棋子,使得每个格子最多放一个棋子,且不同 颜色的棋子不能在同一行或者同一列.有多少祌方法?例如,n=m=3,有两个 ...

  7. spring boot获取前端参数四种方法

    一:直接参数绑定 @RequestMapping("/hello") @ResponseBody public String hello(String para) { // par ...

  8. CodeForces 714A

    Description Today an outstanding event is going to happen in the forest — hedgehog Filya will come t ...

  9. 外卖(food) & 洛谷4040宅男计划 三分套二分&贪心

    food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久.    外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 Si ...

  10. 如何更优雅地写Django REST framework

    DRF(Django REST framework)是一个高度封装的框架,这导致想完成一件事情可以通过重写父类函数的方式从DRF的各个层次来写,都能够实现目的. 比如写视图函数,可以用继承APIVie ...