JAVA面试锦囊(七)

面试必备:《Java 最常见 200+ 面试题全解析》 毕业在即,想让面试官在短短的几十分钟内就认可你的能力? 想在最快的时间内收获 Java 技术栈最核心的知识点? 想要更全面、更深入的了解 Java 技术? 这里能够给你想要的所有答案 阅读详情

● 说说Spring MVC与Struts2的不同?

(1) 核心控制器不同:spring mvc核心控制器是Servlet,而struts2是Filter。

(2) 控制器实例:理论上,spring mvc会比struts2快一些,spring mvc是基于方法设计,而struts2是基于对象,每次发一次请求都会实例化一个action。每一个action都会被注入属性,而Spring mvc更像Servlet一样,只有一个实例,每次请求执行对应的方法即可(注意:由于是单例实例,所以应当避免全局变量的修改,这样会产生线程安全问题)

(3) 管理方式:Spring MVC是Spring的一个模块,所以Spring对Spring MVC的控制器管理更加方便。

(4) 参数传递:Struts2中自身提供多种参数接收,其实都是通过ValueStack进行传递和赋值,而Spring MVC是通过方法的参数进行接收。

(5) 学习难度:Struts2学习成本比较高,比如拦截器、值栈及OGNL表达式,而Spring MVC相对简单。

(6) Intercepter的实例机制:struts有以自己的Intercepter机制,Spring MVC用到是对立的AOP方式。

(7) Spring MVC处理Ajax请求,直接通过返回数据,方法中使用注解@ResponseBody,Spring MVC自动帮我们把对象转成为JSON数据,而Struts2是通过插件的方式进行处理的。

● Spring的两大核心?

        Spring是J2EE应用程序框架,是轻量级的IOC和AOP的容器框架(相对于重量级的EJB),主要是针对javaBean的生命周期进行管理的轻量级容器。

(1) IOC(Inversion of Control)或 DI(Dependency Injection):原来我们的Service需要调用DAO,Service就需要创建DAO,Spring发现你的Service需要依赖DAO,就给你注入。核心原理:就是配置文件 + 反射(工厂也可以) + 容器(map)。

(2) AOP面向切面的编程:我们主要使用AOP来做事务、权限判断、日志等功能,核心原理:使用动态代理的方式,在执行方法前后或出现异常后加入相关逻辑。

● 说说Spring事务的传播特性?

传播特性:多个事务存在是怎么处理的策略。

(1) PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启。

(2) PROPAGATION_SUPPORTS:如果存在一个事务,则支持当前事务。如果没有则非事务运行。

(3) PROPAGATION_MANDATORY:如果存在一个事务,则支持当前事务。如果没有则抛异常。

(4) PROPAGATION_REQUIRED_NEW:总是开启一个事务,如果一个事务已经存在,则将这个存在的事务挂起。

(5) REQUIRED_NOT_SUPPORTS:总是非事务的执行,并挂起任何存在的事务。

(6) PROPAGATION_NEVER:总是非事务的执行,如果存在一个事务,则抛出异常。

(7) PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动的事务,则按TransactionDefinition.PROPAGATION_REQUIRED属性执行。

● Mybatis和Hibernate有什么不同?

相同点:都是java的orm框架,屏蔽jdbc api的底层访问细节。

不同点:

(1) hibernate要比Mybatis功能强大很多,因为hibernate自动生成sql语句。

(2) Mybatis要比hibernate简单多,Mybatis是面向sql的。不用考虑对象间一些复杂的映射关系。

(3) 由于Mybatis需要我们在xml配置文件中写sql,hibernate我们无法直接控制语句。我们就无法去写特定的高效sql或复杂sql语句。

Mybatis好处:屏蔽jdbc api的底层访问细节。将sql语句与java代码进行分离;提供了将结果集自动封装为实体对象和对象的集合的功能。

Hibernate好处:hibernate是一个全自动的orm映射工具,他可以自动生成sql语句并执行返回java结果。

● Hibernate对象几状态?

瞬时状态:刚刚new出来,没有被持久化,没有id。(不处于session中,该对象就是临时对象)。

持久化状态/托管状态:已经被持久化,加入到session的缓存中,该状态的对象为持久化 对象。

游离状态:已经被持久化,但没有处于session中,该状态的对象为游离对象。

删除状态:对象有关联的ID,并且在session管理下,但是已经被计划删除。

面试必备:《Java 最常见 200+ 面试题全面解析》 春招在即,想让面试官在短短的几十分钟内就认可你的能力? 想在最快的时间内收获 Java 技术栈最核心的知识点? 想要更全面、更深入的了解 Java 技术? 这里能够给你想要的所有答案 阅读详情

相关推荐

Google账号找回通用方法(尤其是知道账号密码仍无法登录和找回的)

