20165215 2017-2018-2 《Java程序设计》第九周学习总结

教材学习内容总结

  • URL类

    • URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程序称为客户端程序。
    • 一个 URL 对象通常包含最基本的三部分信息:协议、地址和资源
    • URL 对象的构造方法:
    public URL (String spec)throws MalformedURLException;
    public URL (String protocol, String host, String file) throws MalformedURLException
  • InetAddress类
    • Internet上的主机有域名和IP地址两种方式表示地址
    • 使用InetAddress类的静态方法getByName(String s)将一个域名或 IP 地址传递给该方法的参数 S,获得一个 InetAddress 对象
    • public String getHostName()获取InetAddress对象所含的域名
    • public String getHostAddress()获取InetAddress对象所含的IP地址
    • 使用InetAddress类的静态方法getLocalHost获得含有本机域名和IP地址的对象
  • 套接字
    • 当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号和IP地址的组合得出一个网络套接字)
    • Socket类的构造方法为Socket(String host, int port),参数host是服务器的IP地址,port是端口号
    • ServerSocket 的构造方法是 ServerSocket(int port),port 是一个端口号
    • 可以使用方法accept()将客户端的套接字和服务器端的套接字连接起来
    • 从套接字连接中读取数据与从文件中读取数据有着很大的不同,从文件中读取数据时,所有的数据都已经在文件中了,而使用套接字连接时,可能在另一端数据发送之前,就已经开始读取了
    • 注意accept方法也会阻塞线程的执行,直到接收到客户的呼叫
  • UDP数据报
    • 套接字是基于TCP协议的网络通信
    • UDP的信息传递更快,但不提供可靠性保障,即无法知道数据能否正确到达目的地,也不能确定数据到达目的地的顺序是否和发送的顺序相同
    • 用DatagramPacket的以下两个构造方法创建待发送的数据包:
    DatagramPacket(byte data[],int length,InetAddtress address,int port)
    DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
    • 方法DatagramSocket()负责发送数据包,方法receive(DatagramPacket pack)负责接收数据包
  • 广播数据报
    • D类地址不是用来你代表位置的,即在网络上不能使用D类地址去查找计算机
    • 224.0.0.0~224.255.255.255是保留地址,称作D类地址
    • 要广播或接收广播的主机都必须加入到同一个 D 类地址
  • Java远程调用
    • 使用RMI可以让一个虚拟机上的应用程序请求调用位于网络上另一处虚拟机上的对象
    • 代理的特点是它与远程对象实现了相同的接口
    • 存根是一种特殊的字节码,并让这个存根产生的对象作为远程对象的代理,其字节码后缀为"_Stub"

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1
    调用线程的interrupt()方法 ,会抛出()异常对象?
    A.IllegalStateException
    B.RuntimeException
    C.InterruptedException
    D.SecurityException
    正解:C D
    • 理解情况:面对这样的提醒靠记忆是远远不够的,应学会查看API
  • 错题2
    下列说法正确的是
    A.Java语言的一大特性就是内置对多线程的支持
    B.main方法返回时,JVM就会结束Java应用程序
    C.Java应用程序中第一个线程结束后,JVM结束Java应用程
    D.Java语言使用Thread类及其子类对象来表示线程。
    正确答案:A B D
    • 理解情况:在main没有创建其他线程时,main方法返回时,JVM就会结束Java应用
  • 错题3
    下列关于线程常用的方法的叙述,错误的是
    A.让run方法执行完毕,线程就变成死亡状态
    B.如果线程在休眠时被打断,JVM会抛出InterruptedException异常
    C.一个已运行的线程没有进入死亡状态时,如果再给线程分配实体,则先前的实体会被垃圾收集器收集掉
    D.当线程进入死亡状态后,线程就不能够调用isAlive()方法了
    正确答案:C D
    • 理解情况:本题属于粗心错误,漏选了D选项。当线程进入死亡状态后,线程就还可以调用isAlive()方法,并且返回值为false

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 37/37 1/1 15/15
第二周 398/429 2/3 15/30
第三周 753/1167 1/4 20/50
第四周 1296/2109 2/6 20/70
第五周 1191/3323 2/8 20/90
第六周 1806/4390 2/10 15/105
第七周 1260/5145 2/12 15/120
第八周 606/5745 3/15 20/140
第九周 596/6341 1/16 15/155

参考资料

20165215 2017-2018-2 《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. python-面向对象-07_继承

    继承 目标 单继承 多继承 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不 ...

  2. (1.14)mysql锁问题之MyIsam

    1.mysql锁概述 BDB被InnoDB代替了,MyIsam在8.0也被抛弃了 2.MyIsam表锁(读写是串行的) [2.1]查看表锁争用情况. MyIsam存储引擎只支持表锁. 查看表锁争用情况 ...

  3. centos7.2 mysql5.5编译安装

    环境 centos7.2 源码包mysql5.5.38 mysql5.5开始,源码配置编译工具configure变成了cmake,所以先要去把cmake装上.并安装make,bison,cmake,g ...

  4. Codefoces 432C Prime Swaps(数论+贪心)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/26094917 题目连接:Codefoces ...

  5. 20180322 对DataTable里面的数据进行去重

    对DataTable里面的数据进行去重 DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(int)); dt. ...

  6. mysql在linux上的安装

    前提: 环境:workstation 11 + CentOS 7 + mysql-5.6.40 安装前先查看服务器里是否有老版本的mysql已经被安装了 rpm -qa|grep mysql 如果有就 ...

  7. maven配置本地仓库通用

    只要在settings.xml文件中指定仓库就可以了,然后复制仓库到任何地方都可以使用,eclipse中指定一个settings.xml就可以了 仓库的位置是.locks所在目录

  8. Elasticsearch6.13 升级6.24 单节点停机升级

    Elasticsearch6.x 升级6.y 是支持滚动升级的,目前我们测试环境只有一个节点只能停机升级了 准备工作 禁用分片分配 curl -X PUT "localhost:9200/_ ...

  9. div+CSS实现页面的布局要点记录

    1.页面任何控件可以通过div包装为一个模块,然后通过margin(外补丁)和padding(内补丁)对控件位置的摆放进行控制,以实现想要的效果. 2.position:absolute;对控件实现绝 ...

  10. 前端MD5加密【单向加密】

    密码存储的方式: 密码该如何存储呢?按照安全性由低到高,有这样几种选择: 1.密码名文直接存储在系统中 2.密码经过对称加密后再存储 3.密码经过非对称加密后再存储 步骤: 1.用户端:用户提交用户名 ...