| 问答题: 1.多态的体现
 
 多态是父类的引用指向了自己的子类对象或者说父类的引用接受自己的子类对象。
 举例:人:多态体现:男人,女人。
 
 2.说说break与continue的区别?
 
 break:应用于选择结构和循环结构。结束本次循环,进行下次循环。
 continue:只应用于循环结构。结束循环。
 break和continue后面不可以再跟其他语句,因为程序已执行到末尾。
 
 3.Boolean类型可以用于下面那种语句?swith,还是if?
 
 swith只可接受4种类型。byte short int char 5.0以后又增加了枚举类型。所以Boolean不可以用在switch中可以用在if语句中。
 
 4.说说有哪几种排序方式?特点是什么?
 
 选择、冒泡
 选择排序:用到了循环嵌套,每次循环,最大值依次出现在角标末尾处,并且每次循环,遍历的次数-1
 冒泡排序:用到了嵌套循环,每次循环,最小值依次出现在角标开始处。
 
 5.说说集合框架结构?
 
 集合框架主要是Collection框架。
 Collection接口下面有三个子接口:List,Set,Map
 List 接口是有序的,可重复的,有角标。
 Set 接口是无序的,不可以重复。
 Map 接口里面存放的是键值对形式存在。
 
 List 接口下面有3个子类对象:ArrayList,LinkedList,Vector.
 ArrayList和Vector的内部结构是数组,Vector是同步的,里面有一个枚举类型,
 Arraylist是线程不同步的,Arraylist判断元素唯一性的依据是equals方法,并且Arraylist取代了vector。
 Linkedlist :内部结构是链表。
 
 Set 接口下面有2个子类:HashSet和TreeSet
 HashSet:内部结构是哈希表,判断元素唯一性的依据首先是HahsCode,然后是equals。
 TreeSet:内部结构是二叉树,判断元素唯一性的依据是CompareTo的return 方法。
 
 Map:接口有3个子类对象Hahshtable、HahsCode、TreeMap
 Hashtable和HashCode内部结构都是哈希表,
 TreeMap的内部结构是二叉树。
 
 6.Map集合的特点?取出map集合中元素的方式?keySet和EntrySet的区别?
 
 Map集合中都是以键值对的形式存在的。
 取出map中集合元素的方式有2中,一是用KeySet取出集合中所有的键,在通过键取出值;二:取出Map集合中的映射关系Map.Entry,然后再取出键和值。
 
 
 
 7。如何获取字节码?
 
 获取字节码有3中方式:一:类名.class;二:对象名.getClass();三:Class.forName("类名");
 
 
 8.如何创建线程?
 创建线程有2种方式:一:继承Thread类;二:实现Runnable接口;还有一种通过线程池executor.newSingleThreadPloo();而且都必须覆盖run()方法。
 
 9.多线程中出现安全问题?
 
 当多条语句访问共享数据时,一个线程没有执行完,另一个线程又来操作数据,就会发生共享数据的错误。这就是多线程中的安全问题发生的原因。
 
 10.如何解决多线程中出现的安全问题?用到了那个关键字?
 
 用同步代码块或者同步语句,让一个线程执行完,另一个线程再来操作共享数据。
 关键字是synchronized。
 
 
 11.说说sleep,wait这两个关键字。sleep的时间单位是什么?
 
 sleep是把正在执行的程序进入到睡眠状态,sleep一般带有时间参数的构造函数,sleep时间已到,睡眠状态结束。sleep的时间单位是毫秒。
 wait是把正在执行的程序进入到等待状态,一般需要另一个程序来唤醒。用到了notify和notifyAll关键字。
 
 12.说说你对缓存的理解?以及缓存刷新和关闭?
 
 缓存主要用来操作字符流数据的,是字符流的一个增强类;刷新用到了flush,把数据从内存中刷入到文件中。关闭用到了close,关闭了缓存中操作的流数据。
 
 笔试题
 
 1.拷贝多级文件夹
 
 2.定义一个静态方法,该方法可以接收一个List<Integer>,方法内对List进行排序
 |