javase高级教程学习笔记

来源:互联网 发布:如何在淘宝商城开店 编辑:程序博客网 时间:2024/05/16 15:30

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

 

 

 

 

 

 

0 0
原创粉丝点击