======================================================
注:本文源代码点此下载
======================================================

http://community.csdn.net/expert/topic/5267/5267215.xml?temp=.9871485

http://bbs.mirway.cn

http://community.csdn.net/expert/topic/5394/5394426.xml?temp=.8871729

http://tag.csdn.net/article/03e37e65-f6d3-4534-9d75-ea0f73b069ef.html

1、概述struts,以及struts如何实现mvc架构的?

答:struts framework是一种基于java的技术,web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。struts提供了一种创建web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。struts采用jsp作为mvc的视图,由actionservlet具体指定的action动作类作为控制器即mvc中的c,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的java类以进行相应的处理,控制器还指定下一个视图的位置。struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。

struts的处理流程:

?控制器进行初始化工作,读取配置文件,为不同的struts模块初始化相应的modulconfig对象。

?控制器接收http请求,并从actionconfig中找出对应于该请求的action子类,如果没有对应的action,控制器直接将请求转发给jsp或者静态页面,否则控制器将请求分发至具体的action类进行处理。

?在控制器调用具体的action的execute方法之前,actionform对象将利用http请求中的参数来填充自已。还可以在actionform类中调用validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的actionerrors对象。

?执行具体的的execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个actionforward对象,控制器通过该actionforward对象来进行转发工作。也可以把action要处理的业务逻辑封装在javabean中,如果系统中还有ejb,那么通过javabean调用ejb以完成业务处理;如果没有ejb,那么就直接在javabean中连接数据库,进行数据库相关的操作。

2、概述mvc体系结构

答:mvc包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。

在mvc体系中,模型通常被称为“业务逻辑”,是真正完成任务的代码,视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型

在mvc中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。

3、多线程的优点

答:可分两方面来答:

?相对于单线程而言 :

可以响应多任务的并发操作。

多线程取消了主循环和轮流检测机制,一个线程可以暂停而不阻止系统其他的部分的执行,而且当程序中一个线程阻塞时,只有那个被阻塞的线程暂停,所有其他的线程继续执行。

?相对于进程而言:(可以答也可以不答)

它所要求的开销比较小,转换成本较小。

所有线程共享同一地址空间,相互协作。

彼此之间通信很容易。

4、ejb概述

答:ejb是企业级的javabean,它提供了构建企业级业务逻辑的一种组件模型。

ejb分为三种:session bean entity bean message-driven bean 三种,其中session bean分为有状态和无状态session bean两种,entity bean分为容器管理的entity bean ( cmp ) 和 bean管理的 entity bean ( bmp )。每一个ejb由一个远程接口、一个本地接口和一个ejb容器实现组成,远程接口声明了提供给ejb客户调用的各种应用方法,本地接口声明了创建新的ejb实例的create方法、寻找ejb实例的查找(finder)方法以及刪除ejb实例的remove方法。ejb容器提供了ejb的运行环境和生命周期的管理。

5、用java访问oracle数据库、取得记录并输出到界面

答:……………………..

class.forname(“oracle.jdbc.driver.oracledriver”);

connection conn=drivermanager.getconnection( url , username , password );

statement stmt=conn.createstatement();

string str=”select * from [table]”;

resultset rs=stmt.executequery(str);

while(rs.next())

{

……………………

}

rs.close();

stmt.close();

conn.close();

6、概述java垃圾回收机制

答:它的工作原理如下:

当不存在对一个对象的引用时,我们就假定不再需要那个对象,那个对象所占有的存储单元可以被收回,可通过system.gc()方法回收,但一般要把不再引用的对象标志为null为佳。

7、java类是否可以多继承,怎么实现多继承?

答:java没有多继承,但可以通过接口的形式来达到多继承的目地。

8、面向对象的特点

答:面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上 抽象性 这一特点)

9、接口有什么优点

答:接口有以下优点:

?接口只是一个框架而没有实现,因此在接口定义时不需要考虑接口中的方法如何实现。

?利用接口可达到实现多继承的目地。

?可以在不暴露对象的类的前提下,暴露对象的编程接口。

?不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。

?声明想执行的一个或多个方法。

10、aylist 与 vector 的区别

答:主要从两个方面来说明:

?安全、效率方面

