面试记录11-23

1.java1.8新特性

  接口中允许默认方法和静态方法

  lamdba表达式:简化代码,包括匿名内部类和集合遍历

  ::表示对象引用或者构造器引用

  clock和localDateTime获取时间

2.多系统数据交互:

  socket网络通信

  文件传递数据

  数据库传递数据

  消息队列传递数据(activeMQ)

3.springboot原理

  可以无配置文件使用注解开发

  maven管理依赖关系

  内置http服务器

4.springmvc原理

  客户端发送请求到dispatchServlet,通过映射器和配置文件或注解生成处理器,处理对应controller的业务逻辑,返回ModelAndView,通过视图解析器解析并将结果返回客户端渲染页面

5.java内存模型

  java文件经过编译器编译为class文件,经过classLoader加载到jvm中运行

  java内存空间:

    方法区:类的加载信息,变量、常量、常量池(常量和类的全名,字段名和属性,方法名和属性)

    堆:对象的实例

    程序计数器:字节码解释器工作和多线程工作需要用到

    虚拟机栈:方法执行流程需要用到

    本地方法栈:线程私有的数据区域

6.线程池:

  使用java.util.concurrent.Executor接口

  使用多线程时,如果线程创建时间+线程销毁时间>线程执行时间,就会考虑使用多线程

  线程池把创建线程和销毁线程放在程序空闲时间操作,并减少了一些线程的创建和销毁时间,而且限制了线程数量

原文地址:https://www.cnblogs.com/xiaoguangit/p/10006869.html