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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- [转]如何为图片添加热点链接?(map + area)
原文地址:https://www.cnblogs.com/jf-67/p/8135004.html 所谓图片热点链接就是为图片指定一个或多个区域以实现点击跳转到指定的页面.简单来说就是点击某一区域就能 ...
- Windows下ADB默认的5037port被占用,解决方式。
Windows下可能会因为系统版本号不一样的原因导致有的系统5037port被系统进程占用.导致ADB无法使用5037port,从而导致ADB不能打开.在eclipse上跑Android程序的时候显示 ...
- CShopDialog类
#ifndef SHOP_H #define SHOP_H #include "XWidget.h" #include "GameConfig.h" class ...
- 【MySql】Java 批量插入数据库addBatch
//addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator& ...
- 在sql中根据成绩显示学生排名
1.准备 create table newtable ( name ), yuwen ), shuxue ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; , ); , ...
- DelphiXE8FMX工程实现无边框托动(FMX内部方法)
注意: 可以实现效果,但不知道我的用法对不对(或着说是不是最优化的用法),望高手们指教. 实例代码: unit Unit1; interface uses System.SysUtils, Syste ...
- Qt之QThreadPool和QRunnable
简述 QRunnable 是所有 runnable 对象的基类,而 QThreadPool 类用于管理 QThreads 集合. QRunnable 类是一个接口,用于表示一个任务或要执行的代码,需要 ...
- Memcached 1.4.20 发布,集中式缓存系统
内存缓存Memcached 1.4.20发布.2014-05-12 上一个版本是2014-05-01的1.4.19 此版本只修正了一个1.4.18和1.4.19中引入的Bug. 此版本只是修复了导致 ...
- android 百度地图开发实例(转载)
因为在我的寝室google基站定位返回的数据总是为空,所以换成百度地图,发现百度地图开发起来非常方便,提供了许多有用的工具,地图的加载速度也比google地图快许多. 为了加强记忆,写一点androi ...
- oracle起定时任务,每隔1秒执行一次
创建一个测试表和一个存储过程: create table a(a date); create or replace procedure test as begin insert into a valu ...