Java 面试

发布时间:2026/11/6 9:40:08

Java 面试 Java 面试宝典不定时更新Java的面试题, 有什么好的 感谢评论告知小提示可以看旁边的文章目录,自问自带看看自己会不会奉上本人Java学习笔记Java线程泛型集合SSMMybatismybatis中namespace的作用Namespace是命名空间mapper中的namespace用于绑定dao接口的即面向接口编程。namespace是映射文件唯一标识不允许重复在大型项目中可能存在大量的SQL语句这时候为每个SQL语句起一个唯一的标识ID就变得并不容易了。为了解决这个问题在MyBatis中可以为每个映射文件起一个唯一的命名空间这样定义在这个映射文件中的每个SQL语句就成了定义在这个命名空间中的一个ID。只要我们能够保证每个命名空间中这个ID是唯一的即使在不同映射文件中的语句ID相同也不会再产生冲突了。#和的区别。#{} 和 ${} 都是Mybatis sql映射文件中实现sql参数的绑定#{ }是以一种 预编译的形式进行参数注入自动拼接引号不会存在注入相对${}安全${}以一种字符替换 直接将参数拼接到sql 语句中需要自己写 ’ 单引号存在sql 注入(不安全)sql 注入因为可以 自定义单引号对于一个登录sql :select * from user where username ${xx} and password ${xx}用户最后密码输入’ OR ‘1’1那么如下无论如何用户都能登录成功了select * from user where usernamelalalala and password or 11SpringMVCMVC 设计模式MVC 工作原理MVC是 一种设计模式1前台发送请求 到控制器2控制器接受请求交给模型层处理(此模型层完成业务逻辑servicedao等)3模型层返回处理结果给控制器4控制器将结果渲染到view视图上5渲染好的视图通过控制器返回前台Spring初始Spring 详解Spring IOC 和 AOPSpring配置补充说一说 ioc微服务SpringBootSpring boot和Spring mvc的区别Spring 框架就像一个家族有众多衍生产品例如boot、cloud、security、jpa等等。但他们的基础都是Spring 的ioc 和 aopioc 提供了依赖注入的容器aop解决了面向横切面的编程然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver开发web应用变得很容易。解决的问题: 领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。Spring Boot实现了自动配置降低了项目搭建的复杂度。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题所以它并不是用来替代Spring的解决方案而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等)Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。总结Spring 最初利用“工厂模式”DI和“代理模式”AOP解耦应用组件。大家觉得挺好用于是按照这种模式搞了一个 MVC框架一些用Spring 解耦的组件用开发 web 应用 SpringMVC 。然后发现每次开发都写很多样板代码为了简化工作流程于是开发出了一些“懒人整合包”starter这套就是 Spring Boot。所以用最简练的语言概括就是Spring 是一个“引擎”Spring MVC 是基于Spring的一个 MVC 框架Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。Springboot的核心快速创建一个独立的spring应用程序内置了tomcat, jetty 无需发布war包直接就可运行提供了可选的 starter (启动器) 依赖来 简化 项目的构建配置 pom.xml 自动配置Spring 和 第三方库 简化 配置文件 简化Spring 以及 能够和Spring进行集成的第三方 框架的配置没有冗余代码生成 并且不需要 XML 配置1.不是说没有配置文件2.也可以有XML配置ImportResource 引入原生配置ImportResource(classpath:beanConf.xml) //classpath表示就是资源目录下; 这里不多解释了.. //一般注解直接声明在主程序类上... 方便快速加载SpringCloud数据库公共怎样测试一条sql语句的执行效率。EXPLAIN要测试执行的sql输入sql语句“EXPLAIN select * from users”前面加了explain则查询语句在执行时会记录执行过程效率。通过慢查询日志去寻找哪些sql执行效率MySQL 主要分为 Server 层和引擎层Server 层主要包括连接器、查询缓存、分析器、优化器、执行器同时还有一个日志模块binlog这个日志模块所有执行引擎都可以共用Mysql组合索引怎么用的?索引组合索引是将n个列组合成一个索引其应用场景为频繁同时使用, n列来进行查询组合索引语法create index 索引名 on 数据库名(多个列名);多个列直接 , 逗号分隔通过索引列进行查询 (遵循 最佳左前缀原则就是, 假设创建一个索引 a b c 三列的索引数据库的底层就会创建出 a ab abc 三种索引类型如果此时, 一条sql 语句最左边使用了 a 和 c 列进行条件判断, 执行的时间是不一样的 a最左 会比c 快!因为底层针对 a 创建了一个索引所以建议最常用的列, 创建时候在最左边声明什么情况会导致组合索引失效?组合索引不使用左侧第一个字段;最左的不一定要在最左使用但一定要用除非查询的字段只有建立组合索引的这几个列select 索引列1索引列2 from ...like 以%开头字符串不加引号where条件有数学运算或函数order by 只能使用a才能用到索引。如果mysql估计使用全表扫描要比使用索引快,则不使用索引再次声明索引适合高数据量的场景使用组合索引如果不使用左侧第一个字段什么情况下索引会生效?如果查询的字段只有建立组合索引的这几个列 索引会生效事务用在哪里Oracle工具组件Gitgit改变分支的指令# 创建分支gitbranch 分支名字(如dev)# 创建(dev)分支# 查看分支gitbranch# git branch -a 查看所有分支# 切换分支gitcheckout 分支名字# 切换到xx分支# 合并分支gitmerge(指定合并的分支)# 删除分支gitbranch-d分支名# 还可以,使用.gitignore忽略文件进行版本控制分支合并无冲突# 假设现在我修改新分支上的文件# 然后回到主分支主分支我并没有进行修改只有新分支修改了那么进行合并# 显然是没有冲突的Git会直接对 master分支里的文件进行了更新有冲突)# 如果我修改新分支上的文件# 然后回到主分支主分支我也进行修改那么进行合并# 就会产生冲突的Git会将都修改过的相同行代码都保留以一种特殊格式保留;并且进入 合并模型 需要将格式更改为,正常的才可以继续操作,提交RedisNginxMavenmaven是怎么进行项目管理的?通过POM (工程对象模型)它是使用 Maven 工作时的基本组建是一个 xml 文件。被放在项目工程根目录下文件命名为pom.xmlPOM 包含了关于工程和各种配置细节的信息Maven 使用这些信息构建和管理项目统一字符编码格式JDK 环境版本最主要就是统一依赖Jar包了pom.xml 文件中添加所需jar包的坐标, Maven会根据坐标快速找到Jar的实际位置避免了直接引入使项目工厂庞大底层存在索引算法可以高效快速的响应传递;不用担心影响程序性能maven是怎么管理jar包的?接下通过项目根目录下的pom.xml文件来管理JarMaven项目需要Jar时候就会去pom.xml 文件中寻找对应的依赖根据依赖就可以到对应的仓库中找到准确的Jar仓库流程Maven有三个仓库 本地(本地电脑)——私服(公司内部)——远程(官方提供需要联网下载)而且如果是远程下载的第一次下载时候就会在本地 和 私服中进行了备份下次就不用在远程下载了私服获取也会在本地留取备份接上怎么体现出来的?可以是在Maven 的setting 文件中得知本地仓库的安装位置文件默认的位置在:用户目录下 .m2文件夹可以通过查看pom.xml文件来获取具体的文件夹, 找到具体的依赖不联网/联网 来测试能不能下载Jar…设计模式… … … … … … … … … … … … … … … … … … … … … … … … … … …
延伸阅读

