Java面试篇
文章平均质量分 87
Java面试题
星海灯桥
这个作者很懒,什么都没留下…
展开
-
网络协议篇
网络协议 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。 为什么要有运输层? IP层角度:两个主机的通信 运输层角度:两个应用进程间的通信 从运输层的角度看,通信的真正端点并不是主机而是主机中的进程。也就是说,端到端的通信是应用进程之间的通信 网络层是为主机之间提供逻辑通信,运输层是为应用进程之间提供逻辑通信 运输层对报文进行差错检测,网络层只对首部进行检验 UDP 无连接:发送前不需要建立原创 2021-06-23 09:55:08 · 176 阅读 · 0 评论 -
Java基础篇
Java基础篇 为什么要有字符流? 1、字符流就是字节流基础上加上编码形成的数据流 2、因为字节流操作中文时可能导致乱码(一个中文占2个字节) 3、Writer、Reader,常用FileWriter、FileReader、缓冲流:BufferdReader、BufferdWriter 转换流:InputStreamReader 、OutputStreamWriter (将字节流转换成字符流) public class 读取不同编码的文本文件 { public static void main(Stri原创 2021-06-21 16:14:52 · 143 阅读 · 0 评论 -
Mybatis相关面试题
Mybatis中的两种传参方式 #{}:编译后再取值,可以防止sql注入 ${}:取值后再编译,一般用于传入数据库对象,如传入表名 Mybatis缓存 mybatis缓存流程都一样:都是先去缓存中找,如果找不到再执行sql语句并把结果存放到缓存中,若执行了增删改并commit,就会清空缓存 底层都是hashmap 一级缓存是基于sqlSession的,而二级缓存是基于mapper文件的namespace的 一级缓存默认开启,二级缓存需要手动 一级缓存的底层数据结构就是一个HashMap 一级缓存默认开启原创 2021-06-19 16:38:39 · 54 阅读 · 0 评论 -
SpringMVC面试题
SpringMVC面试题 springmvc是一个应用于表现层的框架 springmvc是对serlvet的封装 注解 @Requestbody @RequestBody和@ResponseBody主要用于将接收(或响应)的pojo对象,转化为json格式 @RequestParam和@PathVariable的区别 请求参数绑定 SpringMVC在接受参数时,是可以直接绑定pojo类型的,甚至是pojo里面还嵌套了pojo也都可以,只要pojo里面的属性名跟接受的参数名称一致就行,因为它是利用反射给po原创 2021-06-18 08:30:56 · 1009 阅读 · 0 评论 -
Spring面试题
Spring IOC 传统new对象产生耦合问题如何改进? xml+工厂类(解析xml、反射生成实例)生产实例,这样就不会耦合了 Spring IOC大致就是这个原理 Spring Bean作用范围 单例模式下,对象跟容器生命周期一致,容器创建时对象就创建,容器销毁时对象销毁 原型模式下,只有当我们管容器要对象的时候,容器才创建对象,而且只有对象长时间不用时,才会被垃圾回收 延迟加载 什么是延迟加载 第一次向容器getBean的时候才去创建和实例化对象 为什么要有延迟加载 1、开启延迟加载一定程度提高容器启原创 2021-06-17 20:04:04 · 87 阅读 · 0 评论 -
SpringBoot篇
Springboot 1、spring缺点:spring需要做很多配置,springboot则不用,我们只需引入依赖,要用的时候直接注入即可 传统的Spring框架实现一个Web服务,需要导入各种依赖JAR包,然后编写对应的XML配置文件 “自动”的表现形式就是我们只需要引我们想用功能的包,相关的配置我们完全不用管,springboot会自动注入这些配置bean,我们直接使用这些bean即可 2、springboot内置各种容器,如tomcat 统一版本管理 1、为什么导入dependency时不需要指定版原创 2021-06-17 19:20:54 · 653 阅读 · 0 评论