美文网首页
JAVA面试题(1)

JAVA面试题(1)

作者: ric_0905 | 来源:发表于2019-08-29 14:14 被阅读0次

    1.JDK 和JRE的区别是什么?

    JDK:是 java development kit 的简称,java开发工具包
    JRE:是 java runtime environment java运行时环境的简称.
    具体来说 jdk包含jre
    除了jre jdk还包含一些编译java源码的javac 调试和分析工具等.

    2.==和 equals的区别是什么?

    ==对于基本数据类型比较的数值,对于引用数据类型比较的是引用的堆内存的地址.而equals默认情况下比较引用地址,但是如果重写了equals方法,那么会进行值比较.

    3.两个对象的hashcode相同,则equals也一定为true吗

    不对,两个对象hashcode相同,equals不一定相同

    4.final在java中的应用?

    1.修饰类,该类不能被继承
    2.修饰方法,该方法不能被重写
    3.修饰变量,该变量的值不能被修改,该变量是一个常量.

    5.java中操作字符串有哪些类?有什么区别?

    首先,有String,StringBuffer,StringBuilder三个类
    String是一个不变的对象,每次操作都会产生一个新的string对象,然后将引用指向新的string对象
    StringBuffer和StringBuilder 可以在原有对象的基础上进行操作,所以频繁改变字符串的情况下尽量用StringBuffer和StringBuilder

    StringBuffer是线程安全的
    StringBuilder是线程不安全的,但是效率高.

    6.String str="i" String str = new String("i")是否一样

    内存分配方式不一样.
    第一种将常量池中的i引用指向str
    第二种是在堆内存中开辟出一个空间,创建一个新的String对象

    7.String类的常用方法有哪些?

    indexOf() 返回指定字符的索引
    charAt() 返回指定索引处的字符
    replace() 字符串替换
    trim() 去除字符串两端的空白
    split() 根据表达式分割字符串
    getBytes() 返回字符串的字节数组
    length() 返回字符串长度
    toLowerCase 转小写
    toUpperCase 转大写

    8.抽象类必须要有抽象方法吗

    不必须.抽象类不一定必须有抽象方法.

    相关文章

      网友评论

          本文标题:JAVA面试题(1)

          本文链接:https://www.haomeiwen.com/subject/kariectx.html