中科软面试题

1、用String的方法将数据类型转换为String。 

2、有一个不定长度的String,其中前面是字母,后边是数字,例如:"abcd123.456", 
要求写一个方法得到其中的数字以String的形式返回,数字保留小数点后两位,不四舍五入,截去多余小 

数,例如:"abcd123.456",得到"123.45" 
如果数字没有小数点,要得到两位为0的小数,例如:"abcd123",得到"123.00". 
答案如下: 
1、String.valueOf(1.23) 

2、 public String getString(String str){ 
   String getNumber; 
   getNumber = str.replaceAll("[a-z|A-Z]", ""); 
   if(getNumber.indexOf(".") == -1){ 
    getNumber = getNumber+".00"; 
   } else { 
    if(getNumber.indexOf(".")== getNumber.length()-1){ 
     getNumber = getNumber+"00"; 
    } else if (getNumber.indexOf(".")== getNumber.length()-2){ 
     getNumber = getNumber+"0"; 
    } else { 
     getNumber = getNumber.substring(0, getNumber.indexOf(".")+3); 
    } 
   } 
   return getNumber; 




---------------------------------------------------------------- 


1 面向对象的特征? 

1)对象 

对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。 

2)类 

类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。 

3)封装 

封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数据和代码可以是私有的, 

不能被外界访问,以此实现对数据和代码不同级别的访问权限。 

4)继承 

继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用:从已存在的类派 

生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。 

5)多态 

多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接 

口,通过这种方式减少代码的复杂度。 

6)动态绑定 

绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只 

有在运行期才可知的一种绑定,它是多态实现的具体形式。 

7)消息传递 

对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要 

调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。 

2 tomcat的内存的配置? 

tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。 

Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置: 
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】' 
需要把这个两个参数值调大。例如: 
JAVA_OPTS='-Xms256m -Xmx512m' 
表示初始化内存为256MB,可以使用的最大内存为512MB 


3 doGet() 和 doPost() 的区别? 

doGet() 和 doPost() 接收两个参数:HttpServletRequest 请求和HttpServletResponse响应。 

HTTP 协议要么通过在 URL 中放置参数来向 Web 服务器传递信息,要么独立于 URL 传递信息。第一种称 

作 GET 命令,而第二种称作 POST 命令。GET 命令的优点是,URL 包含了检索请求信息所需的所有信息 

。因此,可将其加入书签以便将来重新调用。而 POST 命令独立于 URL 发送附加信息,提供了更好的安 

全性。当需要发送比较大量的信息时,该方法也更为合适。其缺点就是不能被加入书签。 

4   常用的标准的sql语句? 

增加: insert into tbl_emp(name,password,id) values(yxx,123,12); 

删除:delete from tbl_emp   where name= "yxx"; 

查询: select * from tbl_emp where name="yxx"; 

更新: update tbl_emp set name="xiaoxin" where id = 12;

5 string 和 stringbuffer的区别? 

它们都是处理字符串的类,但是它们有一个最大的区别,那就是,String对象是存储你不能改动的文本字符 

串,相反,如果你希望改动,则应使用StringBuffer类作为替换. 

6在jsp页面中如何传递对象? 

request,session,application,cookie等 



7 常用的集合类? 

java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体 

实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元 

素列表。 List 适用于按数值索引访问元素的情形。 

Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作“键”和“值”),其中每 

个键映射到一个值。 从概念上而言,您可以将 List 看作是具有数值键的 Map。 而实际上,除了 List 

和 Map 都在定义 java.util 中外,两者并没有直接的联系。本文将着重介绍核心 Java 发行套件中附带 

的 Map,同时还将介绍如何采用或实现更适用于您应用程序特定数据的专用 Map。 


8 常出现的异常? 



9 经常使用的包,接口,类 请各举出5个? 

10 接口和抽象类的区别? 

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行 

为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以 

创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态 

方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之, 

在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 

  接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的 

接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量 

。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即 

将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。 

由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类 

型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 

11 动态include()和静态include()的区别? 

12 servlet的生命周期?(介绍过---------------------------------) 

13   struts的原理? 

14   数据连接池的原理? 

连接池允许我们通过一个缓冲池重用现有的连接对象,避免每次使用连接对象时都要新建一个对象。采用 

连接池之后,只要少量的连接对象就可以满足大量客户端的需要。 

  每一个连接池都与一个独立的连接字符串及其事务上下文关联。每次打开一个新的连接,数据提供者 

会尝试将指定的连接字符串与连接池的字符串进行匹配。如果匹配失败,数据提供者创建一个新的连接并 

将它加入连接池。连接池被创建之后,除非进程结束,否则不会被拆除。有人认为这种处理方式会影响性 

能,其实不然,维护一个不活动的或者空的连接池不需要多少开销。 

  连接池创建之后,系统会创建一些连接对象并将它们加入连接池,直至达到额定的最小连接对象数量 

。以后,系统会根据需要新建和加入连接对象,一直到达最大连接对象数量限额为止。如果程序请求一个 

连接对象时没有空闲的连接对象可用,且连接池里面的对象数量已达到上限,则请求被放入队列,一旦有 

连接被释放回缓冲池就立即取出使用。 

  避免用编程的方式构造连接字符串。如果通过合并多个输入数据的方式构造出连接字符串,很容易给 
注入式攻击以可乘之机。如果必须用到用户输入的数据,务必进行严格的验证。 

15 j2ee的设计模式? 

Session Facade Pattern:使用SessionBean访问EntityBean 

Message Facade Pattern:实现异步调用 

EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问 

Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性 

Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性 

Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性 


16 线程的同步方法?(介绍过--------------------------------------------) 

17   四种会话跟踪技术? 

会话作用域ServletsJSP 页面描述 
page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何 

的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 

页面 
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多 

个 Web 组件(由于 forward 指令和 include 动作的关系) 
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常 

会跨越多个客户机请求 
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包 

括多个页面、请求和会话的一个全局作用域 


18 解释 forward include和redirect的不同? 

forward与include共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为 

request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。 
forward与include基本上都是转发到context内部的资源,而redirect可以重定向到外部的资源,如: 

req.sendRedriect("http://www.mocuai.com"); 


19 jsp的内值对象? 

request 用户端请求,此请求会包含来自GET/POST请求的参数 
response 网页传回用户端的回应 
pageContext 网页的属性是在这里管理 
session 与请求有关的会话期 
application servlet 正在执行的内容 
out 用来传送回应的输出 
config servlet的构架部件 
page JSP网页本身 
exception 针对错误网页,未捕捉的例外 

20 EJB的角色和三个对象 

EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者 

三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类 


ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, 

CannotRedoException, CannotUndoException, ClassCastException, CMMException, 

ConcurrentModificationException, DOMException, EmptyStackException, 

IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, 

IllegalStateException, 

ImagingOpException, IndexOutOfBoundsException, MissingResourceException, 

NegativeArraySizeException, NoSuchElementException, NullPointerException, 

ProfileDataException, ProviderException, RasterFORMatException, SecurityException, 

SystemException, UndeclaredThrowableException, UnmodifiableSetException, 

UnsupportedOperationException


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值