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

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

教材学习内容总结

第十二章 java网络编程

  • 学习了用于网络编程的类,了解URL、Socket、InetAddress和DatagramSocket类在网络编程中的重要作用
  • 使用URL创建对象的应用程序称作客户端程序。
  • public URL(String spec) throws MalformedURLException构造方法创建URL对象。
  • 通过调用InputStream openStream()方法返回指向URL对象包含的资源的输入流,可以将服务器上的资源信息读入到客户端
  • 网络套接字是基于TCP协议的有连接通信。服务器建立ServerSocket对象,负责等待客户端请求建立套接字连接,客户端建立Socket对象向服务器发出套接字连接请求
  • 基于UDP的通信比基于TCP的通信传递信息更快,但不提供可靠性保证
  • 设计广播数据报网络程序时,必须将要广播或接受广播的主机加入到同一个D类地址
  • 使用RMI可以让JVM上的应用程序请求调用位于网络上另一处JVM上的对象方法

教材学习中的问题和解决过程

  • 问题1:为什么URL地址正确也可能发生异常?
    问题1解决方案:通过学习教学视频了解到:由于网络不通,地址不合理,格式不正确等多种原因可导致发生异常。

代码调试中的问题和解决过程

  • 问题1:调试p410页的代码时出现以下错误提示
    20165230 2017-2018-2 《Java程序设计》第9周学习总结

  • 问题1解决:发现是将ReceiveLetterForLi的代码拷贝错误到ReceiveLetterForZhang类中,出现了重复
  • 问题2:if后是单句,但显示没有加大括号,不能省略吗?
    20165230 2017-2018-2 《Java程序设计》第9周学习总结

  • 问题2解决:通过查询CSDN,找到了答案:

    理由大致如下:

    1. 为了代码规范,应该在if后加大括号
    2. 如果需要在if后声明临时变量,需要加上大括号,否则编译通过不了
    3. google的编程规范是说if后必须要加(不知道真假,也没去追究)
    4. 为了代码以后修改不产生歧义
    5. 结论:java编程中if后面需要加大括号。约定优于配置

代码托管

https://gitee.com/BESTI-IS-JAVA-2018/20165230/commit/5dd42538867b45b2b037b6d2039c2cf622fd26d9

代码截图

本周许多代码都是通过idea上的git上传到码云,因此虚拟机里的代码量比实际少
20165230 2017-2018-2 《Java程序设计》第9周学习总结

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 13/13 1/30 19/19
第二周 426/426 3/30 12/12
第三周 562/562 4/30 15/15
第四周 1552/1958 5/30 16/16
第五周 1123/3086 6/30 14/14
第六周 747/3833 8/30 12/12
第七周 953/4786 11/30 13/3
第八周 1095/5881 13/30 14/14
第九周 749/6630 15/30 12/12

参考资料

上一篇:Java爬虫系列二:使用HttpClient抓取页面HTML


下一篇:Python_高阶函数、装饰器(decorator)