如果要实现同步安全,则要用vector,否则则用arraylist,因为arraylist不考虑同步安全的问题,所以效率要高些。

?资源方面

当两者的容量已满时,它们都会自动增长其容量,但vector是按其容量的一倍增长,而arraylist则按其容量的50%增加,所以vector更能节省资源。

11、mvc结构在jtable中怎样实现的,这种结构有什么好处?

答、在jtable中不存储它的单元数据,它的所有实例把它们的单元值交给实现了tablemodel接口的对象来维护和管理,所以在mvc结构中,jtable的表格主要体现了一个v的作用,其表格将数据变化体现出来,而数据模型则体现了m的作用,封装数据和业务逻辑。

注:详细解说见第二题

12、在控制台中输入一个字符串,然后按照逆序打印出来

答:import java.io.*;

public class test{

public static void main(string args[]){

string a=””;

string b=””;

string c=””;

try{

bufferedreader br=new bufferedreader(new inputstreamreader(system.in));

if ((b=br.readline())!=null){

a=a+b;

}

for(int i=str.length()-1;i>=0;i--){

c=c+a.substring(i,i+1);

}

system.out.println(c);

}

catch(exception e){

system.out.println(e.getmessage());

}

}

}

13、java是否存在内存泄露

答:存在,当一个对象引用另一对象后,当另一对象为空时,会出现内存泄露。

14、string类的值是否可以改变

答:string类的值在初始后不能改变,如果要改变,可转换为stringbuffer类,这个类的值是可以动态改变的。(这里主要考string 和 stringbuffer 的区别)

15、corba概述

答:通用对象请求代理,它的主要目标是解决面向对象的异构应用之间的互操作问题,并提供分布式计算所需的一些其他的服务。orb是corba的核心。

corba重新调整了客户与服务器之间的关系。客户可以向服务器提出事务请求,同时也可以为下一个请求充当服务器角色。由于corba系统引入了中间件的概念,即事件代理,由中间件完成客户机与服务器之间的通信,使得服务器对于科户机的位置相对透明,取消了原有分布式计算机模型中客户机----服务器之间的一一对应关系,corba客户机可以在运行时动态获得服务对象的位置,并且可以对多个服务对象提交事务请求,所以它极大的推动了分布计算的发展。另外,corba规范约束采用面向对象的分布式方法,以接口定义语言的形式实现对象内部细节的完整封装,从而降低了软件系统的复杂度,增加了软件功能的可重用性。corba提供到c c++ java 等高级语言的映射,极大程度地减小了程序设计语言的依赖性。

(有待扩展)

16、jsp的内置对象、功能以及主要方法

jsp内置对象功能主要方法

out向客户端输出数据print() println() flush() clear() isautoflush() getbuffersize()close() …………

request向客户端请求数据getattributenames() getcookies() getparameter() getparametervalues() setattribute() getservletpath() …………..

response封装了jsp产生的响应,然后被发送到客户端以响应客户的请求addcookie() sendredirect() setcontenttype()

flushbuffer() getbuffersize() getoutputstream()

senderror() containsheader()……………

application

config表示servlet的配置,当一个servlet初始化时,容器把某些信息通过此对象传递给这个servletgetservletcontext() getservletname() getinitparameter()getinitparameternames()……………

pagejsp实现类的实例,它是jsp本身,通过这个可以对它进行访问flush()………

pagecontext为jsp页面包装页面的上下文。管理对属于jsp中特殊可见部分中己经命名对象的该问forward() getattribute() getexception() getrequest() getresponse()getservletconfig()

getsession() getservletcontext() setattribute()

removeattribute() findattribute() ……………

session用来保存每个用户的信息,以便跟踪每个用户的操作状态getattribute() getid()getattributenames() getcreatetime() getmaxinactiveinterval()

invalidate() isnew()

exception反映运行的异常getmessage()…………

17、java 有几种修饰符?默认的是什么?

答:(注:修饰符是影响类、变量及成员方法的生存空间和可访问性的关键字)

修饰符类成员方法成员变量局部变量

abstract√√--

static-√√-

public√√√-

protected-√√-

private-√√-

private protected-√√-

synchronized-√--

native-√--

volatile--√-

