叨叨两句
- ~
牛客网——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 (常用)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。