ITPub博客

首页 > 应用开发 > Java > 好程序员分享:Java面试题常见问题

好程序员分享:Java面试题常见问题

原创 Java 作者:好程序员IT 时间:2019-06-11 16:40:22 0 删除 编辑

  好程序员 分享: Java 面试 常见问题 ,面对 庞大的 java 面试题库,想要刷完似乎不大可能,需要一点一点的积累 ,今天我们就 分享 一些 Java 面试 常见问题

 

  1 java 中会存在内存泄漏吗,请简单描述。

 

  答:会 ; 存在无用但可达的对象,这些对象不能被 GC 回收,导致耗费内存资源。

 

  2 、静态变量和实例变量的区别 ?

 

  答:静态变量也称为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问 ; 而实例变量必须依存于某一实例,只能通过对象才能访问到它。

 

  3 、是否可以从一个 static 方法内部发出对非 static 方法的调用 ?

 

  答:不可以 , 如果其中包含对象的 method() ,不能保证对象初始化。

 

  4 、写 clone() 方法时,通常都有一行代码,是什么 ?

 

  答: Clone 有缺省行为: super.clone() ,他负责产生正确大小的空间,并逐位复制。

 

  5 GC 是什么 ? 为什么要有 GC?

 

  答: GC 是垃圾收集的意思 (Gabage Collection), 内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃, Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的, Java 语言没有提供释放已分配内存的显示操作方法。 Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc()

 

  6 、说出数据连接池的工作机制是什么 ?

 

  答: J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

 

  7 EJB 的激活机制 ?

 

  答:以 Stateful Session Bean 为例:其 Cache 大小决定了内存中可以同时存在的 Bean 实例的数量,根据 MRU NRU 算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个 EJB 实例业务方法时,如果对应 EJB Object 发现自己没有绑定对应的 Bean 实例则从其去激活 Bean 存储中 ( 通过序列化机制存储实例 ) 回复 ( 激活 ) 此实例。状态变迁前会调用对应的 ejbActive ejbPassivate 方法。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913892/viewspace-2647198/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
欢迎关注公众号:好程序员特训营 web前端教程分享 723729549 大数据教程分享 703503210

注册时间:2019-03-20

  • 博文量
    241
  • 访问量
    185424