Google账号找回通用方法【尤其是知道账号密码仍无法登录和找回的】普通找回注意:适用于常用谷歌账户的设备和网络情况下无法使用手机或辅助邮箱验证码进行密码找回特殊找回方法注意;适用于1.新的设备以及网络环境(包括由于非正常原因导致设备系统以及应用信息变更)2.没有开启辅助验证(手机/邮箱)3.知道账号密码但无法登录或找回。通过申诉进行找回 普通找回 注意:适用于 常用谷歌账户的设备和网络情况下 无法使用手机或辅助邮箱验证码进行密码找回 通过恢复页面进行恢复 https://accounts.google

极客代码-极致生活 23万+

Java面试锦囊(七)

中间件部分 Redis部分 讲一下你理解的Redis,为什么Redis很快 Redis是一种高性能的,开源的,C语言编写的非关系型数据库,可以对关系型数据库起到补充作用,同时支持持久化,可以将数据同步保存到磁盘 说Redis很快是相对于关系型数据库如mysql来说的,主要有以下因素 第一,数据结构简单,所以速度快 第二,直接在内存中读写数据,所以速度快 第三,采用多路IO复用模型,减少网络IO的时间消耗,避免大量的无用操作,所以速度快 第四,单线程避免了线程切换和

九离的博客 2013

从Google到LLVM:5种主流clang-format预设风格横向对比(含代码对比图)

本文横向对比了LLVM、Google、Chromium、Mozilla和WebKit五种主流的clang-format预设代码风格。通过同一段C++代码的格式化效果对比图,直观展示了它们在指针对齐、大括号换行、缩进等关键细节上的差异,并提供了基于团队背景与项目基因的选型决策指南。

weixin_28828243的博客 442

Java面试锦囊

更多精彩技术分享请浏览本人博客:https://blog.youkuaiyun.com/wohiusdashi   前言     现在正是程序员金三银四找工作的大好时机,所以仅以此篇送给正在找工作和准备找工作的大牛或将来的大牛们,祝你们工资翻倍涨,技术倍儿棒!   以下为Java常见的面试题与答案,仅供参考   1、面向对象的特征有哪些方面    (1).抽象: 抽象就是忽略一个主题中与当前目标...

不甘于平凡的溃败的博客 897

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 413

SAP MM采购合同创建全解析:ME31K操作与后台逻辑

在SAP ERP的物料管理模块中,采购合同作为框架协议的核心,定义了企业与供应商之间的长期供货关系。它与采购订单不同,合同不直接产生收货或发票,而是为后续采购订单提供数据源。创建合同(事务码ME31K)时,需要区分数量合同与金额合同,并维护抬头、行项目、有效期、价格条件和税码等关键信息。SAP通过源确定机制在创建采购订单时自动匹配合同,同时审批策略、编码范围和输出类型也会影响合同的实际可用性。掌握合同创建逻辑,能有效解决采购订单无法带出合同、审批未触发、价格缺失等高频问题。从ME31K实操出发,系统梳理采购

weixin_30000735的博客 195

JAVA面试锦囊(九)

JAVA面试锦囊(九)

qq_41490913的博客 130

海康工业相机排雷笔记02-像素格式解析

工业相机使用过程记录 02-像素格式解析 通过将相机输出图像裸数据raw格式直接存图查看 一、黑白/Mono 直接使用相机测试图像存图: 图像中各部分灰度分别为:0、36、73、109、146、182、219、255,以灰度73列为例 (1)Mono 8 该列图像数据为十六进制49,十进制为73,那么Mono 8就是每个像素点占8bit,依次排列。 (2)Mono 10 该列图像数据为十六进制2401,由于相机均为小端数据,实际数据应解析为0124,十进制为292=73*4,那么Mono 10格式为每

yonghuming_66的博客 8355

JAVA面试锦囊(十)

JAVA面试锦囊(十)

qq_41490913的博客 136

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 851

Modbus通信从入门到精通_2_Modbus TCP通信详解及仿真(搭建ModbusTCP仿真环境:创建虚拟PLC并进行ModbusTCP通讯;寄存器与PLC中映射关系;适合理解如何编写上位机)

LocalPort”是PLC的端口,最终的设置如下图所示:(相关的设置都可以查看帮助文档)P#DB1.DBX0.0 BYTE28是以指针形式表示的DB1的DBX0.0开始(在使用的西门子Modbus tcp的程序块中设置的“MB_HOLD_REG”输出寄存器),其有28个字节(28个字节对应14个寄存器),4001是第一个寄存器,往后数14个即可。在上面的基础上,增加一个“DB1”的“组对象”,同时将“MW0”的组对象禁止(双击组对象,“Active”取消勾选),启动之后发现无法连接。

分享学习成长历程,Winter is coming! 1万+

锦囊:Java面试如何坐等offer?

毕业季来临,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要...

mobilehub 269

嵌入式工程师成长之路(2)——电路设计

