A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bowen-xiao 中级黑马   /  2015-1-30 17:22  /  863 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、集合框架考点:这些集合的特点,如Set存入集合是没有重复对象的,实现方式compareTo()方法比较
                                    遍历方式有哪几种:1、下标     2、迭代器     3、增强for(1.5以后新方法)
                                    Map的遍历方法:1、keySet()方法获取到键集合,再通过键获取值  2、entrySet()方法可以通过迭代器循
Itertor
collection

       list         此接口的用户可以对列表中每个元素的插入位置进行精确地控制, 此实现不是同步的。
              ---ArrayList            数组的增强与扩展
              ---LinkedList          对数据增删较快
       set    一个不包含重复元素的集合,此类的 iterator 方法返回的迭代器是快速失败

              ---TreeSet             使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
              ---HashSet            它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
  

    Map      将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
              ---HashMap        此实现提供所有可选的映射操作,并允许使用 null 值和 null 键,此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
              ---TreeMap           该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。

二、线程
      两种创建方式:1、继承Thread类,并覆写run()方法。2、实现Runlable接口,并覆写run()方法。
      五种状态:1、创建状态   2、就绪状态(没有执行权)   3、运行状态   4、阻塞状态(sleep,wait)   5、消亡状态(run运行完了,打断interrput)
       sleep()与wait()区别:都是线程的等待方法,
                                           sleep()是Thread里面的方法,如果睡眠会阻塞在锁里面;
                                           wait()则是Object里面的方法,如果停止则等候在锁外面;
      同步的意义:当多条语句在操作同一线程共享数据时,一个线程对多条语句只执行了一部分,还没用执行完,另一个线程参与进来执行。导致共享数据的错误。对多条操作共享数据的语句,只能让一个线程都执行完。在执行过程中,其他线程不可以参与执行。java中对于多线程的安全问题提供了专业的解决方式——synchronized(同步) 这里也有两种解决方式,一种是同步代码块,还有就是同步函数。都是利用关键字synchronized来实现。

三、IO流
字节流 InputStream OutputStream
字符流FileReader   FileWriter
此外还有功能流和装饰类的流,其中就有强大的RandomAccessFile对文件的随机访问,可以跳过N个字节写入读取,它存在使得多线程的下载有了可能。
对流功能增强的BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。

流的使用看程序的源和目的,
源如果是媒体文件则用字节流,如果用字符流可能导致数据损坏,因为字符流字节流封装每次进行了查编码表操作。
一般文本文件会使用字符流,效率相对较高。







1 个回复

正序浏览
不错。收藏了,谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马