一.基本的数据类型有哪些?
1.数值型:byte,short,int,long(整数类型)
float,double(浮点类型)
2.字符型:char
3.布尔型:boolean
注:String不是基本数据类型
二.抽象类和接口的区别
1.抽象类中的方法可以有方法体,就是能实现具体的功能,而接口中的方法不行。
2.抽象类中的成员变量能是各种类型的,而接口中的成员变量只能是 public static final类型的
3.接口中不能含有静态方法和静态代码块,而抽象类是可以的。
4.一个类只可以继承一个抽象类,一个类可以实现多个接口
5.抽象类里面可以有抽象方法,也可以有普通方法。接口里面的都是抽象方法。
6.抽象类可以有构造函数,接口没有构造函数,不可以实例化。
三.五种最常见的runtime exception
1.NullPointerException(空指针异常)
2.IndexOutOfBoundsException(数组越界异常)
3.IllegalArgumentException(参数无效异常)
4.ClassCastException(类型转换异常)
5.NumberFormatException(数据格式异常)
四.MyBatis和Hibernate的优缺点
1.MyBatis的优点
mybatis的优点在于,它可以进行更为细致的sql优化,可以按需求编写sql语句,以便减少不必要的字段查询。而且自己写的sql可以很方便的调整
mybatis 的另一个优点在于,它的门槛较低,容易掌握
2.MyBatis的缺点
mybatis的缺点在于数据库移植性不好,因为MyBatis 项目是依赖所用的数据库的,所以对不同类型的数据库支持不好
3.Hibernate的优点
4..Hibernate的缺点
五.说说对Spring 的理解,工作原理
六.aop,ioc
七.说说对SpringMVC的理解,工作原理
a.客户端请求提交到dispatcherServlet
b.由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
c.DispatcherServlet将请求提交到Controller。
d.Controller调用业务逻辑处理后,返回ModelAndView。
e.DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
f.视图负责将结果显示到客户端
八.Struts的理解,优点缺点
1.struts的核心是一个过滤器。struts是一个按MVC模式设计的web层框架,当浏览器发送请求时,核心控制器(ActionServlet/Dispatcher)根据struts的配置文件将各个请求分配给不同的action去处理,action处理完成返回一个视图。
2.struts的优点
a.实现MVC模式,结构清晰。
b.有丰富的标签库可以使用,大大提高了开发效率
c.页面导航,使系统的脉络更加清晰,通过一个配置文件,把握各部分之间的联系,更有利于后期的维护
d.提供Exception处理机制
e.数据库连接池管理
f.支持I18n
3.struts的缺点
a.测试不方便
b.对servlet依赖过强
c.对action的执行顺序难以控制
九.关于Servlert
1.什么是servlet
servlet是一个java程序,它是运行在服务器上,处理客户端发送过来的请求,并做出响应的程序。servlet有良好的生命周期,包括加载和实例化、初始化、处理请求以及服务结束。
2.servlet的生命周期
web容器加载servlet是生命周期的开始,通过调用servlet的init()进行servlet的初始化,调用servlet的service()实现,根据请求的不同调用doGet()或doPost()。当服务结束,web容器调用servlet的destroy()方法销毁。
十.数据库优化
十一.分布式
十二.static静态变量
十三.http和https的区别
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
十四.Map和List
十五.ajax
十六.MySql数据库引擎
1.Struts2是基于类开发的,SpringMVC是基于方法开发的.
2.Struts2的入口是filter,SpringMVC的入口是servlet.
3.SpringMVC的开发效率以及性能高于Struts2.
4.Struts2是一个请求一个action,SpringMVC是单例模式。
十八、单例模式
单例模式是一种设计模式,确保一个类只有一个实例(也就是对象),并提供一个全局的访问点(静态变量)。
public class Singleton{
private Singleton(){}//将构造函数声明成私有的,这样在类的外部不能实例化该类
public static Singleton only=new Singleton(){};//声明静态变量,外部可以通过该变量访问类的唯一实例
}
单例模式的一个作用就是使得类的一个对象成为系统中的唯一实例。
十九、Java的几种设计模式
1.单例设计模式
2.简单工厂设计模式
3.适配器设计模式(implement)
4.模板设计模式(extends)
二十、get和post的区别
区别一,get提交方式安全性低,post提交安全性高。
区别二,get传送的数据量小,不能大于2KB,post传送的数据量大,一般默认设上限。
区别三,get是从服务器上获取数据,post是向服务器传送数据。
区别四,get方式,服务器端用Request.QueryString获取变量的值。post方式,服务器端用Request.Form获取提交的数据。
二十一、jdbc和hibernate和mybatis的区别
二十二、jdk和jre的区别
JDK:Java Development Kit的缩写,Java开发工具包。是程序员使用Java语言编写Java程序时使用的开发工具包,是提供给程序员使用的。jdk包含了jre,同时还提供了一系列的编译运行工具。
JRE:Java Runtime Environment的缩写,Java运行时环境。包含了Java虚拟机,Java的基本类库。是使用Java语言编写的程序运行所需要的软件环境,是提供给想运行Java程序的用户使用的。
二十三、final修饰类,方法和变量
1.final修饰的类表示这个类不能被继承。也就是说,如果一个类你永远也不想让它被继承,就用final修饰。final修饰的类里面的成员变量可以根据需要设为final,需要注意的是final里面成员方法都会被隐式的指定为final方法。
2.final修饰的方法不能被修改。
3.final修饰的变量,如果是基本数据类型变量,那么数值初始化之后不能更改;如果是引用类型的变量,那么不能让它指向另一个对象。
二十四、如何理解AOP,IOC,DI
AOP:(Aspect oriented Program)面向切面编程。在运行时,动态的将代码切入到类的指定方法,指定位置的编程思想就是面向切面的编程思想。一般来说我们管切入到指定方法,指定方法的代码片称为切面,而切入到哪些类哪些方法叫切入点。有了aop,我们就可以把几个类共有的代码,抽取成一个切片,等到需要时再把这些代码切入到对象中,从而改变原有的行为。
IOC:(Inversion of control)控制反转,不是一种技术,而是一种设计思想。在Java中,IOC意味着你将设计好的对象交给容器控制,不是传统的在你的对象内部直接控制。有了IOC,把创建对象和查找依赖对象的控制权交给了容器。由容器进行注入对象,所以对象和对象之间是松散耦合的,方便测试,利于功能复用。