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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- C#趣味程序---爱因斯坦的台阶问题
问题:设有一阶梯,每步跨2阶.最后余1阶.每步跨3阶.最后余2阶:每步跨5阶.最后余4阶:每步跨6阶.最后余5阶:每步跨7阶.刚好到阶顶.问共同拥有多少阶梯? using System; namesp ...
- PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/50728536 本文出自[我是干勾鱼的博客] 使用PL/SQL developer ...
- Java多线程简析——Synchronized(同步锁)、Lock以及线程池
Java多线程 Java中,可运行的程序都是有一个或多个进程组成.进程则是由多个线程组成的.最简单的一个进程,会包括mian线程以及GC线程. 线程的状态 线程状态由以下一张网上图片来说明: 在图中, ...
- 每日英语:A Better Way To Treat Anxiety
Getting up the nerve to order in a coffee shop used to be difficult for 16-year-old Georgiann Steely ...
- 深入学习HttpClient(一)扩展额外的功能
HttpClient作为.net4.5新增的Http库除了对于async/await形式的异步支持外,还向我们展示了其强大的扩展能力. [类库的设计] 让我们先看下Httpclient的设计图: 图中 ...
- 基于HTML5坦克大战游戏简化版
之前我们有分享过不少经典的HTML5游戏,有些还是很有意思的,比如HTML5版切水果游戏和HTML5中国象棋游戏.今天要分享的是一款简化版的HTML5坦克大战游戏,方向键控制坦克的行进方向,空格键发射 ...
- QT 4.8.5 源代码目录调整
* 前言: 有一个代码比较乱的 QT 源码,我想让它分目录整理一下,特此记录一下. * 在原来的代码里面,里面很多文件都是在主文件里面,这样做的话不好维护以及整理 network 里面所有的文件都是和 ...
- PHP——数组和数据结构
<body> <?php $arr[0]=5;//赋值定义 $arr[1]="aa"; print_r($arr); echo "<br /> ...
- ajax——用ajax写用户注册
zhuce.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- DRBD(Distributed Replicated Block Device) 分布式块设备复制 进行集群高可用方案
DRBD是一个用软件实现的.无共享的.服务器之间镜像块设备内容的存储复制解决方案. 外文名 DRBD drbdadm 高级管理工具 drbdsetup 置装载进kernel的DRBD模块 drbdme ...