好程序员分享:Java面试题常见问题,面对庞大的java面试题库,想要刷完彷佛不大可能,须要一点一点的积累,今天咱们就分享一些Java面试题常见问题java
一、java 中会存在内存泄漏吗,请简单描述。程序员
答:会;存在无用但可达的对象,这些对象不能被GC 回收,致使耗费内存资源。面试
二、静态变量和实例变量的区别?算法
答:静态变量也称为类变量,归全类共有,它不依赖于某个对象,可经过类名直接访问;而实例变量必须依存于某一实例,只能经过对象才能访问到它。编程
三、是否能够从一个static 方法内部发出对非static 方法的调用?服务器
答:不能够,若是其中包含对象的method(),不能保证对象初始化。对象
四、写clone()方法时,一般都有一行代码,是什么?内存
答:Clone 有缺省行为:super.clone(),他负责产生正确大小的空间,并逐位复制。资源
五、GC 是什么? 为何要有GC?作用域
答:GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会致使程序或系统的不稳定甚至崩溃,Java 提供的GC 功能能够自动监测对象是否超过做用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操做方法。Java 程序员不用担忧内存管理,由于垃圾收集器会自动进行管理。要请求垃圾收集,能够调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() 。
六、说出数据链接池的工做机制是什么?
答:J2EE 服务器启动时会创建必定数量的池链接,并一直维持很多于此数目的池链接。客户端程序须要链接时,池驱动程序会返回一个未使用的池链接并将其表记为忙。若是当前没有空闲链接,池驱动程序就新建必定数量的链接,新建链接的数量有配置参数决定。当使用的池链接调用完成后,池驱动程序将此链接表记为空闲,其余调用就可使用这个链接。
七、EJB 的激活机制?
答:以Stateful Session Bean 为例:其Cache 大小决定了内存中能够同时存在的Bean 实例的数量,根据MRU 或NRU 算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB 实例业务方法时,若是对应EJB Object发现本身没有绑定对应的Bean 实例则从其去激活Bean 存储中(经过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive 和ejbPassivate 方法。