1. Servlet的生命周期是什么?

答:
第一次请求: 构造方法->init() -> service() -> doGet()/doPost()
以后的请求:service() -> doGet()/doPost();
Servlet是单实例的.

2. 说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的差别

答:
ArrayList Vector:以数组的方式存储,增、删慢,查、改快
ArrayList:线程不安全,速度快。
Vector:线程安全,速度慢( synchoronized add() )
LikedList: 以双链表的方式存储,增、删快,查、改慢
HashMap与Hashtable都实现的Map接口,HashTable线程安全( add,del -> synchronized),HashMap线程不安全。

拓展:什么叫线程安全和不安全呢?
线程安全就是多线程訪问时,採用了加锁机制。当一个线程訪问该类的某个数据时,进行保护。其它线程不能进行訪问直到该线程读取完,其它线程才可使用。

不会出现数据不一致或者数据污染。

线程不安全就是不提供数据訪问保护。有可能出现多个线程先后更改数据造成所得到的数据是脏数据

3. 事务是什么?事务的四大特性? jdbc怎样做事务处理?

答:
事务是对数据操作的一个单个逻辑单元。这个单元有可能有多个操作,要不同一时候成功。要不同一时候失败。特点是原子性, 隔离性, 一致性, 持久性.
JDBC做事务操作:

    connection.setAutoCommit( false);connection.commit();connection.rollback();connection.setAutoCommit( true);

4. 作用域public、protected、private以及不写时的差别?

答:
public 声明的为公共成员变量和函数成员。在整个类内类外都可使用。
private 声明的为私有成员变量和函数成员,仅仅在声明的类内能够使用。
protected声明的为受保护成员变量和函数成员,类外不可使用。

类内能够使用。
不使用关键字默觉得类内使用。

5. 在spring中,什么是IOC?

什么是DI?

答:
IOC是控制反转,所谓反转是指应用本身并不负责依赖对象的创建和维护,而把这个任务交给第三方即Spring去处理,这是将创建对象的权利交给第三方,控制反转就是控制权的转移
DI是依赖注入.依赖注入,是指执行期间,Spring动态的将依赖对象注入到组件中。

当IOC容器启动时。容器负责创建容器内的全部对象;
依据配置信息形成对象之间的依赖关系。
也就是说让别人(ioc)为你服务。

这是核心。

转载于:https://www.cnblogs.com/liguangsunls/p/7040565.html

每天五个java相关面试题(3)相关推荐

  1. Java相关面试题总结及答案

    Java ArrayList Vector LinkedList Set区别 - ArrayList: 底层数组实现,通过索引访问,o(1)查询时间复杂度,插入删除性能不佳,线程不安全,需要扩容时扩大 ...

  2. Java相关面试题总结+答案(一)

    [Java基础] 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,即Java开发工具包,提供了Java 的开发环境和运行环境. JRE:Java Ru ...

  3. 【大数据面试题】(五)Spark 相关面试题总结

    文章目录 一.spark中的RDD是什么,有哪些特性? 二.概述一下spark中的常用算子区别(map,mapPartitions,foreach,foreachPatition)? 三.谈谈spar ...

  4. Java经典面试题 带答案(五)

    Java经典面试题 带答案(五) Java 面试笔试题汇总 一.编程语言(Java)-2 二.软件工程方面-9 三.智力测试-9 四.数据库-12 五.Java框架方面 -14 六.XML方面-17 ...

  5. Java经典面试题整理及答案详解(八)

    简介: Java经典面试题第八节来啦!本节面试题包含了进程.线程.Object类.虚拟内存等相关内容,希望大家多多练习,早日拿下心仪offer- 了解更多: Java经典面试题整理及答案详解(一) J ...

  6. 100道Java中高级面试题汇总+详细拆解

    出自:Java面试题精选 1-10期 [10期]Redis 面试常见问答 [09期]说说hashCode() 和 equals() 之间的关系? [08期]说说Object类下面有几种方法呢? [07 ...

  7. 2021年Java高级面试题总结

    零基础如何学习Java? 首先,你要明白一点,Java入门不难! 无论你是从事哪个行业,兴趣一定是最好的老师,也是你学习的动力. 学习方式1:自学 自学模式其实我个人不建议绝大部分的人选择,因为自学是 ...

  8. Ajax简介、封装、同步异步 Ajax相关面试题

    一.Ajax 简介 (1)什么是 Ajax ? Ajax = 异步 JavaScript 和 XML: Ajax 是一种用于创建快速动态网页的技术: 通过在后台与服务器进行少量数据交换,Ajax 可以 ...

  9. 2020 Java工程师面试题汇总

    前言 2020,不平凡的一年. 经过一个多月的面试,整理了一些面试题,分享出来.不敢说对大家能有多大帮助,至少可以查漏补缺吧. 里面很多东西,写得很长,并不是说要死记硬背,而是要理解,一次不懂,多看几 ...

最新文章

  1. Tensorflow |(3)变量的的创建、初始化、保存和加载
  2. VTK:PCA用法实战
  3. 200815-C指针高级和链表
  4. CodeForces - 1341D Nastya and Scoreboard(dp+贪心)
  5. Maskros的蓝桥刷题之路(1-13)
  6. 分享11款主流的开源编程工具
  7. js解决客户端与服务器时间不一致的问题
  8. 训练日志 2018.10.24
  9. Facebook 数据的横向扩展
  10. IntelliJ IDEA2017 java连接mysql数据库并查询数据
  11. 17.UNIX 环境高级编程--高级进程间的通信
  12. bzoj1396 识别子串
  13. 计算机专业如何发表论文,如何发表一篇计算机研究生论文
  14. matlab太阳系行星,Matlab动画模拟太阳系行星运动.doc
  15. 轻量级网络:ResNeXt
  16. BAT等公司高薪招聘Android开发面试题目集锦
  17. win系统中打印机驱动点击打开,没反应的解释
  18. Error while running task H:\VUE\:serve with message‘spawn vue-cli-service ENOENT‘
  19. QTabWidget样式表
  20. 国内星载光学卫星详解

热门文章

  1. ​​使用win7超级终端连接华为交换机并配置端口镜像
  2. bootstrap简单使用
  3. vim中如何设置多行注释和删除注释
  4. 英语常见介词错误用法,你有犯过吗?
  5. wireshark过滤使用
  6. FusionChart完全入门手册8
  7. 【原】AMR音频解码插件开发总结
  8. Configuate Mac OSX $PATH
  9. python def函数_Python教程之Lambda表达式知识概述
  10. 使用router-view时组件之间的通信