设为首页 加入收藏

TOP

Java企业面试题整理集合(4)(一)
2014-11-23 22:16:05 来源: 作者: 【 】 浏览:10
Tags:Java 企业 试题 整理 集合

spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过property标签说明该类的属性名、通过constructor-args说明构造子的参数。其一切都是返射,当通过applicationContext.getBean(“id名称”)得到一个类实例时,就是以bean标签的类名、属性名、构造子的参数为准,通过反射实例对象,唤起对象的set方法设置属性值、通过构造子的newInstance实例化得到对象。正因为spring一切都是反射,反射比直接调用的处理速度慢,所以这也是spring的一个问题。


spring第二大作用就是aop,其机理来自于代理模式,代理模式有三个角色分别是通用接口、代理、真实对象代理、真实对象实现的是同一接口,将真实对象作为代理的一个属性,向客户端公开的是代理,当客户端调用代理的方法时,代理找到真实对象,调用真实对象方法,在调用之前之后提供相关的服务,如事务、安全、日志。



Hibernate的实现原理:通过解析数据库配置文件获取数据库连接信息并建立连接,通过解析映射文件可以获取映射类名、属性名、表名以及字段名等信息,得到名字后通过反射机制可以得到映射类信息,调用构造方法创建对象,调用每个属性的set方法给对象设值完成数据的装载



type arrayName[]



对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配 释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量 使用情况,为系统开发 测试及性能调整提供依据



1.下载j2sdk和tomcat


2.安装和配置你的j2sdk和tomcat


配置JAVA_HOME CATALINA_HOME


3.在server.xml文件中可进一步修改配置



实现Ajax的关键是使用XMLHttpRequest对象(下简称XHR对象)


Step 1. 创建XHR对象实例


Step 2. 向服务器做请求


Step 3. 指定回调函数, 即当服务器返回结果时如何处理结果


Step 4. 使用XHR对象的send方法发送请求



在服务器端建立该项目的数据库,并保存你选定的项目源文件的第一个版本。客户端任一用户要获得某源文件的修改权利,需进行check out操作。之后客户端一般每完成一个无编译错误的版本想保存的时候,进行check in操作,将当前版本保存在服务器端上并成为最新版本(注意,不是覆盖以前的哟)。任一客户端可以方便地得到服务器上的文件的任意版本(如果有权限的话)。一般还实现了一个重要的功能是版本比较,任一客户端可以利用版本控制工具对某文件的不同版本进行版本比较,它会标记出不同版本的同名文件的不同点,可以轻易地看出版本内容的演化


常用的工具有vss和cvs



J2EE的全称是Java 2 Platform Enterprise Edition,它是由SUN公司领导、各厂商共同制定并得到广泛认可的工业标准。业界各大中间件厂商如BEA、IBM、Oracle都积极地促进了它的“诞生”、“长大”。


  从一开始,J2EE走的就是开放路线——众多厂商共同制定规范,使得J2EE吸收了这些厂商多年来在系统设计、系统集成方面的经验、教训。同时,这些厂商对新技术发展的预测以及各自独到的观点,也会在J2EE的规范中体现。所以,J2EE产品可以满足当前不断变化、日趋复杂的商业需求。


  保护企业的投资


  对于很多企业而言,在多年的发展过程中,它会有自己的技术人员设计开发的系统,也会有从专业软件公司那里买来的系统。这些系统可能是由同一种编程语言写的,也可能是由不同的编程语言写的;可能运行在相同的操作系统上,也可能需要运行在不同的操作系统上。


  为了保护已有投资,企业在构建新系统的时候,会尽量利用已有的系统以节约人力物力并加快系统开发的速度。参加J2EE规范制定的各厂商都在自己的产品中实现了和老系统的接口,如BEA的WebLogic可以直接调用Tuxedo中的服务,IBM的WebSphere也可以调用CICS的服务。Java本身的跨平台性,使得J2EE产品几乎可以在任何操作系统上运行。因此,选择J2EE,企业可以充分利用已有硬件和操作系统。


对于系统将来的扩展,J2EE规范也考虑得很周全。J2EE规范强制开发者把业务逻辑封装成可重用的组件模式。在系统扩展的时候,原来的组件可以直接使用。另外,即使企业重新购买了别的J2EE产品,由于所有的J2EE产品都遵循一个统一的规范,原来的组件只要经过极少的改动就可以在新的J2EE产品上使用。这样,也避免了企业被一家厂商绑死。



l vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。


l 如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。


l 如果查找一个指定位置的数据,vector和arraylist使用的时间是相同的,都是0(1),这个时候使用vector和arraylist都可以。而如果移动一个指定位置的数据花费的时间为0(n-i)n为总长度,这个时候就应该考虑到使用linklist,因为它移动一个指定位置的数据所花费的时间为0(1),而查询一个指定位置的数据时花费的时间为0(i)。



除了基本的Action 之外, Struts 还提供了几个其他类型的Action ,这些Action 大大


丰富了Struts 的功能。下面介绍如下儿个常用的Action 。


l DispatchAction: 能同时完成多个Action 功能的Action 。


l ForwardActon: 该类用来整合Struts 和其他业务逻辑组件,通常只对请求作有效性检查。


l IncludeAction: 用于引入其他的资源和页面。


l LookupDispatchAction: DispatchAction 的子类,根据按钮的key ,控制转发给action的方法。


l MappingDispatchAction: DispatchAction 的子类,一个action 可映射出多个Action地址。


l SwitchAction: 用于从一个模块转换至另一个模块,如果应用分成多个模块时,就可以使用SwitchAction 完成模块之间的切换。



l 插入排序:该算法在数据规模小的时候十分高效,该算法每次插入第K+1到前K个有序数组中一个合适位置,K从0开始到N-1,从而完成排序:


l 冒泡排序:这可能是最简单的排序算法了,算法思想是每次从数组末端开始比较相邻两元素,把第i小的冒泡到数组的第i

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇阿里巴巴和淘宝网校园招聘数据库.. 下一篇一分钟先生: 程序员面试真经

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: