美文网首页
今日流程

今日流程

作者: 天道灬酬勤 | 来源:发表于2018-12-17 21:34 被阅读12次

一、面试题

抽象类和接口的区别

1.接口描述了方法的特征,不给出实现,一方面解决java的单继承问题,实现了强大的可接插性
2.抽象类提供了部分实现,抽象类是不能实例化的,抽象类的存在主要是可以把公共的代码移植到抽象类中
3.面向接口编程,而不是面向具体编程
4.开发中优先选择接口(因为继承抽象类后,此类将无法再继承,所以会丧失此类的灵活性)

常用的集合有哪些,谈谈对它们的理解

具体区别:

  • Set:无序,元素不可重复(但是元素在set中的位置是有该元素的HashCode决的,其位置其实是固定的)
  • List:有序,列表存储,元素可重复
  • Map:无序,元素可重复
    深层次理解:
  • Set接口:有两个实现类(HashSet(底层由HashMap实现),LinkedHashSet)
  • List接口:有三个实现类(
  • LinkedList:基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢;
  • ArrayList:非线程安全的,效率高;基于数组;便于索引,但不便于插入删除
  • Vector:基于线程安全的,效率低;基于数组; )
    Map接口:有三个实现类(HashMap,HashTable,LinkedHashMap)
  • HashMap:非线程安全,高效,支持null;
  • HashTable:线程安全,低效,不支持null;
  • LinkedHashMap:是HashMap的一个子类,保存了记录的插入顺序
  • SortMap接口:TreeMap,能够把它保存的记录根据键排序,默认是键值的升序排序
    注:最常用的,冷门的除外)

= =和 equals()的区别?

  • ==:用于比较基本数据类型,比较变量值是否相等,若相同,则为 true
  • Equals:用于比较引用数据类型,比较的是指向内存中的引用对象地址是否相同,d若相同,则为 true。equals()方法:是用来比较两个对象是否相等,即实际比较的是两个对象的内容是否相同。
    注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

方法重写(Overloading)和方法重载(Overwrite)的区别?

  • 方法重写:一般出现在继承(不同类)中,是子类对父类方法的重新实现;重写规则:
    1)参数列表必须完全与被重写方法的一致,返回类型必须完全与被重写方法的返回类型一致
    2)构造方法不能被重写,声明为 final 的方法不能被重写,声明为 static 的方法不能被重写,但是能够被再次声明
    3)访问权限不能比父类中被重写的方法的访问权限更高
    4)重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以
  • 方法重载:
    在同一个类中,方法名字相同,参数不同,方法体不同,是一个类中多态性的一种表现;
  • 重载规则:
    方法名一致,参数列表中参数的顺序,类型,个数不同
    重载与方法的返回值无关,存在于父类和子类,同类中
    可以抛出不同的异常,可以有不同修饰符
    注意:每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表

throw 和 throws 的区别?

  • throw:是用在语句抛出异常
  • throw特点:
  • throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。throw 是具体向外抛异常的动作,所以它是抛出一个异常实例,执行 throw 则一定抛出了某种异常
  • throws 是用在声明方法时,表示该方法可能要抛出异常
  • throws特点:
  1. throws 主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常
  2. throws 表示出现异常的一种可能性,并不一定会发生这些异常
    注意:抛出的异常可以使系统定义,也可以是自定义;使用 try,catch,finally 捕获异常。

描述遇到过的异常有哪些?

  • Error(错误类):是程序无法处理的错误,错误的发生属于系统级别
  • Exception(异常类): 是程序本身可以处理的异常,一般是程序在操作数据错误
    时引发,分为运行时异常(RuntimeException)和非运行时异常(编译时异常)
    注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理
    常见异常:
  • (1)java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对
    象或者是不存在的对象
  • (2)java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路
    径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常
  • (3)java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型
    数据中包含非数字型字符
  • (4)java.lang.IndexOutOfBoundsException 数组角标越界异常;
  • (5)java.lang.IllegalArgumentException 方法传递参数错误
  • (6)java.lang.ClassCastException 数据类型转换异常
  • (7)java.lang.NoClassDefFoundException 未找到类定义错误
  • (8)SQLException 操作数据库异常
  • (9)java.lang.InstantiationException 实例化异常
  • (10)java.lang.NoSuchMethodException 方法不存在异常

final, finally, finalize 的区别

  • 1)final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。
  • 2)Finally:异常处理语句结构的一部分,表示总是执行。
  • 3)finalize:Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

String、 StringBuffer、 StringBuilder 的区别?

(1)可变,不可变:

  • String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象
  • StringBuffer:在修改时会改变对象自身,每次操作都是对 StringBuffer 对象本身进
    行修改,不是生成新的对象使用场景:对字符串经常改变情况下,主要方法:append(),insert()等;
    (2)线程是否安全:
  • String 对象定义后不可变,线程安全
  • StringBuffer 是线程安全的(对调用方法加入同步锁),执行效率较慢,适用于多
    线程下操作字符串缓冲区大量数据
  • StringBuilder 是线程不安全的,适用于单线程下操作字符串缓冲区大量数据

IO 流

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

Java 中有几种类型的流?分别是什么?

  • Java 中的流,可以从不同的角度进行分类。
  • 按流的方向分:输入流和输出流。
  • 按处理数据单位分:字节流和字符流。
  • 按实现功能分:节点流和处理流。
    字节流和字符流的区别
  • 1.字节流读取的时候,读到一个字节就返回一个字节; 字符流使用了字节流读到一个
    或多个字节(中文对应的字节数是两个,在 UTF-8 码表中是 3 个字节)时。先去查指定的编码表,将查到的字符返回。
  • 2.字节流可以处理所有类型数据,如:图片,MP3,AVI 视频文件,而字符流只能处理
    字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。

二、流程图

jmyp.png
1.网关登录拦截器--分析.png 2.首页--分类--分析.png

相关文章

  • 今日流程

    一关系型数据库 1、Mysql 部分 1.1 架构图介绍 1.连接管理与安全验证是什么? 每个客户端都会建立一个与...

  • 今日流程

    1.看场地。 2.画室请谭一吃饭。画画 3.速写打卡已完成。还有个涂鸦打卡。晚上画一下。无主之地。 4.好好想想画...

  • 今日流程

    一、面试题 抽象类和接口的区别 1.接口描述了方法的特征,不给出实现,一方面解决java的单继承问题,实现了强大的...

  • 今日流程

    有难度的事情才是真正进步的开始——王纪琼 今日流程 原本八点下夜班可以早早回家,家里老公和妹妹还发着烧,昨...

  • 2023.2.9今日流程

    1.孩子因为累不想去学舞蹈了,我当时确实有点说教了几句发现不管事,而我灵机一动通过让孩子看他跳舞的视频,轻松让他又...

  • Day2【20190714】纸质书籍永远不会消亡

    本文提纲001今日流程002读书打卡内容003牛班打卡内容 001今日流程 13:11醒,刷牙洗脸+吃面+听芝士小...

  • 4.18日精进

    今日体验:今天休息去公司开会讲了空调清洗的流程。 核心:流程明确了工作的顺序。 转身用:以流程为标准。

  • 今日流程图

    1、面试题 谈谈对Spring框架的理解 Spring是一个封层的一站式开发的轻量级开源框架,通过配置文件中的 元...

  • 今日流程图

    问:自定义指令(v‐check、v‐focus)的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?答:全局定义...

  • 今日流程12/18

    面试题 1.抽象类与接口的区别 2.常用的集合有哪些,谈谈你对他们的理解 3.==和equals()的区别? 4....

网友评论

      本文标题:今日流程

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