一、Java基础部分 (搞定所有技术之后才考虑复习的技术点) 1.数组中的排序问题(笔试或者机试,前者可能性更大) 答:冒泡排序,反转排序 2. 面向对象的理解 答:直观的面向某个对象,不需要知道这个对象中的功能具体是怎么实现的,只需要用到它的时候,调用它和调用它的功能即可 3. 集合相关的问题,比如hashmap跟hashtable的区别。搞清楚每个集合对象的特性就欧了。 答:list和set都是单列集合,map是双列集合,list存取有序,set无序,ArrayList是数组结构,LinkedList是链表结构,HashSet是哈希表结构(数组+链表),TreeSet自然排序,HashMap哈希表结构,集合的安全性问题:线程不安全ArrayList——线程安全Vector,HashMap——Hashtable,就是在这些集合的核心方法加上Synchronized关键字,因为HashSet底层代码实现是依赖于HashMap的 4. 多线程启动方式,以及产生死锁的原因和解决办法【多线程问题不是很常问,有精力就复习这块内容】、 答:①.自定义一个类继承Thread类,重写run()方法,调用start()方法;或者实现Runnable接口,重写run()方法,创建Thread有参构造类,传入自定义类,调用start()方法 ②.前提条件:2个线程同时操作两个数据,同步代码块嵌套,当线程1操作数据1时,休眠了,这是线程2操作数据2,也休眠了,线程1想再去操作数据2时,发现线程2已经占用它了,同理,线程2想去操作数据1时,发现线程1已经占用它了,这是就造成了死锁,2个线程操作资源互不相让,资源也不能释放。 ③.不写同步代码块的嵌套,写并列同步代码块加上逻辑判断即可 5. IO流,了解常见的几个流对象以及基本的流操作即可,被机试的可能性比较小。 ①.字节输入流与输出流:InputStream--FileInputStream,BufferInputStream;OutputStream-FileOutputStream,BufferOutputStream;PrintStream ②.字符输入流与输出流:Reader--InputStreamReader-FileReader,BufferReader;Writer-OutputStreamWriter-FileWriter,BufferWriter;PrintWriter
|