• java面试(一)


    一、java基础

    1、JDK和JRE的区别?

          JDK是java的开发环境,JRE是java的运行环境,即编写java程序就一定需要JDK,只是运行java程序只要JRE就足够了。

    2、java中==和equals区别

          ==在值类型和引用类型不一样,值类型==比较两个值是否相同,引用类型==比较两个引用是否相同;equals比较的都是两个值是否相同。

           equals最初的本质是==,引用类型比较的是两个引用,而如String引用是将equals方法进行了重新,而导致比较的是两个值。

    3、hashcode和equals

          如果两个对象的hashcode相同,equals不一定相同;

           如果两个对象的equals相同,hashcode一定相同。

    4、final java中的作用

          final修改的类不可以被继承;

          final修饰的方法不可以被重写;

          final修饰的变量是常量,不可以被修改。

    5、java中round()方法

          Math.round()是向上舍入,3.5舍入为4,-3.5舍入为-3;

    6、String数据类型

           String不是基本数据类型,基本数据类型包括:byte、int、short、long、float、double、char、boolean

    7、java中的字符串操作

          String、StringBuilder、StringBuffer,String修饰不变字符串对象,StringBuilder和StringStringBuffer修饰可变字符串;

          StringBuffer多线程安全,StringBuider非线程安全,多线程使用StringBuffer,单线程使用StringBuilder。

    8、String str="abc"和String str1=new String("abc")的区别

           str变量存放在变量池中,str2存放在堆中,引用类型

    9、java实现字符串的反转

          使用StringBuilder和StringBuffer的的reverse()函数

    10、抽象类和抽象方法以及普通类

            抽象类中可以没有抽象方法

            普通类中不能包含抽象方法,抽象类中可以包含抽象方法

            抽象类不能被实例化,普通类可以被实例化

    11、抽象类能否使用final修饰符

            抽象类不能使用final修饰,因为抽象类就是为了其他类继承的,而final修饰的类不可以被继承

    12、接口和抽象类的区别

            抽象类使用extends进行继承,而接口使用implements实现接口;

             一个类可以实现多个接口,而只能继承一个抽象类;

             抽象类可以有构造函数,但接口不能有构造函数,并且抽象类可以有main函数,而接口不能有。

    13、java中IO流

            分为字节流和字符流,字节流按8位传输以字节为单位输入输出数据,字符流按16位传输以字符为单位输入输出数据。

    14、BIO、NIO、AIO的区别

            BIO同步阻塞式IO,简单方便,并发能力低;

            NIO同步非阻塞式IO,客户端和服务端通过通道通信,实现了多路复用;

            AIO异步非阻塞IO,基于事件和回调机制。

  • 相关阅读:
    2016年中国大学生程序设计竞赛(杭州)解题报告
    HNOI2017滚粗记
    BZOJ4515 SDOI2016 游戏
    BZOJ2157 旅行 模拟
    codevs2019 Uva10029 递变阶梯
    POJ 2585 Window Pains 题解
    linux 下 打包 和解压缩
    php 分页
    js 四舍五入
    angularjs 过滤多组数据
  • 原文地址:https://www.cnblogs.com/Optimism/p/11450838.html
Copyright © 2020-2023  润新知