Java面试宝典2015版(绝对值得收藏超长版)(四)
来源:互联网 发布:长沙淘宝哪家卤味好吃 编辑:程序博客网 时间:2024/05/16 10:37
72、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader,OutputStreamWriter。
75、描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
76、heap和stack有什么区别。
java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。
堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用new创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用final修饰后,放在堆中,而不是栈中。
77、GC是什么?为什么要有GC?
GC是垃圾收集的意思(GabageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。
78、垃圾回收的优点和原理。并考虑2种回收机制。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
79、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。
81、java中会存在内存泄漏吗,请简单描述。
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。由于Java使用有向图的方式进行垃圾回收管理,可以消除引用循环的问题,例如有两个对象,相互引用,只要它们和根进程不可达的,那么GC也是可以回收它们的。java中的内存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露
82
abstract的methods不能以private修饰,也不能加final修饰。
被final修饰的变量不可修改。
static method不能直接call non-staticmethods。
- Java面试宝典2015版(绝对值得收藏超长版)(四)
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Java面试宝典2015版(绝对值得收藏超长版)(二)
- Java面试宝典2015版(绝对值得收藏超长版)(三)
- Java面试宝典2015版(绝对值得收藏超长版)(一)
- Java面试宝典2015版(绝对值得收藏超长版)(二)
- Java面试宝典2015版(绝对值得收藏超长版)
- Java面试宝典基础篇(绝对值得收藏超长版)
- 2011版C++面试宝典!(值得收藏)
- Java面试宝典2013版(超长版)
- Java面试宝典2013版(超长版)
- Java面试宝典2013版(超长版)
- Java面试宝典2013版(超长版)
- Java面试宝典2013版(超长版)
- Java面试宝典2013版(超长版)
- 远程桌面连接 不能远程复制
- 牛顿方法
- Java获取来访者IP
- 产品学习笔记3—产品经理的3句魔咒
- for 循环创建的布局一个butten的点击事件 隐藏布局的部分内容出现的错乱问题
- Java面试宝典2015版(绝对值得收藏超长版)(四)
- 电脑公司最新GHOST WIN7系统32,64位优化精简版下载
- java实现在线预览office文档
- lightoj 1033 - Generating Palindromes LCSor区间DP
- ORACLE EXPDP命令使用详细
- ContentValues
- MathType6.9与Word2010兼容问题的解决
- javascript学习心得
- 2016-AspNet-MVC教学-2-数据来源及超链接测试