2018-最新java面试题(技术面试)

2018-最新java面试题(技术面试)

ID:23797369

大小:23.59 KB

页数:11页

时间:2018-11-10

2018-最新java面试题(技术面试)_第1页
2018-最新java面试题(技术面试)_第2页
2018-最新java面试题(技术面试)_第3页
2018-最新java面试题(技术面试)_第4页
2018-最新java面试题(技术面试)_第5页
资源描述:

《2018-最新java面试题(技术面试)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。2、springMVC的执行流程springMVC是由dispatchservlet为核心的分层控制框架。首先客户端发出一个请求web服务器

2、解析请求url并去匹配dispatchservlet的映射url,如果匹配上就将这个请求放入到dispatchservlet,dispatchservlet根据mapping映射配置去寻找相对应的handel,然后把处理权交给找到的handel,handel封装了处理业务逻辑的代码,当handel处理完后会返回一个逻辑视图modelandview给dispatchservlet,此时的modelandview是一个逻辑视图不是一个正式视图,所以dispatchservlet会通过viewresource视图资源去解析modela

3、ndview,然后将解析后的参数放到view中返回到客户端并展现。3、给定一个txt文件,如何得到某字符串出现的次数File file = new File("E://test.txt");InputStream is = new FileInputStream(file);byte b[]= new byte[1024];int a = is.read(b);String str[]= new String(b,0,a).split("");int count =0;for(int i =0;i

4、{if("a".equals(str[i]))count++;}System.out.println(count);4、Java设计模式思想(单列模式,工厂模式,策略模式,共23种设计模式)a) 单例模式:单例模式核心只需要new一个实例对象的模式,比如数据库连接,在线人数等,一些网站上看到的在线人数统计就是通过单例模式实现的,把一个计时器存放在数据库或者内存中,当有人登陆的时候取出来加一再放回去,有人退出登陆的时候取出来减一再放回去,但是当有两个人同时登陆的时候,会同时取出计数器,同时加一,同时放回去,这样的话数据就会错误,所

5、以需要一个全局变量的对象给全部人使用,只需要new出一个实例对象,这就是单例模式的应用,并且单例模式节省资源,因为它控制了实例对象的个数,并有利于gc回收。b) 策略模式:就是将几个类中公共的方法提取到一个新的类中,从而使扩展更容易,保证代码的可移植性,可维护性强。比如有个需求是写鸭子对象,鸭子有叫,飞,外形这三种方法,如果每个鸭子类都写这三个方法会出现代码的冗余,这时候我们可以把鸭子中的叫,飞,外形这三个方法提取出来,放到鸭父类中,让每个鸭子都继承这个鸭父类,重写这三个方法,这样封装的代码可移植性强,当用户提出新的需求比如鸭子

6、会游泳,那么对于我们oo程序员来讲就非常简单了我们只需要在鸭父类中加一个游泳的方法,让会游泳的鸭子重写游泳方法就可以了。c) 工厂模式:简单的工厂模式主要是统一提供实例对象的引用,通过工厂模式接口获取实例对象的引用。比如一个登陆功能,后端有三个类,controller类,interface类,实现接口的实现类。当客户端发出一个请求,当请求传到controller类中时,controller获取接口的引用对象,而实现接口的实现类中封装好了登陆的业务逻辑代码。当你需要加一个注册需求的时候只需要在接口类中加一个注册方法,实现类中实现方

7、法,controller获取接口的引用对象即可,不需要改动原来的代码,这种做法是的可拓展性强。5、冒泡排序、二分查找a) 冒泡  public static void mp(int a[]){ int swap =0;for (int i =0; i < a.length; i++){ for (int j = i; j < a.length; j++){if (a[j]> a[i]){swap = a[i];a[i]= a[j];a[j]= swap;}}} System.out.println(Arrays.toString

8、(a));} b)二分查找public static int ef(int a[], int tag){ int first =0;int end = a.length;for (int i =0; i < a.length; i++){int middle =

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。