final√√√-

transient--√√

以下是访问控制修饰符: 默认为friendly

修饰符同类同包子孙类不同包

public√√√√

protected√√√-

friendly√√--

private√---

18、tostring方法的概述

答:因为每个类都继承了object类,所以都实现了tostring()方法。

通过tostring()方法可以决定所创建对象的字符串表达形式。

19、object类的概述

答:object类是所有其他的类的超类,object的一个变量可以引用任何其他类的对象。因为数组是作为类实现的,所以object的一个变量也可以引用任何数组,它包括以下几种方法:

clone() equals() finalize() getclass() hashcode() notify() notifyall() tostring() wait()

20、java特点

答:java具有以下几个主要特点:

?简单性

?面向对象:java是完全面向对象的,它支持静态和动态风格的代码继承及重用

?分布式:包括数据分布和操作分布

?健壮性:java系统仔细检测对内存的每次访问,确认它是否合法,而且在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。

?结构中立

?安全性:java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

?与平台无关:java写的应用程序不用修改就可在不同的软硬平台上运行。平台无关性有两种:源代码级和目标代码级。 java主要靠java虚拟机在目标代码级上实现平台无关性

?解释执性:运行java程序时,它首先被编译成字节代码,字节代码非常类似机器码,执行效率非常高。

?高性能

?多性程

?动态性:它允许程序动态的装入运行时需要的类。

21、什么叫抽象类?抽象类跟接口有什么区别?为什么引进数据接口概念?

答:具有关键字abstract ,在实现内容上没有完全定义的类就叫抽象类。

抽象类和接口的区别如下:

① 在类来继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。

②在接口中无成员变量,而抽象类中可有成员变量。

在java中引进接口主要是为了解决多继承的问题。

22、doget与doput的区别?

答: doput会把地址作为一个文件写到服务器,而doget不会,而只显示在地址栏。

23、多线程实现有那几种方法,同步有哪几种方法?

答:实现同步主要有两种方法:1.synchronized2.wait notify

实现多线程主要继承thread 类和实现runnable接口。

24、jsp页面的跳转?

答:jsp页面实现跳转主要有jsp:forward 和 sendredirect 两种方法

jsp:forward:在本容器内跳转 。 跳转后,地址栏地址不变 。效率高。跳转后立即结束本页的内容。

sendredirect:在容器之间的跳转,跳转后地址栏地址为跳转后的地址,效率较低。

通常采用jsp:forward方式跳转。

25、类变量的初始化

答:在java中类变量在局部中一定要初始化,因为局部变量会覆盖全局变量,否则会报错:变量未初始化。全局变量则可以不初始化,而到具体的内部方法或其他的类成员中初始化。

26、数组的定义

答:数组是作为一种对象实现的。数组元素可以包含作何类型值,但数组里面的每个元素的类型必须一致创建数组步聚如下:

?声明

?构造

?初始化

27、hastable 与hashmap的区别?

答:hashtable和hashmap的主要区别如下:

?hashtable是同步的,而hashmap不是同步的。所以不要求同步的时候,用hashmap的效率较高

?hashtable版本较hashmap版本低。

28、说明list和set的区别

答:两者主要区别如下:

?list用来处理序列,而set用来处理集。

?list中的内容可以重复,而set则不行。

======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/

