面试知识
慢就是【快】
三律:律行、律言、律心
展开
-
RPC与REST的异同
REST与RPC的区别网络模型层数名称说明1应用层定义了用于在网络中进行通信和传输数据的接口2表示层定义不同的系统中数据的传输格式,编码和解码规范等3会话层管理用户的会话,控制用户间逻辑连接的建立和中断4传输层管理网络中的端到端的数据传输5网络层定义网络设备间如何传输数据6链路层将上面的网络层的数据包封装成数据帧,便于物理层传输7物理层传输二进制数据实际应用过程中,五层协议结构里面是没有表示层和会话层的。应该说转载 2020-09-21 15:40:52 · 337 阅读 · 0 评论 -
Tomcat面试题
文章目录1.Tomcat是什么?2.Tomcat的缺省端口是多少,怎么修改3.Tomcat有哪几种Connector 运行模式(优化)?4.Tomcat有几种部署方式?5.Tomcat容器是如何创建servlet类实例?用到了什么原理?6.Tomcat工作模式7.Tomcat顶层架构8.Connector和Container的微妙关系9.Container架构分析10.Container如何处理请求的11.总结1.Tomcat是什么?Tomcat 服务器Apache软件基金会项目中的一个核心项目,是一原创 2020-08-06 23:25:36 · 523 阅读 · 0 评论 -
Java核心技术汇总
文章目录1、Java并发编程篇必考点汇总面试题汇总线程的生命周期与状态流转Java线程的6种状态线程的状态流转sleep、wait、notify、yield、join的区别线程同步与锁多线程同步与锁由来线程同步解决方案Synchronized简介和用法Synchronized源码实现Synchronized的锁存储位置Synchronized的锁升级ReentrantLock可重入锁ReentrantLock的实现原理ReentrantLock的公平锁源码实现ReentrantLock的非公平锁源码实现Re原创 2020-06-21 07:37:52 · 5646 阅读 · 0 评论 -
SpringBoot面试题(持续整理中……)
Spring Boot 是微服务中最好的 Java 框架。为了更好的理解与使用SpringBoot,同时,为了记录平时的点点滴滴,便于日后的面试!1、什么是SpringBoot?用来简化Spring应用的初始搭建以及开发过程,使用特定的方式来进行配置创建独立的Spring引用程序main方法运行嵌入的tomcat无需部署war文件简化maven配置自动配置Spring添加对应的功能s...原创 2020-03-23 00:04:18 · 60244 阅读 · 11 评论 -
5、catch中发生了未知异常,finally代码块如何应对?
catch中发生了未知异常,finally还会执行么?catch发生了异常,finally还是会执行的,并且是finally执行完成后,才会抛出catch中的异常。不过catch会吃掉try中抛出的异常,为了避免这种情况,在一些可以预见catch中会发生异常的地方,先把try抛出的异常打印出来,这样从日志中就可以看到完整的异常信息。...原创 2019-12-03 10:40:22 · 1394 阅读 · 0 评论 -
4、变量和方法被static和final两个关键字修饰,为什么这么做?
常常看到变量和方法被static和final两个关键字修饰,为什么这么做?这么做有两个目的:1、变量和方法于类无关,可以直接使用,使用比较方便;2、强调变量内存地址的不可变性,方法不可继承覆写,强调了方法内部的稳定性。...原创 2019-12-03 10:36:36 · 282 阅读 · 0 评论 -
3、如何证明static静态变量和类无关?
如何证明static静态变量和类无关?可以从以下三个方面证明static静态变量和类无关;1、不需要初始化类就可以直接使用静态变量;2、在类中写个main方法运行,即便不写初始化类的代码,静态变量都会自动初始化;3、静态变量只会初始化一次,初始化完成之后,不管再new多少个类出来,静态变量都不会再初始化。不仅仅是静态变量,静态方法块也和类无关。...原创 2019-12-03 10:31:50 · 245 阅读 · 0 评论 -
2、String相关问题
1、如何解决String乱码的问题?String乱码的主要原因主要有两个:字符集不支持复杂汉字;二进制进行转化时字符集不匹配。在以后使用String时候,为了解决String乱码的问题,主要注意以下两点:1、所有可以指定字符集的地方强制指定字符集,比如new String 和getBytes这两个地方;2、应该使用UTF-8这种能完整支持复杂汉字的字符集2、 为什么Stri...原创 2019-12-02 10:13:00 · 126 阅读 · 0 评论 -
1、为什么使用Long时,推荐多使用valueOf方法,少使用parseLong方法
为什么使用Long时,推荐多使用valueOf方法,少使用parseLong方法?因为Long本身有缓存机制,缓存了-128到127范围内的Long,valueOf方法会从缓存中去拿值,如果命中缓存,会减少资源的开销,parseLong方法没有这个机制。...原创 2019-12-02 08:45:37 · 1424 阅读 · 0 评论 -
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
一、缓存雪崩缓存雪崩是指由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。缓存失效时的雪崩效应对底层系统的冲击非常可怕!大多数系统设计者考虑用加锁或者队列的方式保证来保证不会有大量的...原创 2019-11-20 17:15:16 · 128 阅读 · 0 评论