今日流程

一、面试题

抽象类和接口的区别

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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,324评论 1 31
  • 三重:代码、底层内存、源码 第一阶段:开发常用JavaSE基础、IDE、Maven、Gradle、SVN、Git、...
    guodd369阅读 16,076评论 1 44
  • 常说跳出当下思维,放下眼前的利益,其实很难做到。 只有不停的从小事变起,来训练自已。看看能不能有变化。 学习是违背...
    谭皓匀阅读 206评论 0 0
  • 耳朵的听力受损有三大表现:高频受损、敏感度提高和听力下降。 敏感度提高:我们耳朵的敏感度的提高,会使得声音有些变化...
    每日一则健康小知识阅读 1,809评论 0 0
  • 和闺蜜聊天感慨人生,总觉得自己的人生已经过了大半辈子,一副老态龙钟看穿世事的模样,其实我们的人生也不过才走了四分之...
    Soulmate_2阅读 689评论 0 1