您的位置:首页 > 编程语言 > Java开发

javase高级教程学习笔记

2016-03-02 18:16 330 查看
Java资源教程:http://bbs.java1995.com/ 《javaSE高级教程》

Object类介绍

1, Object类的常用方法介绍

Finalize() gc()这两个方法不要试图去控制,他们是由虚拟机控制的,我们只能建议gc()去执行,单具体是否执行,只有java虚拟机才知道,因为这是有java虚拟机算法所决定的。

2, 猜数字游戏

1. Math类介绍 math.random() 产生0-1的随机数[0,1)

2. 猜数字游戏

课下作业:猜数字小程序优化,增加次数限制的功能

3 , StringBuffer类线程安全的

StringBuffer sb=newStringBuffer() sb.capacity()返回当前容量 默认16

StringBuffersb =newStringBuffer(“abc”) sb.capacity()是19

StringBuffer sb =newStringBuffer(100) sb.capacity() 是100

4,日期类

1. D1,d2 日期比较 d1.after(d2) before()

2. 通过静态方法获得实例 DateFormat df1=DateFormat.getInstance()

3. New 子类获得实例DateFormat df2=new SimpleDateFormat(“yyyy-MM-ddhh:mm:ss”)

4. DateFormat df3=newSimpleDateFormat(“yyyy-MM-dd”)

5. DateFormat df4=newSimpleDateFormat(“yyyy年MM月dd日 hh时mm分ss秒”)

6. DateFormat df5=newSimpleDateFormat(“yyyy-MM-dd hh:mm:ss”)

7. Df.format(date)

5, I/O流

1. 字节流:用于以字节为单位的输入输出,主要是处理字节或者二进制数据的各种输入输出。一般用于处理图像,声音文件。InputStream是所有的字节流的祖先类OutputStream 是所有字节输出流的祖先类

2. FileInPutStream 是inputStrean的子类 因为字节流每次读取一个字节,而一个字节是无法完整的描述一个中文的,所以会出现英文正常,中午乱码的情况。

3. 字符流:义字符为几把处理单位,主要用于处理字符或者文本类型,一般用处理文本读取存储以及与网络的文本信息的交互。Reader是所有字符输入流的祖先类Writer是所有字符输出流的祖先类、

4. FileOutputStream 是OutputStream的子类

5. 文件管理 读文件 输入流 写文件 输出流

6. 课下作业:1,把英文字母换成中文 2,用write(int b)方法来写,在用这个方法的时候,试着用中文来看看效果如何。

7. ByteArrayInputStream FileInputStream是输入源是文件 ByteArrayInputStream的输入源是字节数组 reset()重置到mark标记的位置,如果么有调用到mark方法,则重置到缓冲区(就是bytearry方数据)的起始位置

8. BufferedInputStream

9. BufferedOutputStream

10. InputStreamRead 字节流通向字符流的桥梁

11. FileReader

12. FileWriter

6, 对象序列化 对象持久化,比如保存到硬盘的文件中

在网络中进行传输

1,serializable接口

a) 对象输入输出流ObjectInputStream (student)ois.readObject();

b) ObjectOutputStream oos.writeObject(student); oos.writeObject(boje);

c) Transient 关键字 修饰的字段是不会被序列化的,就是写不进去 private transient String addr;

7, 什么是泛型

1,泛型是jdk5.0新提那家的特效

i. 泛型就是将类型参数化

ii. 提高类型的安全并能简化类型转换的过程,在泛型处理过程中,所有的类型转换都是自动和隐试的.泛型将类型的错误提前到了编译期

iii. 没有泛型的情况 数据类型转换比较复杂。String i2=(String )g1.getObj();在转换的过程中会产生不安全的因素

iv. 泛型的基本写法:泛型就是将类型参数化,泛型处理的必须是类的类型,不能用它来处理int,long等基本类型

v. 泛型的类型边界 public class Average <T extends Number>{}

8, 集合框架

A, 有点:性能提高。操作统一。Collection List Set 接口 提高了扩展性。集合实现了Iterator接口。迭代器:提供了访问元素的统一方法。集合存储的是一组单个的数据。Map存储的是一组成对的数据。

B, 常用接口以及实现类介绍 Collection是所有集合的父接口,不包含Map Set继承自Collection,不允许出现相同的元素。List继承者Collection,以列表形式存储的集合

C, Collecting接口(set,List,Queue接口继承)

D, 集合实现了hashset:他是通过散列的机制进行信息存储到哈希表

E, Hashset不能保证集合的顺序,他的存取速度特别快。Set里不能有重复的值

F, 实现自己的ArrayList:本身的容量可以动态增加,底层的数据结构是数组,增删改查。Boolean add(Object obj) Objectremove(int index) Object set(intindex,Object obj) Object get(int index) toString()

G, 实现自己的LinkedList

H, 迭代器:用来遍历集合中的元素的,通过使用迭代器,可以将遍历与数据分离Iterator就是用来遍历集合中的元素对象

I, Map接口介绍:Collection(List,Set,queue) Map(key,value) map.keySet() //key的集合 map.values()//值的集合

J, treeMap通过树结构来实现map接口的。保证了映射按照升序顺序排列key,支持快速查找由于treemap对key进行排序,所以我们必须保证所传的key必须能够排序。

K, 如何把普通的类变成可排序的类?实现comparable接口,重写compareTo(Object obj)方法

9, 网络编程InetAddress类

URL:统一资源定位符,他表示internet上某一资源的地址Uniform resource locator

InetAddress:硬件资源(主机)

Socket通信过程理论分析

1, serverSocket类 创建服务端的程序 ServerSocket server=new ServerSocket(1995);0~65535端口

Socket s=server.accept();

通过s获得输入输出流,与客户端进行交互

2, Socket类

Socket socket=newSocket(“127.0.0.1”,1995);

通过socket获得输入输出流,与服务器进行交互

3, 通信过程

Server client

S=server.accept() socket(host,port)

OutputStream OutputStream

inputStream inputStream

close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: