《java程序设计》第十一周学习总结(代码片段)

sgm5 sgm5     2022-12-09     421

关键词:

《JAVA程序设计》第十一周学习总结

一、目录:

  • 第十三章知识总结
  • 上周错题
  • 代码托管
  • PSP

二、第十三章知识总结:Java网络编程

  • URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序。
  • 一个URL对象包含的三个基本信息:协议、地址和资源。
  • 协议:必须是URL对象所在的Java虚拟机支持的协议,常用的有:Http、Ftp、File协议,由参数protocol指定。
  • 地址:必须是能连接的有效IP地址或域名,由参数host指定。
  • 资源:可以是主机上的任何一个文件,由参数file指定。
  • 构造方法:
public URL (String spec) throws MalformedURLException
public URL(String protocol,String host,String file) throws MalformedURLException
  • URL对象调用InputStream()方法返回一个指向对象包含的资源的输入流,可以用来读取信息。
  • Internet上主机表示地址的两种方式:
    • 域名
    • IP地址
  • 获取地址:
    • 获取Internet上主机地址:getByName(String s)
    • 获取本地机地址:getLocalHost()
  • IntAdress类中两个实例方法:
    • public String getHostName()获取对象所含的域名;
    • public String getHostAdress()获取对象所含的IP地址。
  • 套接字中与mysocket相关的方法:
    • getInputStream()获得一个输入流
      • 用getInputStream()得到的输入流接到另一个DataInputStream数据流上
    • getOutputStream()获得一个输出流
      • 用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上
  • Socket类的构造方法: Socket(String host, int port)
  • ServerSocket 的构造方法:ServerSocket(int port)
  • 使用方法accept()将客户端的套接字和服务器端的套接字连接起来
try Socket sc = serverForClient.accept();

catch(IOException e) 
  • 套接字通信的两个基本原则:
    • 服务器要启动一个专门的线程与客户的套接字建立连接;
    • 套接字的输入流在读取信息时可能发生阻塞,所以客户端与服务器端都需要在一个单独的线程中读取信息。
  • 数据包的发送与接收:
    • 使用DatagramPacked类的构造方法DatagramPacket([字节数组],[长度],[地址],[端口])创建数据包对象
    • 使用DatagramSocket类创建的对象调用send([数据包])方法来发送数据包。
  • 数据包对象可以用DatagramSocket类得到构造方法DatagramPacket([字节数组],[长度])来创建数据包对象。
  • Internet的地址是a.b.c.d的形式,计算机地址分为四大类:
    ②A类:a<128,则a表示网络地址,b,c,d表示主机地址;
    ②B类:128<=a<192,则a,b表示网络地址,c,d表示主机地址;
    ②B类:192<=a则a,b,c表示网络地址,d表示主机地址;
    ②B类:224.0.0.0~224.255.255.255是保留地址,称为D类地址。
  • 远程调用的基本步骤是:客户程序请求远程对象调用方法,然后远程对象调用方法并返回必要的结果。
  • RMI为标志远程对象,实现了java.rmi包中的Remote接口,注意必须扩展这个接口,同时远程对象的类必须要实现Remote接口。
  • 远程对象创建之前,RMI要求远程服务器必须先启动注册rmiregistry。然后远程服务器使用java.rmi包中的Naming类调用类方法rebind(String name.Remote obj)绑定一个远程对象到rmiregistry所管理的注册表中。
  • 存根是一种特殊的字节码,并让这个存根产生的对象作为远程对象的代理,其字节码后缀为"_Stub"
  • 代理的特点是它与远程对象实现了相同的接口。

