【面试题解析】-- 20200408Java软件开发工程师面试题解析

本文深入探讨了线程池的工作原理,NoSQL数据库如Redis和Memcache的应用场景,以及JSP的执行过程。同时,对比了JSP与Servlet的区别,并分析了MyBatis与Hibernate在对象关系映射上的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是线程池?

线程池,其实质上就是一个存放对象池,为了提高程序的效率,在程序初始化初期就创建了一定数量的线程对象,保存到线程池中,之后要使用多线程,直接从线程池中取出一个线程对象即可。

2. 你是否用过nosql?为什么要使用?

NoSQL(Not Only SQL,不仅仅是SQL),即非关系型数据库,常见的有Redis、Memcache、ES等,使用缓存的目的是为了提高程序的效率,减轻数据库服务器的压力,因为非关系型数据库是直接操作缓存的,效率比较高。

3. 请谈谈jsp的执行过程

如果jsp被第一次访问,那么首先会将jsp代码翻译成java代码,然后在把翻译过后的java代码,编译成.class结尾的字节码,最后有jvm执行字节码。
如果jsp非首次被访问,那么直接执行之前就已经编译好的.class结尾的字节码。

4. jsp与servlet有什么区别?

  • jsp就是servlet,但是servlet不一定是jsp。
  • jsp是由html与java代码共同构成的,以.jsp后缀结尾的文件,而servlet是一个纯粹的java文件。
  • jsp侧重于页面的展示,servlet侧重于业务逻辑的处理。

5. mybatis与hibernate之间的区别是什么?

  • mybatis是非全自动的对象关系映射,hibernate是全自动的对象关系映射框架。
  • mybatis需要手动编写SQL,hibernate可以根据实体类自动生成SQL语句。
  • mybatis的灵活性比较好,hibernate数据库可移植性比较好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值