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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wei19910428 中级黑马   /  2016-5-24 00:02  /  657 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


15.集合
集合名称阅读技巧:
JDK1.2出现的集合框架中常用的子类对象
前缀名是结构名,后缀名是体系名。
ArrayList:数组结构,看到Array就知道查询速度快,看到List就知道可以又重复元素,可以增删改查
LinkedList:链表结构,增删快
HashSet:哈希结构,查询速度更快,不保证有序,不可以重复,必须覆盖hashCode和equals方法
LinkedHashSet:链表加哈希结构,可以实现有序
TreSet:二叉树结构,可以排序。有两种方法:1.自然排序compable,2.比较器 comparator
     Java提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明输入对象小于,等于,大于已经存在的对象。

Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等。只有当输入参数也是一个comparator并且和当前comparator的排序结果是相同的时候,这个方法才返回true.
ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,允许直接按序号索引元素. 但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,
Vector由于使用了synchronized 方法(线程安全),通常性能上较ArrayList 差,Vector属于遗留容器,现在已经不推荐使用,
LinkedList 使用双向链表实现存储(将内存中零散的内存单元通过附加的引用关联起来,形成一个可以按序号索引的线性结构,这种链式存储方式与数组的连续存储方式相比,其实对内存的利用率更高),按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
由于ArrayList和LinkedListed都是非线程安全的,如果需要多个线程操作同一个容器,可以通过工具类Collections中的synchronizedList方法将其转换成线程安全的容器后再使用(这其实是装潢模式最好的例子,将已有对象传入另一个类的构造器中创建新的对象来增加新功能)。
Map集
Map(k,v) k:此映射所维护的键的类型 v:映射值的类型
Map集合:双例集合,一次存一对,称为键值对。要保证键的唯一性。
Map集合没有迭代器,必须先将map集合转成set集合,在使用迭代器,就可以取出结合中的元素;或者使用map集合特有的entrySet方法,也可以取出map集合中虽有元素。
Map集合常见子类:
1.HashTable:哈希表结构,同步的,不允许null键,null值;
  2.HashMap:哈希表结构,不同步,允许null键,null值;
3.TreeMap:二叉树结构,不同步,可以对map集合众多键进行排序。

16.为什么需要配置path,什么时候需要classpath?
答:path路径:是操作系统的环境变量,目的是希望在任意目录下都能执行该命令操作起来更加方便快捷;
classpath是给类提供路径:想在其他目录下执行java程序时需要配置classpath路径。

17.IO流
   输入流:InputStream   输出流:OutputStream
   字节输入流:FileInputStream   字节输出流:FileOutoutStream
   字节输入流缓冲区:BufferedInputStream   字节输出流缓冲区: BufferedOutputStream
字符输入流:InputStreamReader   字符输出流:OutputStreamWriter
转换流:FileReader FileWriter
字符输入流缓冲区:BufferedReader  字符输出流缓冲区:BufferedWriter

18.OSI参考模型
  一共7层:1.物理层;2.数据化链路层;3.网络层;4.传输层;5.会话层;6.表示层;7.应用层
   物理层:定义物理设备标准,作用:传输比特流。这一层的数据叫做比特;
   数据化链路层:接受物理层的数据对MAC地址(网卡地址)进行封装与解封装,工作设备:交换机,这一层的数据叫做帧;
网络层:对下面接受的数据进行IP地址的封装与解封装,工作设备:路由器,这一层的数据叫做数据包;
传输层:定义一些数据协议和端口号,对下面接收的数据进行分段和传输,到达目的后进行重组,这一层的数据叫做段;
会话层:通过传输层建立数据传输的通路;
表示层:对接收的解释进行加密和解密,封装和解封装;
应用层:终端应用,FTP(各种文件下载)。
TCP(传输控制协议):传输效率低,可靠性高,用于操作可靠性要求高,数据量小的数据;
UDP(用户数据协议):传输效率高,可靠性低,用于操作可靠性要求低,数据量大的数据。

19.abstract与哪些关键字不能共存为什么
        final:1.被final修饰的类不可以有子类;2.被final修饰的方法不可以被覆盖;
private:1.成员方法私有化,子类不能访问;2.private私有化的,不可以被覆盖
static:被static修饰的方法,可以直接通过类名方式调用,但调用抽象方法没有意义
20. static的特点
      1.被静态修饰的成员,可以直接通过类名方式调用;2.静态成员优先与对象存在;3.静态成员随着累的加载而出现
      注意事项:
     1.静态只能访问静态;2.静态方法中不能出现this和super关键字;3.主函数是静态函数
21.wait()和sleep()的区别
1. wait()是object类中的方法,可以指定时间,也可以不指定时间;sleep()是Thread类中的方法,必须指定时间;
2. wait()释放资源,释放锁;sleep()释放资源,不释放锁。

4 个回复

倒序浏览
可以可以
回复 使用道具 举报
这些都是基础班的东西,学习起来就是概念问题
回复 使用道具 举报
不错不错,来看看学习下
回复 使用道具 举报
不错不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马