每天五个java相关面试题(3)
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)为你服务。
这是核心。
每天五个java相关面试题(3)的更多相关文章
- 每天五个java相关面试题(8)--spring篇
首先呢,假设有从事前端开发的大神或者准备从事前端开发的小伙伴无意看到我这篇博客看到这段文字欢迎加我的QQ:[ 845415745 ].即将走入社会的菜鸟大学生有关于前端开发的职业问题想请教或者一起探讨 ...
- 每天五个java相关面试题(7)--线程篇
首先关于线程能够先看我之前这篇博文熟悉一下线程生命周期的图示以及文字说明 好開始了: 1.java 中有几种方法能够实现一个线程? 答:有两种实现方法.各自是继承 Thread类与实现Runnable ...
- Java相关面试题总结+答案(五)
[异常] 74. throw 和 throws 的区别? throw 是真实抛出一个异常: throws 是声明可能会抛出一个异常. 75. final.finally.finalize 有什么区别? ...
- Java相关面试题总结+答案(九)
[MySQL] 164. 数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项. 第二范式:属性完全依赖于主键(满足第一范式的前提下),即任意一个字段只依赖 ...
- Java相关面试题总结
本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...
- Java相关面试题总结+答案(二)
[容器] 18. Java 容器都有哪些? 19. Collection 和 Collections 有什么区别? Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法, ...
- Java相关面试题总结+答案(三)
[多线程] 35. 并行和并发有什么区别? 并行:多个处理器或多核处理器同时处理多个任务.(是真正的物理上的同时发生) 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来 ...
- Java相关面试题总结+答案(四)
[反射] 57. 什么是反射? 反射是在运行状态中,对于任意一个类,都能够知道该类的所有属性和方法,对于任意一个对象,都能够获得该对象的任一属性和方法:这种动态获取信息以及动态调用对象的方法的功能称之 ...
- Java相关面试题总结+答案(一)
[Java基础] 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,即Java开发工具包,提供了Java 的开发环境和运行环境. JRE:Java Ru ...
随机推荐
- OpenCASCADE 麻花钻头造型实例分析
OpenCASCADE 麻花钻头造型实例分析 eryar@163.com Abstract. OpenCASCADE provides a simple twist drill bit modelin ...
- webgoat7.1开发版环境搭建
环境准备:git mavenjdktomcat然后进入正文:下载webgoat门户cd ~/webgoatgit clone https://github.com/WebGoat/WebGoat.gi ...
- [ Java ] [ Eclipse ] 加速 Eclipse 載入速度-轉載
加速 Eclipse 載入速度-轉載 https://read01.com/NJjNOB.html
- Entity Framework的原理及使用方式
ADO.NET Entity Framework操作数据库的过程对用户是透明的(当然我们可以通过一些工具或方法了解发送到数据库的SQL语句等).我们唯一能做的是操作EDM,EDM会将这个操作请求发往数 ...
- CMDB学习之一
CMDB - 配置管理数据库 资产管理 自动化相关的平台(基础 CMDB): 1. 发布系统 2. 监控 3. 配管系统.装机 4. 堡垒机 CMDB的目的: 1. 替代EXCEL资产管理 —— 资产 ...
- double 失真例子
public static void main(String[] args) { // TODO Auto-generated method stub double ab=821.20; dou ...
- iOS 创建静态库文件时去掉当中的Symbols
在project中创建静态库文件时.默认会将一些Symbols加到静态库文件里.这样做有两个缺点: 1.假设引用静态库文件的project中发生了bug.就会直接跳转到静态库的源代码. 也许有人问:静 ...
- js中对数组的操作-------Day49
今天碰到了一个问题:easyui的使用中,datagrid表格的高度怎样改变(设定成一个固定的高度),看了半天文档,也从网上查了些.还楞是没弄出来,有点小郁闷.这easyui在某些情况情况下确实好用了 ...
- ORM进阶:Hibernate的优劣对照
hibernate是一种是轻量级的ORMapping框架.学过EntityFramework的.会感觉挺亲切的. 对于各种层次程序猿对数据库的设计: 小菜程序员这样做:首先考虑数据的存储,对于功能的实 ...
- unity3d编程日志
2014/4/27 编写脚本的时候,加入了中文凝视,发现console面板有非常多不可思议的bug.查了一下发现是由于monodevelop脚本中文凝视报错,而英文凝视不会受影响. 解决方法:把凝视放 ...