Java基础每日10题——第三天

1.String常用方法

参考本文http://blog.csdn.net/u011479875/article/details/46515267
加上一个valueOf()将字符数组转换成字符串

2.Java中有几种类型的字符流

字节流(byte):InputStream ,outputStream
字符流(char):InputStreamReader,outputStream
输出流:outputStream outputStreamWrite
输入流:InputStream InputStreamreader

3.字节流如何转为字符流

参考https://www.cnblogs.com/xiaohouzai/p/7684695.html

4.如何将一个Java对象序列化到文件里

参考 http://blog.csdn.net/leefengboy/article/details/52724019

5.集合的安全性问题

先清楚什么是线程安全和线程不安全

线程安全 :就是多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用,防止出现数据不一致或者数据被污染的情况

线程不安全:就是提供数据访问时的数据保护,多个线程能同时操作某个数据,从而出现数据不一致或者数据污染的情况。
对于线程不安全,一般会使用synchronized关键字加锁同步控制

线程安全的集合对象

Vector(这个集合比较老,一般很少用到)
HashTable(被淘汰)
StringBuffer

非线程安全的集合对象:

ArrayList
LinkedList
HashMap
HashSet
TreeMap
TreeSet
StringBuilder

扫描二维码关注公众号,回复: 1117697 查看本文章

6.ArrayList内部用什么实现的?

基于数组实现的,是一个动态数组,容量能自动增长

7. 并发集合和同步集合如何区别?

参考https://www.cnblogs.com/suneryong/p/6726413.html

8.List的三个子类的特性

LinkedList:底层数据结构是数组,查询慢,增删快,线程不安全,效率高

ArrayList:底层数据结构是数组,查询快,增删慢,线程安全,效率高

Vector: 底层数据结构是数组,查询快,增删慢,线程安全,效率低(基本已经被淘汰)

查询多:ArrayList | 增删多:LinkedList

9.HashMap和HashTable的区别

参考http://www.importnew.com/24822.html

10.数组和链表分别适用于什么场景,为什么?

参考 http://blog.csdn.net/u011277123/article/details/53908387

猜你喜欢

转载自blog.csdn.net/tryandfight/article/details/79650290