当前位置: 首页 / 技术干货 / 正文
好程序员大数据培训分享大数据面试宝典三

2020-05-15

好程序员 大数据培训

  好程序员大数据培训分享大数据面试宝典三1、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 【基础】

好程序员

  答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

  2String StringBuffer 的区别? 【基础】

  答:JAVA 平台提供了两个类:String StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。

  这个String 类提供了数值不可改变的字符串。

  而这个StringBuffer 类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers 来动态构造字符数据。

  3String, StringBuffer StringBuilder 的区别。【基础】

  答:String 的长度是不可变的;StringBuffer 的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer toString()方法;线程安全;StringBuilder 是从JDK 5 开始,为StringBuffer 该类补充了一个单个线程使用的等价类;通常应该优先使用StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。

  4Overload Override 的区别。Overloaded 的方法是否可以改变返回值的类型? 【基础】

  答:方法的重写Overriding 和重载Overloading Java 多态性的不同表现。重写Overriding 是父类与子类之间多态性的一种表现,重载Overloading 是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)Overloaded 的方法是可以改变返回值的类型。

  5、定义类A 和类B 如下:【基础】

  class A {

  int a=1;

  double d=2.0;

  void show(){

  System.out.println("Class A: a="+a +"\td="+d);

  }

  }

  class B extends A{

  float a=3.0f;

  String d="Java program.";

  void show(){

  super.show( );

  System.out.println("Class B: a="+a +"\td="+d);

  }

  }

  (1) 若在应用程序的main 方法中有以下语句:

  A a=new A();

  a.show();

  则输出的结果如何?

  (2) 若在应用程序的main 方法中定义类B 的对象b

  A b=new B();

  b.show();

  则输出的结果如何?

  答:输出结果为:

  1Class A: a=1 d=2.0

  2Class A: a=1 d=2.0

  Class B: a=3.0 d=Java program

  6、描述一下JVM 加载class 文件的原理机制? 【基础】

  答:JVM 中类的装载是由ClassLoader 和它的子类来实现的,Java ClassLoader是一个重要的Java 运行时系统组件。它负责在运行时查找和装入类文件的类。

  7char 型变量中能不能存贮一个中文汉字?为什么? 【基础】

  答:能够定义成为一个中文的,因为java 中以unicode 编码,一个char 16个字节,所以放一个中文是没问题的。

  8abstract class interface 有什么区别? 【基础】

  答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),。然而可以创建一个变量,其类型是一个抽象类,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。新型多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,所有成员变量都是publicstatic final 的。一个类可以实现多个接口,当类实现特殊接口时,它定义(即

  将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

  9Static Nested Class Inner Class 的不同?【基础】

  答:Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

  10Java 中会存在内存泄漏吗,请简单描述。【基础】

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

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号