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

教材学习内容总结

  • 基础

     - URL类:java.net包中的URL类是对统一资源定位符的抽象,使用URL创建对象的应用程序称作客户端程序,客户端程序的URL对象调用InputStream openStream() 方法可以返回一个输入流,该输入流指向URL对象所包含的资源,通过该输入流可以将服务器上的资源信息读入到客户端。
    - InetAddress类
  • 重点(实用):套接字

     - 网络套接字是基于TCP协议的有连接通信
    - 套接字连接就是客户端的套接字对象和服务器端的套接字对象通过输入流、输出流连接在一起
    - 服务器建立ServerSocket对象,ServerSocket对象负责等待客户端请求建立套接字连接,而客户端建立Socket对象向服务器发出套接字连接请求。
  • 了解:UDP数据报,广播数据报

  • 难点:Java远程调用(RMI)

     - RMI是一种分布式技术,使用RMI可以让一个虚拟机上的应用程序请求调用位于网络上另一处虚拟机上的对象方法。

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

  • 问题1:教材396页中,在URL的构造方法那部分,地址为什么写对了也可能发生异常?
  • 问题1解决方案:通过微课老师讲解可知,由于网络不通,地址不合理,格式不正确等多种原因可导致发生异常。
  • 问题2:从套接字连接中读取数据与从文件中读取数据有何不同?
  • 问题2解决方案:通过教材中的讲解可知,尽管二者都是都是输入流,但从文件中读取数据时,所有数据都已经在文件中了;而使用套接字连接时,可能在另一端数据发送之前,就已经开始读取了,这时,就会堵塞本线程,直到该读取方法成功读取到信息,本线程才继续执行后续的操作。

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

  • 问题1:在运行教材的代码一开始出现了如下图所示的问题?

  • 问题1解决方案:这是由于没有设置output的路径。解决过程如下:

1、在Modules设置里勾选Inherit project compile path

2、设置Project中的Project compiler output,选择“Project的路径”+”\out”

这样就可以解决这个问题。

  • 问题2:教材402页例子3中,为什么在运行服务器时,没有显示问题的答案就直接跳出“客户已断开”的提示呢?
  • 问题2解决方案:由于客户端需要在服务器运行之前就开始运行。客户端运行后,会在第一个问题出来后被阻塞,服务器运行后收到回答便能正常运行直到结束。

代码托管

上周考试错题总结

  • 错题1:进程的基本状态有:新建、运行、阻塞、死亡。

原因:教材中讲解的进程的四个状态是:新建、运行、中断、死亡。我查找网络上则是5个状态:创建、就绪、执行、阻塞、终止。所以有些混淆。

理解情况:阻塞与中断应该是类似的状态。

其他(感悟、思考等,可选)

本周学习内容中13章的内容,自我感觉Java网络编程这部分知识还是比较难掌握的。在看微课时,就会引出许多问题,比如“从套接字连接中读取数据与从文件中读取数据有何不同?”,或者是明白ServerSocket对象与服务器连接的原理与示意图,但是很难写出对应的代码,有些无从下手,这些方法与异常处理又出现多种情况,细节很多,在做课下测试题时也感觉比较吃力,还得多敲代码进行相应的练习才能慢慢理解代码编写的过程。

20165233 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. PHP CURL HTTPS内存泄露问题

    还原场景:通过一直运行脚本,向微信用户发送模板消息,发现运行了一段时间,内存就爆了,然后立马看了一下代码,发现跟其他的消息逻辑一模一样,唯一不一样的就是请求了微信的接口:然后继续开始找问题,发现当时使 ...

  2. ElasticSearch(八):springboot集成ElasticSearch集群并使用

    1. 集群的搭建 见:ElasticSearch(七) 2. springboot配置集群 2.1 创建springboot项目,使用idea创建,不过多介绍(创建项目时候建议不要勾选elastics ...

  3. 八皇后 递归or迭代

    递归: #include <iostream> #include <cstdlib> #include <cstdio> using namespace std; ...

  4. hdu2098 分拆素数和 素数筛

    将一个偶数拆成两个素数的和,欧拉筛暴力 #include<stdio.h> #include<string.h> #define N 10001 ]; ]; ,j; void ...

  5. && 和 || 运算

    a() && b() :如果执行a()后返回true,则执行b()并返回b的值:如果执行a()后返回false,则整个表达式返回a()的值,b()不执行: a() || b() :如果 ...

  6. C易忽视的基础

    1.输出格式控制:%x按int型16进制输出: %d按int型十进制输出:变量超出4字节会丢掉低位!!!!(却不是被截断!!!) void main() { int a=0x11223344; lon ...

  7. leetcode:Single Number【Python版】

    1.用双重循环逐个遍历(超时) 2.用list B的append和remove函数(超时) 3.用dict B(AC) class Solution: # @param A, a list of in ...

  8. Oracle 基础知识入门

    前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...

  9. tomcat源码阅读之容器(Container)

    一. 实现容器的接口是Container接口,Tomcat中共有四种类型的容器: 1.Engine:表示整个Catalina Servlet引擎: 2.Host:表示含有一个或者多个Context容器 ...

  10. sklearn的画图

    from sklearn.metrics import roc_curve fpr, tpr, thresholds=roc_curve(y_train_5, y_scores) fpr, tpr & ...