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
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()