201711671102 曾燃亮 《java程序设计》第12周学习总结
教材学习内容总结(包括13,14,15章)
第十三章 Java网络编程
一.URL类
使用URL类创建对象的应用程序称为客户端程序
1.URL的构造方法
通常用:public URL (String spec) throws MalformedURLException.
上述对象中的协议http协议,即用户按着这种协议和指定的服务器通信
2.读取URL中的资源
URL对象调用InoutStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。
二.InetAddress
1.地址的表示
1)域名 www.gdhydx.cn
2)IP地址 127.0.0.1
2.获取地址
1)获取Internet上主机的地址
getByName(String s)
2)获取本地机的地址
getLocaHost()
三.套接字
1.套接字概述
端口号规定为一个16位的0~65535之间的整数,其中0~1023倍预先定义的服务通讯占用,除非需要访问这些特定服务,否则就应该使用1024~65535这些端口的某一个进行通讯,以免发生端口冲突.
2.客户端套接字
Socket类建立负责连接到服务器的套接字对象
3.ServerSocket对象与服务器端套接字
ServerSocket的构造方法是ServerSocket(int port),port是一个端口号。port必须和客户端的口号相同。
当服务器的ServerSocket对象建立后,就可以使用方法accept()将客户端的套接字和服务器短的套接字连接起来。
4.使用多线程技术
为了使用connect方法,可以使用SocketAdddress的子类InetSocketAddress创建一个对象,它的构造方法是public InetSocketAddress(InetAddress addr,int port)。
在套接字通讯中有两个基本原则
服务器应当启动一个专门的线程,在该线程中和客户的套接字建立连接
由于套接字的输入流在读取信息时可能发生阻塞,客户端和服务器端都要在一个单独的线程中读取信息
四.UDP数据报
套接字是基于TCP协议的网络通信
本节是基于UDP协议的网络信息传输方式。基于UDP的信息传递更快,但不提供可靠保证。
基于UDP的基本模式是:
将数据打包好,称为数据包,然后将数据包发往目的地
接收发来的数据包,然后查看数据包中的内容
1.发送数据包
用DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据包
2.接收数据包
创建一个DatagramSocket的对象
DatagramSocket ma=new DatagramSocket(5666);
然后调用receive(DatagramSocket pack)接收数据包.
五.广播数据包
D类地址
Internet的地址是a.b.c.d的形式,当a<128,那么b.c.d就用来表示主机,这类地址称为A类地址;如果128<=a<192,则a.b表示主机地址,这类称为B类地址;如果a>=192,则网络地址是a.b.c,d表示主机地址,这类称为C类地址;224.0.0.0~239.255.255.255是保留地址,称作D类地址。
要广播或者接收广播的主机必须加入到同一个D类地址。
六.Java远程调用
1.远程对象及其代理
1)远程对象
2)代理与存根(Stub)
3)Remote接口
2.RMI的设计细节 (P415)
1)扩展Remote接口
2)远程对象
3)存根(Stub)与代理
4)启动注册:rmiregistry
5)启动远程对象服务
6)运行客户端程序
第十四章 图形、图像与音频
一.绘制基本图形
1.直线 new Line2D.Double(double x1,double y1,double x2,double y2);
2.矩形 new Rectangle2D.Double(double x,double y,double w,double h);
3.圆角矩形 new RoundRectangle2D.Double(double x,double y,double w,double h,double arcw,double arch);
4.椭圆 new Ellipse2D.Double(double x,double y,double w,double h);
5.绘制圆弧 new Arc2D.Double(double x,double y,double w,double h,double start,double extent,int type);
6.绘制文本 调用drawString(String s,int x,int y)
7.绘制二次曲线和三次曲线
8.绘制多边形
二.变换图形
使用AffineTransform类来实现
三.图形的布尔运算
四.绘制钟表
五.绘制图像
1.加载图像
2.绘制图像
六.播放音频
小结:
可以使用Graphics类或其子类Graphics2D类绘制各种基本图形、图像
在应用程序中可以播放.au、.aiff、.wav、.midi、。rfm格式的音频
第十五章 泛型与集合框架
一.泛型
1.泛型类声明
class 名称<泛型列表>
2.使用泛型类声明对象
Cone<Circle> coneOne;
coneOne=new Cone<Circle>(new Circle());
二.链表
1.LinkedList<E>泛型类
它的对象以链表结构存储数据
2.常用方法(P445)
3.遍历链表
4.排序与查找
5.洗牌与旋转
三.堆栈
堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
四.散列映射
1.HashMap<K,V>泛型类
2.常用方法(P452)
3.遍历散列映射
4.基于散列映射的查询
五.树集
1.TreeSet<E>泛型类
2.结点的大小关系
3.TreeSet类的常用方法
六.树映射
七.自动装箱与拆箱
教材学习中的问题和解决过程
loading。。。。。
代码调试中的问题和解决过程
loading。。。。。
感悟
loading。。。。。
目标:5000行
第一周:35行
第二周:70行
第三、四周:200行
第五周:640行
第六周:150行
第七周:200行
第八周:300行
第九周:400行
第十周:570行
第十一周:600行
第十二周:530行