教材学习内容总结

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周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. 20145103 《Java程序设计》第7周学习总结

    20145103<Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文件说明,或者是API的日期时间字 ...

  2. RocEDU.阅读.写作《苏菲的世界》书摘(四)

    亚理斯多德认为,快乐有三种形式.一种是过着享乐的生活,一种是做一个自由而负责的公民,另一种则是做一个思想家与哲学家.接着,他强调,人要同时达到这三个标准才能找到幸福与满足. 亚理斯多德提倡所谓的&qu ...

  3. Android执行shell命令 top ps

    Android执行shell命令 一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/ ...

  4. 求生之路 Hammer World Editor打开后闪退解决办法

    试过WinXp.Win7.Win10 都无法正常启动Hammer,搜索N多资料后发现如图修改 控制面板 -> 区域 -> 格式 -> 英语[美国] 即可正常启动了!!!

  5. let与const心智模型

    let 与 const 心智模型: let与const分别是变量与常量的块级声明关键字: 其主要目的是为了约束开发者编写出逻辑更加清晰,阅读性更好的代码: 它们体现了JavaScript的" ...

  6. SpringCloud Feign报错:Method has too many Body parameters

    1.feign多参数问题 1.1GET方式 错误写法 @RequestMapping(value="/test", method=RequestMethod.GET) Model ...

  7. spark(三)从hbase取数据

    前言 通过spark获取hbase数据的过程中,遇到了InputFormat.文章主要围绕InputFormat介绍.会牵扯到spark,mapreduce,hbase相关内容 InputFormat ...

  8. spark SQL学习(spark连接hive)

    spark 读取hive中的数据 scala> import org.apache.spark.sql.hive.HiveContext import org.apache.spark.sql. ...

  9. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...

  10. pg按日,周,月进行数据统计

    pg数据库按周,月统计数据 SELECT date_trunc('WEEK', insert_time) as insertDate, SUM(data_increment) as dataTotal ...