java面试题汇总

最近在各种面试,记录一下面试中遇到的问题。

一、String、StringBuilder和StringBuffer有什么区别?

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。

二、HashMap实现原理?

首先,HashMap 是 Map 的一个实现类,它代表的是一种键值对的数据存储形式。Key 不允许重复出现,Value 随意。

HashMap是非线程安全的,HashTable是线程安全的;

三、java中的泛型?

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。 使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。

泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法。

四、java中的反射?

JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

通过Class.forName()方法加载字符串,就可以得到该字符串做代表的Class对象。

五、Java中的自动装箱与拆箱?

装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

六、java中的设计模式?

单例模式 基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 

工厂模式 基本概念:为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。

观察者模式 基本概念:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式又叫发布-订阅(Publish/Subscribe)模式。 

代理模式 基本概念:为其他对象提供一种代理以控制对这个对象的访问。也可以说,在出发点到目的地之间有一道中间层,意为代理。

七、tomcat的优化?

内存设置、并发数设置、解决乱码设置。

八、spring的工作原理和机制?

1、 IoC(Inversion of control): 控制反转  

概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系  

核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean  

2、AOP(Aspect-Oriented Programming): 面向方面编程  

AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等

(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知

(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用

(3)Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afterReturning,afterThrowing,around

(4)Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式

(5)AOP代理:AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类。

九、mysql的事务隔离级别?

事务隔离级别 脏读 不可重复读 幻读

读未提交(read-uncommitted) 是 是 是

不可重复读(read-committed) 否 是 是

可重复读(repeatable-read) 否 否 是

串行化(serializable) 否 否 否

十、mysql的存储引擎?

MyISAM、InnoDB、MEMORY

十一、mysql的sql优化?

十二、mysql的分库分表?

十三、分布式事务控制?

十四、分布式锁的实现?

十五、java的多线程原理和实现?

十六、java网络编程?

十七、linux的常用命令?tail、grep等?

十八、dubbo的实现原理?

推荐阅读更多精彩内容