1.Hashtable和HashMap有什么区别?

a.Hashtable是继承自陈旧的Dictionary类的,HashMap继承自AbstractMap类同时是Java 1.2引进的Map接口的一个实现。

b.也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,

虽然你可以不用采取任何特殊的行为就可以在一个  多线程的应用程序中用一个Hashtable,

但你必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,

它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。这个对象的方法可以让你同步访问潜在的HashMap。

这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),

而且同步增加了很多处理费用。

c.第三点不同是,只有HashMap可以让你将空值作为一个表的条目的key或value。

HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。

这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。

如果有必要,用containKey()方法来区别这两种情况。

d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法

e.Hashtable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数

2.你怎么理解MVC模式?

MVC是SUN早期提出的model2开发模式,强制的把视图控制和模型层分开

不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

3.SQLServer中左联接查询用left join,Oracle中用什么?

左连接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id(+)=b.id

右连接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id=b.id(+)

自连接:select(nvl(a.c,0)-nvl(b.c,0)) from  a,b where a.id(+)=b.id(+)

说明:加号写在左就是左连接,写在右就是右连接,看加号的方法来定

4.SQLServer中的数据库,在Oracle中对应的是什么?

表空间

5.如果SQLServer中有两个数据库,那么让你把这两个数据库对应到Oracle中,你应该怎么做?

在Oracle中建一个用户,对应两个表空间

6.有两个页面a.jsp和b.jsp,要从a.jsp传值到b.jsp有几种方法?分别是什么?

a:最常用的方法是用form中的text, ,然后在b.jsp页面中这样获取

String username=request.getParameter("username");

b:直接在Url地址栏里面输入第一个页面的地址,在后加问号,然后把要传的参数及值写在后面,如有多个用&隔开,然后在下一页面用

request.getParameter("参数名")来获取,例如:http://localhost:8080/a.jsp?username=admin&password=111

在b.jsp中可用这样获取:String username=request.getParameter("username");String username=request.getParameter("password");

c:在form中放hidden,如: ,获取方法同上

说明:传值的方法有很多种,以上是最常用最简单的几种方式,当然,如果传的值有中文的话,需另做处理

6.有三个页面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的数据要在c.jsp中访问,用最简单的方法  怎么做?注意不能放在session里

用隐藏表单域,即在b.jsp页面中用N个hidden把上一页面提交过来的信息保存下来,然后和当前一起提交,再到c.jsp里面获取

说明:尽量不要用session和少用session

7.jsp和servlet有什么区别?

a:servlet是在java代码里面放html,jsp是在html里面放java代码(最后运行的时候服务器会把JSP解析成servlet)

b:servlet是一个java类,有自己的映射,而jsp不是

说明:区别太多,请参考http://00000000.net.cn/200606/200606097/97681.htm

8.映射是什么?你怎么理解映射?

映射即别名,通过别名可以访问

9.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?

看表结构对应的类文件,比如UserInfo表对应的UserInfo.java文件

10.SQLServer支持集群吗?

支持,但是是属于热备份类型,不能做负载平衡。不过符合你的条件。

首先系统做集群,数据库文件放到磁盘阵列里,双机或多机共同访问磁盘阵列,就可以了

IIS可以做集群后负载平衡。

11.为什么要用MVC?我从JSP页面直接访问数据库不是更简单吗,为什么非要先提交到控制再做处理?

MVC各施其职,互不干涉

在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,

就只需要更改相应的层中的代码而不会影响到其它层中的代码。  有利于开发中的分工

在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,

对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。  有利于组件的重用

分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面

说明:这个好处就太多了!!!

12.在struts中,假设有一个对数据库中一张表的增删改查的操作,你是写一个action还是写多个action?为什么?

写一个action,让这个action继承自DispatchAction,然后在struts-config.xml中给这个action映射加一参数,parameter="method"

这个在提交到这个action中时,会根据传来的参数中method的值来执行相应的action的方法,比如,http://localhost:8080/login.do?method=doLogin

这个提交到action的时会自动找方法名叫doLogin的方法,参数返回值原来一样ActionForward

13.struts中的actionform有什么好处?

struts的actionform其实不好,里面有一堆属性,虽然可以自动填充,但是你会发现,在很多情况下(比如你用到Hibernate)

你还要需要自动写一个数据库表的映射类,通常是domain.UserInfo.java,这样就和strutsform中的属性重复,所以他很多余,

struts1.1版本,保留了actionform,struts1.2中已经有了新的LazyValidatorForm,但仍然保留了原有的actionform,

而在struts 2.0中已经把actionform去掉了

下面是解决方法

a:  把actionform换成DynaActionForm ,和原来不同的是在dynaActionForm可以domain.UserInfo.java的一个实例做为他的一个属性

这样你就不需要在里面写一堆的get,set方法,只是在页面上绑定稍有不同

b:  把actionform换成org.apache.struts.validator.LazyValidatorForm,这样你完全不用写你的actionform这个类,直接在xml里面做

相应配置,当然也可以加上验证框架

警告:这个问题是陷阱,实际上struts的actionform很不好,非常麻烦,用久了你会发现他其实是多余的,所以这个问题你应该说他的坏处,

