大数据面试宝典四

  1. 云栖社区>
  2. 博客>
  3. 正文

大数据面试宝典四

好程序员 2020-05-15 12:55:48 浏览251
展开阅读全文

  好程序员大数据培训分享大数据面试宝典四,31、abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized? 【基础】
  答:都不能。
  32、静态变量和实例变量的区别?【基础】
  答:静态变量也称为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问;而实例变量必须依存于某一实例,只能通过对象才能访问到它。
  33、是否可以从一个static 方法内部发出对非static 方法的调用?【基础】
  答:不可以,如果其中包含对象的method(),不能保证对象初始化。
  34、写clone()方法时,通常都有一行代码,是什么?【基础】
  答:Clone 有缺省行为:super.clone(),他负责产生正确大小的空间,并逐位复制。
  35、GC 是什么? 为什么要有GC? 【基础】
  答:GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() 。
  36、垃圾回收的优点和原理。并考虑2 种回收机制。【基础】
  答:Java 语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
  37、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?【基础】
  答:对于GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC 运行,但是Java 语言规范并不保证GC 一定会执行。
  38、String s=new String(“xyz”);创建了几个String Object? 【基础】
  答:两个对象,一个是"xyx",一个是指向"xyx"的引用对象s。
  39、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 【基础】
  答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。
  40、Java 的接口和C++的虚类的相同和不同处。【基础】
  答:由于Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

网友评论

登录后评论
0/500
评论
好程序员
+ 关注