
面试题
文章平均质量分 88
准备面试啦!
Fire Code
Java基础知识点总结:https://www.cnblogs.com/firecode7/
展开
-
Java基础知识
一、为什么说 Java 语言“编译与解释并存”? 这是因为 Java 语言既具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。二、静态方法为什么不能调用非静态成员?这个需要结合 JVM 的相关知识,主要原因如下:1、静态方法是属于类的,在类加载的时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后原创 2022-04-06 16:39:28 · 1607 阅读 · 0 评论 -
bean生命周期
参考:https://blog.youkuaiyun.com/manchengpiaoxue/article/details/84982458https://blog.youkuaiyun.com/w_linux/article/details/80086950原创 2020-08-16 08:58:30 · 86 阅读 · 0 评论 -
悲观锁与乐观锁
乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。一、悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java 中原创 2020-08-15 10:06:39 · 138 阅读 · 0 评论 -
设计模式面试题
1.请列举出在 JDK 中几个常用的设计模式?单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像Boolean.valueOf,观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器设计模式(Decorator design pattern)被用于多个 Java IO 类中。2.什么是设计模式?你是否在你的代码里面使用过原创 2020-08-11 17:21:34 · 311 阅读 · 0 评论 -
Spring Boot面试题
1、什么是 Spring Boot? 多年来,随着新功能的增加,spring 变得越来越复杂。只需访问 https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 spring 项目需要很多努力,因为我们现在必须从头开始做所有事情。 Spring Boot 是解决这个问题原创 2020-08-11 16:27:08 · 239 阅读 · 0 评论 -
Spring MVC面试题
1、什么是 Spring MVC?SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合。2、Spring MVC 的优点1)它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java组件.并且和 Spring 提供的其他基础结构紧密集成.2)不依赖于 Servlet API(目标虽是如此,但是在实现的时候确实是依赖于 Servlet 的)3)可以任意使用各种视图技术,而不仅仅局限于 JSP4)支持各种请求资源的映射策略5)原创 2020-08-11 15:02:15 · 371 阅读 · 0 评论 -
Spring 面试题
1、什么是 Spring 框架?Spring 框架有哪些主要模块? Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。 Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后台进行工作的。 Spring 框架至今已集成了 20 多个模块。这些模块主要被分如下图所示的核心原创 2020-08-11 12:10:04 · 572 阅读 · 0 评论 -
MyBatis面试题
1、什么是 MyBatis?MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2、讲下 MyBatis 的缓存 MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置<cache/>3、Mybatis 是如何进行分页的?分页插件的原理是什么?1)Mybatis 使用 R原创 2020-08-10 21:10:25 · 232 阅读 · 0 评论 -
Tomcat面试题
1、Tomcat 的缺省端口是多少,怎么修改?1)找到 Tomcat 目录下的 conf 文件夹2)进入 conf 文件夹里面找到 server.xml 文件3)打开 server.xml 文件4)在 server.xml 文件里面找到下列信息<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"redirectPort="8443" uriEncoding="utf-8"/>port="8080"原创 2020-08-10 17:21:06 · 326 阅读 · 0 评论 -
Netty面试题
1、BIO、NIO 和 AIO 的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步 IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的 I/O 请求都是由 OS 先完成了再通知服务器应用去启动线程进行处理,BIO 是面向流的,NIO 是面向缓冲区的;BIO 的各原创 2020-08-10 16:54:23 · 257 阅读 · 0 评论 -
Nginx面试题
1、请解释一下什么是 Nginx? Nginx 是一个 web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3和 IMAP 协议。2、请列举 Nginx 的一些特性Nginx 服务器的特性包括:反向代理/L7 负载均衡器嵌入式 Perl 解释器动态二进制升级可用于重新编写 URL,具有非常好的 PCRE 支持3、请解释 Nginx 如何处理 HTTP 请求 Nginx 使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该原创 2020-08-10 15:31:39 · 624 阅读 · 0 评论 -
RabbitMQ面试题
1、RabbitMQ 中的 broker 是指什么?cluster 又是指什么? broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。2、什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据 有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的? 在非 cluster 模式下,元数据主要分为 Queue原创 2020-08-10 15:16:09 · 801 阅读 · 0 评论 -
Dubbo面试题
1、Dubbo 是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和Spring 框架无缝集成。2、Dubbo 支持哪些协议,每种协议的应用场景,优缺点?dubbo: 单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远大于提供者。传输协议 TCP,异步,Hessian 序列化;rmi: 采用 JDK 标准的 rmi 协议实现,传输参数和返回参数对象需要实现Serializable 接口,使用 jav原创 2020-08-09 23:06:35 · 543 阅读 · 0 评论 -
Zookeeper注册中心
1.ZooKeeper 是什么? ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的Chubby 一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的 zookeeper 机器来处理。对于写请求,这些请求会同时发给其他 zookeeper 机器并且达成一致后,原创 2020-08-09 16:15:17 · 420 阅读 · 0 评论 -
微服务面试题
1. 前后端分离是如何做的2. 微服务哪些框架 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm 捐赠给 Apache 并加入 Apache 基金会等,为中国互联网人争足了面子,使得阿里巴巴在国人眼里已经从电商升级为一家科技公司了。 Spring Cloud,从命名我们就可以知道,它是 Spring Source 的产物,Spring 社区的强大背景可以说是 Java 企业界最有原创 2020-08-09 15:23:32 · 271 阅读 · 0 评论 -
MySql数据库面试题
1、请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?SQL 标准定义的四个隔离级别为:read uncommited :读到未提交数据read committed:脏读,不可重复读repeatable read:可重复读serializable :串行事物2、在 MySQL 中 ENUM 的用法是什么?ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。SQL 语法如下:Create table size(name ENU原创 2020-08-06 10:13:10 · 1795 阅读 · 0 评论 -
并发编程面试题
Synchronized 相 关 问 题问 题 一 : Synchronized 用 过 吗 , 其 原 理 是 什 么? 这 是 一 道 Java 面 试 中 几 乎 百 分 百 会 问 到 的 问 题 , 因 为 没 有 任 何 写 过 并发 程 序 的 开 发 者 会 没 听 说 或 者 没 接 触 过 Synchronized。 Synchronized 是 由 JVM 实 现 的 一 种 实 现 互 斥 同 步 的 一 种 方 式 , 如 果你 查 看 被 Synchronized 修原创 2020-08-06 09:51:36 · 311 阅读 · 0 评论 -
Linux面试题
1、 Linux 中主要有哪几种内核锁?Linux 的同步机制从 2.0 到 2.6 以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux 从单处理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux 的锁机制越来越有效,也越来越复杂。Linux 的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新原创 2020-08-05 15:24:49 · 298 阅读 · 0 评论 -
多线程面试题
1、现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用 join 方法实现。2、在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它? lock 接口在多线程和并发编程中最大的优势是它们为读和写分原创 2020-08-04 08:58:47 · 176 阅读 · 0 评论