20165215 2017-2018-2 《Java程序设计》第九周学习总结
20165215 2017-2018-2 《Java程序设计》第九周学习总结
教材学习内容总结
- URL类
- URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程序称为客户端程序。
- 一个 URL 对象通常包含最基本的三部分信息:协议、地址和资源
- URL 对象的构造方法:
public URL (String spec)throws MalformedURLException;
public URL (String protocol, String host, String file) throws MalformedURLException
- InetAddress类
- Internet上的主机有域名和IP地址两种方式表示地址
- 使用InetAddress类的静态方法
getByName(String s)
将一个域名或 IP 地址传递给该方法的参数 S,获得一个 InetAddress 对象 public String getHostName()
获取InetAddress对象所含的域名public String getHostAddress()
获取InetAddress对象所含的IP地址- 使用InetAddress类的静态方法
getLocalHost
获得含有本机域名和IP地址的对象
- 套接字
- 当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号和IP地址的组合得出一个网络套接字)
- Socket类的构造方法为
Socket(String host, int port)
,参数host是服务器的IP地址,port是端口号 - ServerSocket 的构造方法是
ServerSocket(int port)
,port 是一个端口号 - 可以使用方法accept()将客户端的套接字和服务器端的套接字连接起来
- 从套接字连接中读取数据与从文件中读取数据有着很大的不同,从文件中读取数据时,所有的数据都已经在文件中了,而使用套接字连接时,可能在另一端数据发送之前,就已经开始读取了
- 注意accept方法也会阻塞线程的执行,直到接收到客户的呼叫
- UDP数据报
- 套接字是基于TCP协议的网络通信
- UDP的信息传递更快,但不提供可靠性保障,即无法知道数据能否正确到达目的地,也不能确定数据到达目的地的顺序是否和发送的顺序相同
- 用DatagramPacket的以下两个构造方法创建待发送的数据包:
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
- 方法
DatagramSocket()
负责发送数据包,方法receive(DatagramPacket pack)
负责接收数据包
- 广播数据报
- D类地址不是用来你代表位置的,即在网络上不能使用D类地址去查找计算机
- 224.0.0.0~224.255.255.255是保留地址,称作D类地址
- 要广播或接收广播的主机都必须加入到同一个 D 类地址
- Java远程调用
- 使用RMI可以让一个虚拟机上的应用程序请求调用位于网络上另一处虚拟机上的对象
- 代理的特点是它与远程对象实现了相同的接口
- 存根是一种特殊的字节码,并让这个存根产生的对象作为远程对象的代理,其字节码后缀为"_Stub"
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1
调用线程的interrupt()方法 ,会抛出()异常对象?
A.IllegalStateException
B.RuntimeException
C.InterruptedException
D.SecurityException
正解:C D
- 理解情况:面对这样的提醒靠记忆是远远不够的,应学会查看API
- 错题2
下列说法正确的是
A.Java语言的一大特性就是内置对多线程的支持
B.main方法返回时,JVM就会结束Java应用程序
C.Java应用程序中第一个线程结束后,JVM结束Java应用程
D.Java语言使用Thread类及其子类对象来表示线程。
正确答案:A B D
- 理解情况:在main没有创建其他线程时,main方法返回时,JVM就会结束Java应用
- 错题3
下列关于线程常用的方法的叙述,错误的是
A.让run方法执行完毕,线程就变成死亡状态
B.如果线程在休眠时被打断,JVM会抛出InterruptedException异常
C.一个已运行的线程没有进入死亡状态时,如果再给线程分配实体,则先前的实体会被垃圾收集器收集掉
D.当线程进入死亡状态后,线程就不能够调用isAlive()方法了
正确答案:C D
- 理解情况:本题属于粗心错误,漏选了D选项。当线程进入死亡状态后,线程就还可以调用isAlive()方法,并且返回值为false
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 37/37 | 1/1 | 15/15 | |
第二周 | 398/429 | 2/3 | 15/30 | |
第三周 | 753/1167 | 1/4 | 20/50 | |
第四周 | 1296/2109 | 2/6 | 20/70 | |
第五周 | 1191/3323 | 2/8 | 20/90 | |
第六周 | 1806/4390 | 2/10 | 15/105 | |
第七周 | 1260/5145 | 2/12 | 15/120 | |
第八周 | 606/5745 | 3/15 | 20/140 | |
第九周 | 596/6341 | 1/16 | 15/155 |
参考资料
20165215 2017-2018-2 《Java程序设计》第九周学习总结的更多相关文章
- 201521123027 <java程序设计>第九周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...
- 20145220java程序设计第九周学习总结
20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 马凯军201771010116《面向对象与程序设计Java》第九周学习总结
一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 《Java》第九周学习总结
下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新
随机推荐
- 谈谈javascript数组排序方法sort()的使用,重点介绍参数使用及内部机制?
语法:arrayObject.sort(sortby) 参数sortby可选,规定排序顺序,必须是函数: 注:如果调用该方法时没有使用参数,将按字符编码的顺序进行排序,要实现这一点,首先应把数组的元素 ...
- C#-1-1-.net
1..Net (1).Net平台 (2). FrameWork框架 2..Net应用 (1).桌面应用程序(Win form(.Net开发的桌面应用程序叫做Win form应用程序)). (2).In ...
- rpm 安装软件包
RPM 是RedHat Package Manager (RedHat软件包管理工具)类似windows里面的“添加/删除程序”,rpm执行安装包 RPM执行安装.删除.更新 常用命令组合 -ivh: ...
- Flappy Bird
在网上学习了下“65行 JavaScript 代码实现 Flappy Bird 游戏”(http://blog.jobbole.com/61842/),main.js 如下: // Initializ ...
- 58A
#include <stdio.h> #include <string.h> int main() { char hel[6]="hello"; char ...
- Hadoop生态集群之HDFS
一.HDFS是什么 HDFS是hadoop集群中的一个分布式的我文件存储系统.他将多台集群组建成一个集群,进行海量数据的存储.为超大数据集的应用处理带来了很多便利. 和其他的分布式文件存储系统相比他有 ...
- 【Java】-NO.16.EBook.4.Java.1.007-【疯狂Java讲义第3版 李刚】- Java基础类
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.007-[疯狂Java讲义第3版 李刚]- Java基础类 Style:EBook Series:J ...
- nginx反向代理 支持WebSocket
WebSocket(简称WS)协议的握手和HTTP是兼容的,通过HTTP/1.1中协议转换机制,客户端可以传递名为“Upgrade” 头部信息将连接从HTTP连接升级到WebSocket连接 那么反向 ...
- NSA Fuzzbunch中EternalRomance工具复现过程
自Shadow Brokers公布NSA泄露工具后,各路大神陆陆续续发表复现过程,这几天也仔细试了各种套路,一直想弄明白DoublePulsar中的shellcode到底是如何用的,刚好又在模拟环境中 ...
- 家庭记账本之微信小程序(一)
记得ppt中说到,可以制作为微信小程序或者是安卓的应用,但是在我了解后觉得小应用有点力不从心,所以还是从微信小程序开始吧,先让我们了解一下主要的东西 1.准备工作 IDE搭建2.知识准备从零开始app ...