首页 > 大数据 > Hadoop > 好程序员大数据培训分享大数据面试宝典四
好程序员大数据培训分享大数据面试宝典四,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. 一个类可以实现多个接口。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913864/viewspace-2692357/ ,如需转载,请注明出处,否则将追究法律责任。