20165330 2017-2018-2 《Java程序设计》第9周学习总结
课本知识总结
第十三章 Java网络编程
- URL类
- URL类是java.net包中的一个重要的类
- 一个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
- 调用InputStream openStream()方法返回一个输入流
- InetAddress类
- Internet上主机表示地址的两种方式
- 域名
- IP地址
- 获取地址
- 获取Internet上主机地址:getByName(String s)
- 获取本地机地址:getLocalHost()
- 套接字
- 是基于TCP协议的网络通信
- 客户端套接字
- 对象建立方法:使用Socket类
- Socket构造方法:Socket(String host,int port)
- ServerSocket对象与服务器端套接字
- 构造方法:ServerSocket(int port)
- 使用方法accept()将客户端的套接字和服务器端的套接字连接起来
try{ Socket sc = serverForClient.accept();
}
catch(IOException e) {}
- 通信完毕后,套接字使用close()方法关闭套接字连接
- 多线程技术
- 服务器端收到一个客户端的套接字时,就会启动一个专门为该客户服务的线程
- 套接字通信基本原则
- 服务器应当启动一个专门的线程,在该线程中和客户的套接字建立连接
- 由于套接字的输入流在读取信息时可能发生阻塞,客户端和服务器端都需要在一个单独的线程中读取信息
- UPD数据报
- 基于UPD通信的基本模式
- 将数据打包发往目的地
- 接收发来的数据包并查看内容
- 发送数据包
- 打包:使用DatagramPacket类
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
- 发送:使用构造方法DatagramSocket()创建一个对象
- 接收数据包
- 使用构造方法DatagramSocket(int port)创建一个对象
- 使用方法receive(DatagramPacket pack)接收数据包
- 广播数据报
- A类地址:a<128,则b.c.d表示主机
- B类地址:128<=a<192,则a.b表示网络地址,c.d表示主机地址
- C类地址:a>=192,a.b.c表示网络地址,d表示主机地址
- D类地址:224.0.0.0~224.255.255.255是保留地址
- 要广播或接收广播的主机都必须加入到同一个D类地址
- RMI是一种分布式技术,使用RMI可以让一个虚拟机(JVM)上的应用程序请求调用位于网络上另一处JVM上的对象方法
遇到的问题及解决方法
- 在运行本章第一个代码时出现

解决方法:将两个程序分别打包在同一文件夹下,通过输入
javac -encoding gbk Example13_1.java,然后成功编译并运行。
代码托管

上周错题总结
解析:
解析:当main方法中没有创建其他的线程,main方法返回时,JVM就会结束Java应用程序;当main方法中创建了其他线程,要等到所有线程都结束,JVM才会结束Java应用程序
解析:C项:先前的实体会成为“垃圾”,并且不会被垃圾收集器收集。D项:当线程进入死亡状态后,线程就还可以调用isAlive()方法,并且返回值为false。
20165330 2017-2018-2 《Java程序设计》第9周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 第十六周oj刷题——Problem E: B 构造函数和析构函数
Description 在建立类对象时系统自己主动该类的构造函数完毕对象的初始化工作, 当类对象生命周期结束时,系统在释放对象空间之前自己主动调用析构函数. 此题要求: 依据主程序(main函数)和程 ...
- nginx源代码分析--GDB调试
利用gdb[i]调试nginx[ii]和利用gdb调试其他程序没有两样,只是nginx能够是daemon程序,也能够以多进程执行,因此利用gdb调试和寻常会有些许不一样. 当然,我们能够选择将ngin ...
- CHero
#ifndef __HERO_H__ #define __HERO_H__ #include "GameFrameHead.h" #include "GameParam. ...
- 452. Remove Linked List Elements【Naive】
Remove all elements from a linked list of integers that have value val. Example Given 1->2->3- ...
- 通过web界面查看hadoop集群运行日志的地址
通过web界面查看hadoop集群运行日志的地址: http://hostname:8088/logs/ SecurityAuth-root.audit 0 bytes Aug 27, 2016 5 ...
- location.href 不响应的解决方法
在某些时候修改元素的值的时候过快会导致失效 1.window.open("","_blank") 代替 不过也是打开新窗口 2.延迟调用location.hr ...
- lua自用的函数收集
这里记录一下我常用到的一些lua函数,不定期更新. 1.cirleAdd函数是用来一个循环自增的,其中num是最大值, startNum是起始值,stepNum是步长,startFlag默认真起始值从 ...
- openvpn 移植之生成证书和私钥
openvpn 是通过 openssl 的各种验证进行连接的,生成证书的过程可以在 Ubuntu 的环境下生成. 步骤如下: 一. 在Ubuntu下安装 openvpn // 这是在 Ubuntu 1 ...
- php -- 文件操作类(文件或文件夹的:创建、删除、复制、移动)
<? /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::create ...
- RecyclerView底部刷新实现具体解释
关于RecyclerView底部刷新实现的文章已经非常多了,但大都仅仅介绍了其基本原理和框架,对当中的非常多细节没有交代,无法直接使用. 本文会着重介绍RecyclerView底部刷新实现的一些细节处 ...