三、上周错题:

  • 错题一:
    • 使用 Statement 来执行 SELECT 等查询用的 SQL 指令时,应使用下列哪个方法?
      A .executeSQL()
      B .executeQuery()
      C .executeUpdate()
      D .executeFind()
    • 答案:B
  • 错题二:
    • 哪些 JDBC 驱动程序可以有跨平台的特性?
      A .TYPE 1
      B .TYPE 2
      C .TYPE 3
      D .TYPE 4
    • 答案:C,D
  • 错题三:
    • 关于 Connection 的描述,何者正确?
      A .可以从 DriverManager 上取得 Connection
      B .可以从 DataSource 上取得 Connection
      C .在方法结束之后 Connection 会自动关闭
      D .Connection 是线程安全( Thread-safe)
    • 答案:A,B
  • 错题四:
    • 现有以下代码,哪个选项插入将输出“abc”?
    class ForInTest  
    static List list=new ArrayList();
    public static void main (String  []  args)  
    list. add("a"); list. add("b");list. add( "c");
    //insert code here
    System.out.print (o);
    
    

    A .for (Iterator o : list.iterator(); o.hasNext (); )
    B .for (Iterator o : list)
    C .for (Object o : list.iterator())
    D .for (Object o : list)

  • 答案:D
  • 错题五:
    • 现有以下代码,哪些选项插入到第5行可以通过编译?
1. import java.util.*;

2.

3. Class FindStuff  

4.public static void main (String[]args)    

5.    //insert code here

6.    c.put ("X", 123);

7.    

8.  

A .Map c= new SortedMap();
B .HashMap c= new HashMap();
C .HashMap c= new Hashtable();
D .SortedMap c= new TreeMap();
E .ArrayList c= new ArrayList();
F .Map c = new LinkedHashMap();

  • 答案:B,D,F

四、代码托管:

https://gitee.com/sgm5/text1/commit/78388844e3273b54e50bfae9487d80dfa5816c52

五、PSP:

周数 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第十一周 4797/4057 1/12 19/110

20175204张湲祯2018-2019-2《java程序设计》第十一周学习总结(代码片段)

20175204张湲祯2018-2019-2《Java程序设计》第十一周学习总结教材学习内容总结第十三章:Java网络编程:一.URL类1.URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符(UniformResourceLocator),使用URL创建对象的应用程... 查看详情

20175227张雪莹2018-2019-2《java程序设计》第十一周学习总结(代码片段)

20175227张雪莹2018-2019-2《Java程序设计》第十一周学习总结教材学习内容总结第十三章Java网络编程URL类一个URL对象通常包含最基本的三部分信息:协议、地址、资源。URL对象调用InputStreamopenStream()方法可以返回一个输入流,该输入... 查看详情

达拉草201771010105《面向对象程序设计(java)》第十一周学习总结(代码片段)

达拉草201771010105《面向对象程序设计(java)》第十一周学习总结实验十一   集合实验时间 2018-11-8第一部分:理论知识1.集合(Collection或称为容器)是一种包含多个元素并提供对所包含元素操作方法的类,其包含的元... 查看详情

20175120彭宇辰《java程序设计》第十一周学习总结(代码片段)

教材内容总结第十三章Java网络编程一、URL类一个URL对象包含的三个基本信息:协议、地址和资源。-协议:必须是URL对象所在的Java虚拟机支持的协议,常用的有:Http、Ftp、File协议-地址:必须是能连接的有效IP地址或域名-资源:... 查看详情

201771010125王瑜《面向对象程序设计(java)》第十一周学习总结(代码片段)

                                 &n 查看详情

杨玲徐思《面向对象程序设计(java)》第十一周学习总结(代码片段)

《面向对象程序设计(java)》第十一周学习总结第一部分:理论知识学习部分1、一般将数据结构分为两大类:线性数据结构和非线性数据结构。线性数据结构:线性表、栈、队列、串、数组和文件。非线性数据结构:树和图。2... 查看详情

王颖奇20171010129《面向对象程序设计(java)》第十一周学习总结(代码片段)

 实验十一   集合实验时间 2018-11-81、实验目的与要求(1) 掌握Vetor、Stack、Hashtable三个类的用途及常用API;(2) 了解java集合框架体系组成;(3) 掌握ArrayList、LinkList两个类的用途及常用API。(4) 了解Hash... 查看详情

