【Jsp精品源码栏目提醒】:网学会员在Jsp精品源码频道为大家收集整理了“【精品】软件大牛公司_易思博的面试题 - 股票“提供大家参考,希望对大家有所帮助!
powerDeiger能不能画UML以及有那些作用sturts的原理 struts的标签手写 hibernate的延辞加载 struts的好处 Struts跟Tomcat、Turbine等诸多Apache项目一样是开源软件这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
除此之外Struts的优点主要集中体现在两个方面Taglib和页面导航。
Struts将MVC的Controller一分为三在获得结构更加清晰. spring的九大模块 spring的作用 Spring与Struts一样是一个开源框架它的主要好处就是实现了IOC依赖反转。
IOC是什么呢IOC就是根据配置文件将JavaBean实例化在Struts中bean的实例是需要自己申请的而Spring可以更好的实现Bean与 Bean之间的解藕而且可以更好地实现需求变化的插拔通过修改配置文件内容而不是修改代码 Spring还有一个好处就是AOP AOP就是可以在不知道
源码的情况下甚至只有class文件的时候也可以对当前文件插入操作比如一段程序需要加入校验代码但是校 验又不属于业务代码的一部分这时候就可以通过AOP来插入校验代码而不影响业务逻辑。
jsp的封装 hashtable和hashmap的区别 sql的触发器手写
jsp的九大隐试对象 java有那些集合类 集合类存放于java.util包中。
集合类存放的都是对象的引用而非对象本身出于表达上的便利我们称集合中的对象就是指集合中对象的引用reference。
集合类型主要有3种set集、list列表和map映射。
集合类简介 java.util中共有13个类可用于管理集合对象它们支持集、列表或映射等集合以下是这些类的简单介绍 集 HashSet 使用HashMap的一个集的实现。
虽然集定义成无序但必须存在某种方法能相当高效地找到一个对象。
使用一个HashMap对象实现集的存储和检索操作是在固定时间内实现的. TreeSet 在集中以升序对对象排序的集的实现。
这意味着从一个TreeSet对象获得第一个迭代器将按升序提供对象。
TreeSet类使用了一个TreeMap. 列表 Vector 实现一个类似数组一样的表自动增加容量来容纳你所需的元素。
使用下标存储和检索对象就象在一个标准的数组中一样。
你也可以用一个迭代器从一个Vector中检索对象。
Vector是唯一的同步容器类当两个或多个线程同时访问时也是性能良好的。
Stack: 这个类从Vector派生而来并且增加了方法实现栈一种后进先出的存储结构。
LinkedList: 实现一个链表。
由这个类定义的链表也可以像栈或队列一样被使用。
ArrayList: 实现一个数组它的规模可变并且能像链表一样被访问。
它提供的功能类似Vector类但不同步。
映射 HashTable 实现一个映象所有的键必须非空。
为了能高效的工作定义键的类必须实现hashcode方法和equal方法。
这个类是前面java实现的一个继承并且通常能在实现映象的其他类中更好的使用。
HashMap 实现一个映象允许存储空对象而且允许键是空由于键必须是唯一的当然只能有一个。
WeakHashMap 实现这样一个映象通常如果一个键对一个对象而言不再被引用键/对象对将被舍弃。
这与HashMap形成对照映象中的键维持键/对象对的生命周期尽管使用映象的程序不再有对键的引用并且因此不能检索对象。
TreeMap 实现这样一个映象对象是按键升序排列的。
Set和List都是由公共接口Collection扩展而来所以它们都可以使用一个类型为Collection的变量来引用。
这就意味着任何列表或集构成的集合都可以用这种方式引用只有映射类除外但也不是完全排除在外因为可以从映射获得一个列表。
所以说把一个列表或集传递给方法的标准途径是使用Collection类型的参数。
java的多线程 接口和抽象类的区别 设计模式mvc jdbc java有那几中连接数据库方式 JDBCODBC ADO.NET还有一种纯JAVA连接要下载三个.jar文件才行JNl js能不能 JavaScript 缩写。
一种计算机脚本语言主要在web浏览器客户端解释执行 uml的类图 准建模语言UML的重要内容可以由下列五类图 第一类是用例图 第二类是静态图Static diagram包括类图、对象图和包图。
第三类是行为图Behavior diagram描述系统的动态模型和组成对象间的交互关系。
第四类是交互图Interactive diagram描述对象间的交互关系。
·第五类是实现图 Implementation diagram 。
ooa是什么 ooaobject oriented analysis面向对象分析 oodobject oriented design面向对象设计 Object-Oriented Analysis面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后按照面向对象的思想来分析问题。
OOA与结构化分析有较大的区别。
OOA所强调的是在系统调查资料的基础上针对OO方法所需要的素材进行的归类分析和整理而不是对管理业务现状和方法的分析。
OOA面向对象的分析模型由5个层次主题层、对象类层、结构层、属性层和服务层和5个活动标识对象类、标识结构、定义主题、定义属性和定义服务组成。
在这种方法中定义了两种对象类之间的结构一种称为分类结构一种称为组装结构。
分类结构就是所谓的一般与特殊的关系。
组装结构则反映了对象之间的整体与部分的关系。
OOA在定义属性的同时要识别实例连接。
实例连接是一个实例与另一个实例的映射关系。
OOA在定义服务的同时要识别消息连接。
当一个对象需要向另一对象发送消息时它们之间就存在消息连接。
OOA 中的5个层次和5个活动继续贯穿在OOD画向对象的设计过程中。
OOD模型由4个部分组成。
它们分别是设计问题域部分、设计人机交互部分、设计任务管理部分和设计数据管理部分。
一、OOA的主要原则。
1抽象从许多事物中舍弃个别的、非本质的特征抽取共同的、本质性的特征就叫作抽象。
抽象是形成概念的必须手段。
抽象原则有两方面的意义第一尽管问题域中的事物是很复杂的但是分析员并不需要了解和描述它们的一切只需要分析研究其中与系统目标有关的事物及其本质性特征。
第二通过舍弃个体事物在细节上的差异抽取其共同特征而得到一批事物的抽象概念。
抽象是面向对象方法中使用最为广泛的原则。
抽象原则包括过程抽象和数据抽象两个方面。
过程抽象是指任何一个完成确定功能的操作序列其使用者都可以把它看作一个单一的实体尽管实际上它可能是由一系列更低级的操作完成的。
数据抽象是根据施加于数据之上的操作来定义数据类型并限定数据的值只能由这些操作来修改和观察。
数据抽象是OOA的核心原则。
它强调把数据属性和操作服务结合为一个不可分的系统单位即对象对象的外部只需要知道它做什么而不必知道它如何做。
2封装就是把对象的属性和服务结合为一个不可分的系统单位并尽可能隐蔽对象的内部细节。
3继承特殊类的对象拥有的其一般类的全部属性与服务称作特殊类对一般类的继承。
在OOA中运用继承原则就是在每个由一般类和特殊类形成的一般—特殊结构中把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和服务一次性地在一般类中进行显式的定义。
在特殊类中不再重复地定义一般类中已定义的东西但是在语义上特殊类却自动地、隐含地拥有它的一般类以及所有更上层的一般类中定义的全部属性和服务。
继承原则的好处是使系统模型比较简练也比较清晰。
4分类就是把具有相同属性和服务的对象划分为一类用类作为这些对象的抽象描述。
分类原则实际上是抽象原则运用于对象描述时的一种表现形式。
5聚合又称组装其原则是把一个复杂的事物看成若干比较简单的事物的组装体从而简化对复杂事物的描述。
6关联是人类思考问题时经常运用的思想方法通过一个事物联想到另外的事物。
能使人发生联想的原因是事物之间确实存在着某些联系。
7消息通信这一原则要求对象之间只能通过消息进行通信而不允许在对象之外直接地存取对象内部的属性。
通过消息进行通信是由于封装原则而引起的。
在OOA中要求用消息连接表示出对象之间的动态联系。
8粒度控制一般来讲人在面对一个复杂的问题域时不可能在同一时刻既能纵观全局又能洞察秋毫。
因此需要控制自己的视野考虑全局时注意其大的组成部分暂时不详察每一部分的具体的细节考虑某部分的细节时则暂时撇开其余的部分。
这就是粒度控制原则。
9行为分析现实世界中事物的行为是复杂的。
由大量的事物所构成的问题域中各种行为往往相互依赖、相互交织。
二、面向对象分析产生三种分析模型 1、功能模型即用例模型à作为输入 2、对象模型:对用例模型进行分析把系统分解成互相协作的分析类通过类图/对象图描述对象/对象的属性/对象间的关系是系统的静态模型 3、动态模型:描述系统的动态行为通过时序图/协作图描述对象的交互以揭示对象间如何协作来完成每个具体的用例单个对象的状态变化/动态行为可以通过状态图来表达 三、OOA的主要优点 1加强了对问题域和系统责任的理解 2改进与分析有关的各类人员之间的交流 3对需求的变化具有较强的适应性 4支持软件复用。
5贯穿软件生命周期全过程的一致性。
6实用性 7有利于用户参与。
四、OOA方法的基本步骤 在用OOA具体地分析一个事物时大致上遵循如下五个基本步骤 第一步确定对象和类。
这里所说的对象是对数据及其处理方式的抽象它反映了系统保存和处理现实世界中某些事物的信息的能力。
类是多个对象的共同属性和方法集合的描述它包括如何在一个类中建立一个新对象的描述。
第二步确定结构structure。
结构是指问题域的复杂性和连接关系。
类成员结构反映了泛化-特化关系整体-部分结构反映整体和局部之间的关系。
第三步确定主题subject。
主题是指事物的总体概貌和总体分析模型。
第四步确定属性attribute。
属性就是数据元素可用来描述对象或分类结构的实例可在图中给出并在对象的存储中指定。
第五步确定方法method。
方法是在收到消息后必须进行的一些处理方法方法要在图中定义并在对象的存储中指定。
对于每个对象和结构来说那些用来增加、修改、删除和选择一个方法本身都是隐含的虽然它们是要在对象的存储中定义的但并不在图上给出而有些则是显示的。
面向对象设计Object-Oriented DesignOOD方法是OO方法中一个中间过渡环节。
其主要作用是对OOA分析的结果作进一步的规范化整理以便能够被OOP直接接受。
面向对象设计OOD是一种软件设计方法是一种工程化规范。
这是毫无疑问的。
按照Bjarne Stroustrup的说法面向对象的编程范式paradigm是Stroustrup 97 l 决定你要的类 l 给每个类提供完整的一组操作 l 明确地使用继承来表现共同点。
由这个定义我们可以看出OOD就是“根据需求决定所需的类、类的操作以及类之间关联的过程”。
OOD的目标是管理程序内部各部分的相互依赖。
为了达到这个目标OOD要求将程序分成块每个块的规模应该小到可以管理的程度然后分别将各个块隐藏在接口interface的后面让它们只通过接口相互交流。
比如说如果用OOD的方法来设计一个服务器-客户端client-server应用那么服务器和客户端之间不应该有直接的依赖而是应该让服务器的接口和客户端的接口相互依赖。
这种依赖关系的转换使得系统的各部分具有了可复用性。
还是拿上面那个例子来说客户端就不必依赖于特定的服务器所以就可以复用到其他的环境下。
如果要复用某一个程序块只要实现必须的接口就行了。
OOD是一种解决软件问题的设计范式paradigm一种抽象的范式。
使用OOD这种设计范式我们可以用对象object来表现问题领域problem domain的实体每个对象都有相应的状态和行为。
我们刚才说到OOD是一种抽象的范式。
抽象可以分成很多层次从非常概括的到非常特殊的都有而对象可能处于任何一个抽象层次上。
另外彼此不同但又互有关联的对象可以共同构成抽象只要这些对象之间有相似性就可以把它们当成同一类的对象来处理。
面向对象编程Object Oriented ProgrammingOOP面向对象程序设计是一种计算机编程架构。
OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。
OOP 达到了软件工程的三个主要目标重用性、灵活性和扩展性。
为了实现整体运算每个对象都能够接收信息、处理数据和向其它对象发送信息。
OOP 主要有以下的概念和组件 组件 数据和功能一起在运行着的计算机程序中形成的单元组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 程序有能力忽略正在处理中信息的某些方面即对信息主要方面关注的能力。
封装 也叫做信息封装确保组件不会以不可预期的方式改变其它组件的内部状态只有在那些提供了内部状态改变方法的组件中才可以访问其内部状态。
每类组件都提供了一个与其它组件联系的接口并规定了其它组件进行调用的方法。
多态性 组件的引用和类集会涉及到其它许多不同类型的组件而且引用组件所产生的结果得依据实际调用的类型。
继承性 允许在现存的组件基础上创建子类组件这统一并增强了多态性和封装性。
典型地来说就是用类来对组件进行分组而且还可以定义新类为现存的类的扩展这样就可以将类组织成树形或网状结构这体现了动作的通用性。
由于抽象性、封装性、重用性以及便于使用等方面的原因以组件为基础的编程在脚本语言中已经变得特别流行。
Python 和 Ruby 是最近才出现的语言在开发时完全采用了 OOP 的思想而流行的 Perl 脚本语言从版本5开始也慢慢地加入了新的面向对象的功能组件。
用组件代替“现实”上的实体成为 JavaScriptECMAScript 得以流行的原因有论证表明对组件进行适当的组合就可以在英特网上代替 HTML 和 XML 的文档对象模型DOM。
xml有那些作用 jdbc、dao、hibernate的区别 1.Hibernate 是一个面向Java环境的对象/关系数据库映射工具。
用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去。
Hibernate 不仅仅管理Java 类到数据库表的映射还提供数据查询和获取数据的方法可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。
Hibernate 的目标是对于开发者通常的数据持久化相关的编程任务解放其中的95。
是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合既可以在Java的客户端程序实用也可以在Servlet/
JSP的Web应用中使用最具革命意义的是Hibernate可以在应用EJB的J2EE架构中取代CMP完成数据持久化的重任。
.DAO是Data Access Object数据访问接口数据访问故名思义就是与数据库打交道。
夹在业务逻辑与数据库资源中间。
在核心J2EE模式中是这样介绍DAO模式的为了建立一个健壮的J2EE应用应该将所有对数据源的访问操作抽象封装在一个公共API中。
用程序设计的语言来说就是建立一个接口接口中定义了此应用程序中将会用到的所有事务方法。
在这个应用程序中当需要和数据源进行交互的时候则使用这个接口并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
DAO数据访问对象是一种应用程序编程接口API存在于微软的Visual Basic中它允许程序员请求对微软的Access数据库的访问。
DAO是微软的第一个面向对象的数据库接口。
DAO对象封闭了Access的Jet函数。
通过Jet函数它还可以访问其他的结构化查询语言SQL数据库。
2.JDBCJava Data Base Connectivityjava数据库连接是一种用于执行SQL语句的Java API可以为多种关系数据库提供统一访问它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准据此可以构建更高级的工具和接口使数据库开发人员能够编写数据库应用程序同时JDBC也是个商标名。
有了JDBC向各种关系数据发送SQL语句就是一件很容易 的事。
换言之有了JDBC API就不必为访问Sybase数据库专门写一个程序为访问Oracle数据库又专门写一个程序或为访问Informix数据库又编写另一个程序等等程序员只需用JDBC API写一个程序就够了它可向相应数据库发送SQL调用将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行