为什么你的电源模块总是发热炸机?DC/DC和LDO选型的“潜规则”你踩坑了吗? LM2596降压芯片用错电容导致输出振荡?LED恒流驱动设计让灯珠寿命缩水50%?24V转12V方案成本超预算被老板狂喷?——这些血泪教训,谁能懂得!

云轩阁 13万+

JAVA面试锦囊(十一)

JAVA面试锦囊(十一)

qq_41490913的博客 138

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

java面试锦囊

目录 一 数据库MySql如何优化的? Sql语句的优化 你使用SpringBoot的时候各种配置文件是怎么引入的 说说你做过的项目和你主要负责的模块 讲讲Redis,你在项目中有用过Redis吗? 数据库建表的时候int(1)和int(2)的区别 二 #和$的区别 Springmvc的执行流程 Jvm参数 反射的三种创建方式 Arraylist和linklist的区别 Arraylist一次扩容多少 Vector是如何实现的安全的 讲讲你知道哪些排序方法,并说下他们的时

m0_47674540的博客 1470

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

锦囊:大厂必问的Java面试题

毕业季来临,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要...

优快云人工智能头条 294

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java面试题_锦囊:大厂必问的Java面试题

毕业季来临,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要的所有答案给准备面试的大家,特别总结了 Java 程序员面试必备的题库~共含208 道面试题,涵盖十九个模块:从 Java 基础到框架再到 JVM,提供详细解读和代码案例,让你知其然还知其所以然。而且啊,我总结的这 20...

weixin_39966163的博客 479

java 实体类包含list 怎么取值_锦囊:Java面试如何坐等offer?

毕业季来临,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要的所有答案给准备面试的大家,特别总结了 Java 程序员面试必备的题库~共含208 道面试题,涵盖十九个模块:从 Java 基础到框架再到 JVM,提供详细解读和代码案例,让你知其然还知其所以然。而且啊,我总结的这 20...

weixin_34879325的博客 124

66 个包过面试锦囊,拿走不谢!

蓝色关注,回复“9”获取个人如何快速成长、架构,能力模型,技术管理等资料。见字如面,我是军哥。如今疫情缓解,春意盎然,又到了金三银四的跳槽季节,好多读者让我更新面试相关的文章,今天它来了!...

chengjun_java的专栏 309

java 实体类包含list 怎么取值_锦囊:大厂必问的Java面试题

毕业季来临,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要的所有答案给准备面试的大家,特别总结了 Java 程序员面试必备的题库~共含208 道面试题,涵盖十九个模块:从 Java 基础到框架再到 JVM,提供详细解读和代码案例,让你知其然还知其所以然。而且啊,我总结的这 20...

weixin_42513296的博客 207

Java 面试,如何坐等 offer?

毕业季在即,想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想...

田维常 339

面试锦囊

包装类型和基本类型区别 基本类型:字符,布尔,数值类型 byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。 short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。 int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。 long:64位,最大数据存储容量是2的64次方减1,数据范

不会英语的程序员不是好开拓者 332

作为一名Java程序员,这8个锦囊你不得不知道啊!!!!!

成为一名优秀的 Java 开发者

沉默王二 8251

Java面试锦囊(一)

Java的跨平台原理是什么? Java通过不同的系统,不同版本,不同位数的java虚拟机来屏蔽不同的系统指令集差异,而对外提供统一的接口(Java API),对于我们普通的java开发者,只需要按照接口开发即可。如果我们系统需要部署到不同的环境时,只需要在系统上安装对应版本的虚拟机即可。 Java面向对象的特征是什么? 封装:将一个对象封装成一个高度自治和相对封闭的个体。 抽象:把现实生活中的对象...

ZeJava的博客 353

【锦囊】大厂必问!Java常见200+面试题全解析

想让面试官在短短的几十分钟内认可你的能力?想在最快的收获Java技术栈最核心的知识点?想要更全面更深入的了解Java技术?这篇文章给你想要的所有答案

mobilehub 366

牛逼了!这是什么神仙面试锦囊,Android保姆式准备秘笈三年没换工作面试也一步到位!

关于程序员面试 如果说求职是人生的一座山,那面试就是最难跨越的一道沟。有时候好不容易被通知去面试,结果被面试官虐得体无完肤,还有很多技术精湛、经验丰富的求职者屡次在面试环节被拒,一直没能拿到心仪的大厂高薪offer。 说实话,面试中 7 分靠能力,3 分靠技能。那如何巧妙地回答面试官的问题?如何回答技术性的问题?如何解决求职中的时间冲突问题?如何应对自己不会回答的问题? 最主要的是如何去准备面试,在面试中展示自己的优势。 现在多数朋友都存在这样一个问题:缺乏对自身面试能力的正确认知,现实中的面试..

嘴巴吃糖了 361
上一篇: JAVA面试锦囊(六)
下一篇: JAVA面试锦囊(八)
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值