antony.net相关推荐

  1. 抱抱星英语Antony:不要用互联网思维做教育 | MCtalk教育访谈摘录

    MCtalk教育创业者说 聚焦教育行业,  倾听创业故事,  洞察行业痛点 少儿在线英语市场近年来表现出强劲的增长态势,市场竞争异常激烈.但是,也因为市场的迅速增长,在线教育行业乱象丛生.大部分企业大 ...

  2. 关于android设备唯一区分device id的取得

    2019独角兽企业重金招聘Python工程师标准>>> 有些apk为了区分唯一设备,需要用到一个device id. 1. 取得设备的MAC address    如果用户没有通过w ...

  3. Nature | 人类胎盘应该真的是无菌的

    撰文 | 617 责编 | 兮 胎盘功能障碍常导致不良妊娠,然而导致胎盘功能障碍的原因尚不清楚.过去的多篇报道认为胎盘微生物群的改变可能与不良妊娠相关[1-3],然而这与前测序时代的观点相悖--胎盘通 ...

  4. Neuron最新研究:神经科学家测量球迷大脑对比赛的反应,试图挖掘人类的深层天性...

    来源:brainnews 2020年的1月27日早上,科比去世,父亲想办法安慰睡醒后的儿子:而在2020年11月26日早上,马拉多纳去世,儿子想办法安慰睡醒后的父亲. 2020年,带走了全球无数球迷的 ...

  5. 比特币现金的第四次战役

    序 如果把我们的行业写成故事,比特币世界就像是维斯特洛大陆,漫长的盛夏与凛冬交替,光神与寒神的魔法此消彼长,正如比特币的繁荣与衰败不断重复. 在这片无关魔法的大陆上,也上演着一系列关于争斗和厮杀,冒险 ...

  6. Bitcoin Unlimited客户端发布新版本,删除了BSV协议功能

    上周末,BCH核心开发组之一Bitcoin Unlimited开发人员发布了新版本的客户端1.6.0.1,新版的客户端删除了Bitcoin SV协议功能,这意味着BU全节点客户端将不再支持BSV区块链 ...

  7. 计算机财务管理相关文献,财务管理外文参考文献(精选文献105个)

    任何事物总是与一定的环境相联系.存在和发展的 ,财务管理也不例外.不同时期.不同国家.不同领域的财务管理之所以有不同的特征 ,都是因为影响财务管理的环境因素不尽相同.企业在许多方面同生物体一样 ,如果 ...

  8. java访问glusterfs_GlusterFS: 访问权限设置

    GlusterFS: 访问权限设置 GlusterFS支持基于POSIX Access Control Lists的访问权限设置,在Ubuntu或者类似的系统上,只需要使用setfacl或getfac ...

  9. 从LINQ开始之LINQ to Objects(上)

    LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LIN ...

  10. python用中文怎么说-如何用Python做中文分词?

    打算绘制中文词云图?那你得先学会如何做中文文本分词.跟着我们的教程,一步步用Python来动手实践吧. 需求 在<如何用Python做词云>一文中,我们介绍了英文文本的词云制作方法.大家玩 ...

最新文章

  1. 内网端口 转发 穿透 工具简介
  2. AES和RSA前后端加解密
  3. java源码编译指令
  4. 前端三大框架有哪些异同?
  5. 手机游戏之Jad文件及MANIFEST.MF文件
  6. python画钢铁侠标志_钢铁侠历代战衣mark1—mark47全揭秘(四)
  7. Django连接MySQL8.0报错django.db.utils.OperationalError: (1045, “Access denied for user ‘16066‘@‘localhos
  8. 超详细的pytorch版本yolov3安装教程--亲测有效!!!
  9. 解决to_csv循环追加数据不会覆盖前面的数据
  10. FileWriter和BufferedWriter用处,区别
  11. 花指令的原理、常用花指令收集及花指令示例
  12. 视频尺寸修改的小方法,同时处理多个视频,新媒体必备
  13. fread()和fwrite()函数分析
  14. Bean Definition 生成过程详解
  15. HP M132snw 打印机如何在换路由器的时候更换整个局域网配置?
  16. 【samba】Ubuntu samba的安装及使用方法
  17. Vue 实现拖拽模块(一)拖拽添加组件
  18. uniapp+web项目服务器维护缺省页跨端通用
  19. 王通与《SEO教程2007版》
  20. 计算机软件类自然科学基金标书,国家自然科学基金标书范例.pdf

热门文章

  1. html炫酷的表格插件,pickout-纯JS炫酷下拉列表框美化插件
  2. 百度脑图打开本地xmind文件的方式
  3. 台式计算机可以发射无线网络,台式电脑wifi发射教程
  4. 互联网金融指导意见或引发P2P跑路狂潮
  5. HeadFirst设计模式之代理模式
  6. 黑白棋——C语言设计
  7. 浪潮存储加速国产替代
  8. 电脑远程桌面怎么关闭计算机,远程控制电脑怎么关闭
  9. [iOS] 组件化之一:MGJRouter的简单实用
  10. 毕业设计-基于深度学习的视频目标检测