叨叨两句

  1. ~

牛客网——java专项练习079

1

下面关于垃圾收集的描述哪个是错误的?
正确答案: D
A 使用垃圾收集的程序不需要明确释放对象
B 现代垃圾收集能够处理循环引用问题
C 垃圾收集能提高程序员效率
D 使用垃圾收集的语言没有内在泄漏问题

也会有内存泄露问题,例如访问资源文件,流不关闭,访问数据库等连接不关闭
java的垃圾收集机制主要针对新生代和老年代的内存进行回收,不同的垃圾收集算法针对不同的区域。所以java的垃圾收集算法使用的是分代回收。一般java的对象首先进入新生代的Eden区域,当进行GC的时候会回收新生代的区域,新生代一般采用复制收集算法,将活着的对象复制到survivor区域中,如果survivor区域装在不下,就查看老年代是否有足够的空间装下新生代中的对象,如果能装下就装下,否则老年代就执行FULL GC回收自己,老年代还是装不下,就会抛出OUtOfMemory的异常

2

下面哪些Java中的流对象是字节流?

正确答案: A B C D
A FileInputStream
B BufferedInputStream
C PushbackInputStream
D ByteArrayInputStream

stream结尾都是字节流,reader和writer结尾都是字符流 两者的区别就是读写的时候一个是按字节读写,一个是按字符。 实际使用通常差不多。 在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。 只是读写文件,和文件内容无关的,一般选择字节流。
Java主要分为字节流和字符流如下:

字节流:
InputStream 
|-- FileInputStream (基本文件流) 
|-- BufferedInputStream 
|-- DataInputStream 
|-- ObjectInputStream
字符流
Reader 
|-- InputStreamReader (byte->char 桥梁) 
|-- BufferedReader (常用) 
Writer 
|-- OutputStreamWriter (char->byte 桥梁) 
|-- BufferedWriter 
|-- PrintWriter (常用)

Wall_Breaker
2.1k 声望1.2k 粉丝

生死之间,就是我的跃迁之路,全程记录,欢迎见证