美文网首页
每日流程图

每日流程图

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

面试题


1.throw 和 throws 的区别?

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

2.final、finally、 finalize 的区别

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

3.IO 流

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

4.break 和continue 的区别?

  • break 和 continue 都是用来控制循环,主要是终止循环;
  • break 用于完全结束一个循环,跳出循环体执行循环后面的语句;
  • continue 用于跳过本次循环,执行下次循环;

5.如何实现对象克隆?

1). 实现 Cloneable 接口并重写 Object 类中的 clone()方法;
2). 实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆

6.获得一个类的类对象有哪些方式?

1):类型.class,例如:String.class
2):对象.getClass(),例如:”hello”.getClass()
3):Class.forName(),例如:Class.forName(“java.lang.String”)

7.MyBatis编程步骤是什么样的?

① 创建SqlSessionFactory
② 通过SqlSessionFactory创建SqlSession
③ 通过sqlsession执行数据库操作
④ 调用session.commit()提交事务
⑤ 调用session.close()关闭会话

8.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?

① 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。
② Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离。
③ 向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
解决: Mybatis自动将java对象映射至sql语句。
④ 对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
解决:Mybatis自动将sql执行结果映射至java对象。

9.简单的说一下MyBatis的一级缓存和二级缓存?

  • Mybatis首先去缓存中查询结果集,如果没有则查询数据库,如果有则从缓存取出返回结果集就不走数据库。Mybatis内部存储缓存使用一个HashMap,key为hashCode+sqlId+Sql语句。value为从查询出来映射生成的java对象
  • Mybatis的二级缓存即查询缓存,它的作用域是一个mapper的namespace,即在同一个namespace中查询sql可以从缓存中获取数据。二级缓存是可以跨SqlSession的。

流程图

1.程序之间通信json数据转换.png 2.用户注册--发送短信--流程分析.png 3.用户登录和登录过滤器--流程分析.png 4.鉴权中心--用户登录--流程图.png
jmyp.png

相关文章

  • 每日流程图

    1.面试题 1.webservice是什么? webservice是一种跨编程语言和跨操作系统的远程调用技术,遵循...

  • 每日流程图

    搭建环境 注册中心 使用Eureka作为注册中心:需要导入对应的坐标、启动类添加开启注解。注意:将spring c...

  • 每日流程图

    面试题 1.throw 和 throws 的区别? throw:是用在语句抛出异常throw特点:1) throw...

  • 流程图

    2018年11月6日,学习了流程图,梳理了常见的两个中心词的流程图。 1:作业拖沓:每日的主题,今年幼儿园大班,开...

  • 画流程图的操作技巧

    流程图分为很多种类型,有业务流程图、程序流程图、会议流程图、项目流程图等。想要绘制流程图的话,使用流程图软件就能绘...

  • 绘制鱼刺流程图的技巧

    流程图分为很多种类型,有鱼刺流程图、业务流程图、会议流程图、项目流程图等。想要绘制流程图的话,使用流程图软件就能绘...

  • 你所知道 & 不知道的流程图

    0 本文目录 1 流程图简介2 流程图分类3 流程图部件库介绍4 画流程图的工具 1 流程图简介 流程图,英文名:...

  • 产品经理之流程图表达业务逻辑

    在看文章时,我们时不时会碰到各种流程图:业务流程图、功能流程图、页面流程图、用户操作流程图、系统流程图等等这些叫得...

  • 干货 | 一份流程图汇总大全(附图)

    流程图大体上分为三种,业务流程图、功能流程图、页面流程图,下面详细介绍一下每种流程图。 1、业务流程图 ...

  • 产品页面流程图

    在前面《产品需要构建哪些流程图》中讲到产品需要的四种流程图:业务流程图、页面流程图、功能流程图、数据流程图。 下面...

网友评论

      本文标题:每日流程图

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