和怎么把actonform去掉,请参考http://tqyq.blog.hexun.com/2911285_d.html

14.用过Hibernate吗,用它有什么好处?

Hibernate的最大的好处就是简化数据库的操作,允许你的代码以对象模式来访问数据库内容,

比如通常我们找一个User的资料需要select出所需要的资料,而通过hibnate我们可以把这个User的资料作为一个对象来看待

,通过User.getName()或者User.getId()等操作来获得,这样就完全统一了上层JAVA或者C#等OO语言中对于数据库的非OO操作的不和谐了.

另外对于复杂的表和表之间的关联我们也不用去使用复杂的Select等SQL来操作,而使用对象可以方便获得,

比如多对多关系某用户属于的部门的名称,虽然底层数据库使用了3个表的主键关联操作,

但是我们可以通过User.getDep().getName()来简单的获得,这个就是持久化对象的好处了

说明:好处太多,只能在用的过程中慢慢体会  只能说一个字:爽

15.通常所说的web应用程序分3层,即MVC,如果我想分四层,应该怎么分?

加一个Hibernate数据持久层

用友笔试题java_用友面试题(Java)相关推荐

  1. 用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例

    用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例 /*****************************************, code by 张朋 ' Email: ...

  2. 在本计算机无法启动用友通服务器,用友T3客户端提示用友通服务没有启动?

    问题现象:用友T3财务软件客户端提示用友通服务没有启动,启动时提示:本地计算机上的用友通服务启动后又停止了.一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报"服务,如 ...

  3. 十问旷视印奇、唐文斌:AI公司步入「深水区」,友商其实不是友商

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 转自:量子位 AI明星公司旷视,刚庆祝了自己的9周岁生日. 以技术和理工天才云集著称的他们,把 ...

  4. 用友t3网络计算机浏览没有,用友T3客户端提示用友通服务没有启动?

    摘要: 问题现象:用友T3财务软件客户端提示用友通服务没有启动,启动时提示:本地计算机上的用友通服务启动后又停止了.一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报" ...

  5. 用友U8+ERP系统 用友ERP+智能制造 上海杰然软件

    用友U8+产品介绍: 用友U8+经过20多年的市场锤炼,不断贴近客户需求,以全新UAP为平台,应对中型及成长型企业客户群的发展,提供的是一整套企业级数智化升级解决方案,为成长型企业构建精细管理.产业链 ...

  6. 十问旷视印奇、唐文斌:AI公司步入「深水区」,友商其实不是友商-1

    AI明星公司旷视,刚庆祝了自己的9周岁生日. 以技术和理工天才云集著称的他们,把新的一岁用「指数之年」形容,以「向上生长」作为主题. 同时,一场规模盛大的智慧物流发布会在新办公楼展开,来自" ...

  7. 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...

    Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...

  8. IT行业经典面试题,121套面试题

    IT行业经典面试题,121套面试题 资源大小: 580.80KB 资源类型: 发布人: eyelife         发布日期: 2天前 Tag: 名企,计算机 资源分: 10 下载人数: 857 ...

  9. 计算机录取排版试题,计算机录入与排版试题

    2013年下期职业中专计算机录入与排版期未考试试题 (考试时间:60分钟) 班级: 姓名: 得分: 一. 填空题(40分,每空2分) 1.请写出下列汉字的五笔输入法 我( ) 他( ) 年( ) 工( ...

最新文章

  1. 一步一步深入理解Dijkstra算法
  2. 程序内存区域分配(五个段)--终于搞明白了
  3. centos 安装java web_Centos上安装java web的环境
  4. 织梦DEDECMS网站批量删除未审核稿件的方法
  5. 每日英语:Apple Unveils New iPads
  6. RSA公私钥加解密方式-工具类
  7. TCP新手误区–心跳的意义
  8. 如何成熟处理客户反对意见
  9. java使用bos对象存储_百度对象存储BOS
  10. android10 psp模拟器,PPSSPP(PSP模拟器) V1.10 安卓版
  11. eoj 3279 爱狗狗的两个dalao(dfs)
  12. PS在导出图片时提示无法加载扩展,未经正确签署
  13. NATO(北大西洋公约组织)采用ADOBE FLEX作为作战支持系统
  14. Windows驱动的彻底删除
  15. python中有数组吗_python中有数组吗
  16. some problem
  17. 从0到1,搭建离线下载器
  18. qDebug()用法
  19. 更新setuptools版本的时候又找不到easy-install.pth,导致更新失败
  20. 各端口抓肉鸡的几种方法

热门文章

  1. java判断一个整数是否是完数
  2. 一阶电路暂态响应的结果分析。_研究与设计|基于ANSYS的径向驻波型超声波电机设计与分析...
  3. (亚嵌)ARM920T的MMU与Cache之MMU
  4. php中echo语句,PHP echo语句
  5. EMR 重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器
  6. 三款开源科学计算软件平台
  7. 雷达抗干扰matlab仿真程序,雷达压制干扰matlab程序
  8. 禁止屏幕滚动-开启屏幕滚动
  9. 医学小常识之烧伤之后不能喝白开水
  10. EAS 与钉钉移动审批集成流程助手