201771010109焦旭超《面向对象程序设计(java)》第十一周学习总结(代码片段)

  1、实验目的与要求(1)掌握Vetor、Stack、Hashtable三个类的用途及常用API;(2) 了解java集合框架体系组成;(3)掌握ArrayList、LinkList两个类的用途及常用API。(4)了解HashSet类、TreeSet类的用途及常用API。(5)了解HashMap、TreeMap两个... 查看详情

王艳201771010127《面向对象程序设计(java)》第十一周学习总结(代码片段)

一:理论部分。1.数据结构:分为a.线性数据结构,如线性表、栈、队列、串、数组和文件。             b.非线性数据结构,如树和图。1)所有数据元素在同一个线性表中必须是相... 查看详情

王志成/王之泰《面向对象程序设计(java)》第十一周学习总结(代码片段)

理论学习部分:JAVA的集合框架lJAVA的集合框架实现对各种数据结构的封装,以降低对数据管理与处理的难度。l所谓框架就是一个类库的集合,框架中包含很多超类,编程者创建这些超类的子类可较方便的设计设计程序所需的类... 查看详情

马凯军201771010116《面向对象与程序设计java》第十一周学习总结(代码片段)

一.理论知识部分第九章 集合1.数据结构介绍:线性结构:线性表,栈,队列,串,数组,文件。非线性结构:树,图。散列表:又称为哈希表。散列表算法的基本思想是:以结点的关键字为自变量,通过一定的函数关系(散... 查看详情

2018-2019-120165306《信息安全系统设计基础》第十一周学习总结(代码片段)

2018-2019-120165306《信息安全系统设计基础》第十一周学习总结9.1物理和虚拟寻址CPU访问内存的最自然的方式就是使用物理地址,这种方式成为物理寻址。使用虚拟寻址时,CPU通过生成一个虚拟地址(VA)来访问主存,这个虚拟地址... 查看详情

20172308《程序设计与数据结构》第十一周学习总结

201723082017-2018-2《Java程序设计》第十周学习总结教材学习内容总结第24章初识Android1.应用程序结构:两个节点app:-manifests(包含AndroidManifest.xml文件,描述应用程序)-java(包含所有的Java应用程序和测试类)-res(包含资源文件)Gr... 查看详情

2018-2019-120165330《信息安全系统设计基础》第十一周学习总结(代码片段)

学习目标理解虚拟存储器的概念和作用理解地址翻译的概念理解存储器映射掌握动态存储器分配的方法理解垃圾收集的概念了解C语言中与存储器有关的错误学习内容虚拟存储器计算机系统的主存被组织成一个由M个连续的字节大... 查看详情

201771010111李瑞红《第十一周学习总结》(代码片段)

  实验十一  集合实验时间2018-11-8第一部分:理论总结1.栈(Stack)也是一种特殊的线性表,是一种后进先出(LIFO)的结构。栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为(bottom)。栈的物... 查看详情

第十一周编程总结(代码片段)

这个作业属于的课程c语言程序设计Ⅱ这个作业的要求在哪里https://pintia.cn/problem-sets/1125184673725857792我在这个课程的目标是学会基础实用编程这个作业在哪个具体方面帮助我实现目标 参考文献c语言程序设计2-1宏定义“#define... 查看详情

第十一周作业

20162310林臻《程序设计与数据结构》第十一周学习总结教材学习内容总结图的遍历教材学习中的问题和解决过程问题1:如何进行深度优先遍历问题1解决方案:这部分答案书本中并没有详细的解答,但是娄老师给的PPT详细说明了... 查看详情

第十一周进度总结报告

学习时长30h代码量1000博客数量7篇学习内容Android不同页面间的数据传递等 查看详情