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


    《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
  • 相关阅读:
    sql datareader多线程访问时出错
    程序中判断path中是否有某个文件
    asp中接收到querystring是utf8编码的处理方式
    SuppressIldasmAttribute 属性的使用和去掉
    C#中检测access mdb 版本
    发布一款数据库查询工具(更新,支持db2 950 c) 2008429
    多数据库查询工具(更新,支持text file define) 2008527
    ajax loading 总结
    通过网页发送QQ消息
    老板是在Challenge吗?
  • 原文地址:https://www.cnblogs.com/sgm5/p/10852284.html
Copyright © 2020-2023  润新知