更多相关文章

2026/11/6 9:35:07

滤波电容排兵布阵:从反谐振峰到PDN阻抗的全套思路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 9:35:07

MCU晶振电路设计实战:负载电容与PCB布局避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 10:30:27

S7-1500模拟量输出模块AQ 4xU/I ST安装与调试指南

简介:这份设备手册面向工业自动化领域的工程技术人员、系统集成商与运维人员,聚焦西门子 SIMATIC S7-1500/ET 200MP 系列模拟量输出模块 AQ 4xU/I ST(6ES7532-5HD00-0AB0)的工程应用,帮助读者解决模块选型、接线、参数…

2026/11/6 10:30:27

Linux入门实战:从黑屏恐惧到命令熟练的完整指南

简介:这份资源是面向高校计算机及相关专业学生的操作系统课程实验报告,聚焦Linux用户接口与编程界面,帮助初学者从命令行操作过渡到C程序与Shell脚本的编写运行。内容覆盖字符界面常用命令(ls、uname、man、pwd、mkdir、rm等&…

2026/11/6 10:30:27

悬臂梁变形分析Python实现:解析法与有限差分法对比

简介:面向具备一定Python编程能力与材料力学基础的高校学生、科研人员及工程技术人员,这份资源聚焦悬臂梁在受力条件下的变形数值模拟,围绕挠度、转角、弯矩与剪力的计算展开,将力学模型构建、微分方程求解与编程仿真结合起来&…

2026/11/6 10:30:27

ChatGPT网络钓鱼与MacStealer恶意软件防护指南

1. 新型网络攻击手法解析:当ChatGPT成为黑客诱饵 最近安全圈曝出一件让人脊背发凉的事情:黑客开始利用ChatGPT生成的虚假终端指令,诱骗Mac用户主动安装恶意软件。这种攻击手法之所以可怕,在于它完美结合了社会工程学和搜索引擎优化…

2026/11/6 10:30:27

数字电路计数与分频工程实践:从ISE仿真到示波器实测

简介:本资源是一份面向计算机学院及电子类专业本科生的数字电路实验报告,聚焦计数器与分频电路的设计原理、实现方法及时序特性分析,帮助初学者系统掌握置零法与置最大数法设计M7计数器、N5整数分频电路搭建、以及利用数据选择器生成“111001…

2026/11/6 10:25:23

随机森林Python实现:从三行代码到可交付模型

简介:面向希望动手理解随机森林算法原理与 Python 实现的学习者,这份资料以可运行代码加小型数据集的方式,帮助读者从零完成分类实验并观察模型训练与预测流程。压缩包共 4 个文件,包含 2 个 py 脚本、1 个 csv 数据集和 1 个 txt…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 1:03:39

MCU晶振电路设计全解析:从负载电容计算到PCB布局调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