电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

java面试知识点总结

来源:开心麻花作者:开心麻花2025-11-201

java面试知识点总结(精选6篇)

java面试知识点总结 第1篇

JAVA基础知识总结

第一章 Java入门:

1. java诞生:

1995年5月23日Sun公司发布了jdk1.0版本;作者:James Gosling.

JAVAME微型版

手机软件开发

JAVASE标准版

桌面应用程序

JAVAEE企业版

企业级应用开发

2. java语言特点:

1.简单

没有C、C++中的头文件,指针,运算符重载

2.面向对象

可以开发出较大型的应用程序

3.分布式

通过网络访问应用程序,突破空间限制

4.健壮性(编译时错误检测)

消除有出错倾向的状态:指针

5.安全性(蠕虫病毒)

禁止运行时堆栈溢出、内存空间未授权读写

6.可移植性

JVM

3. JAVA的特性、核心机制:

特性:封装 :对外部不可见,保护类中的操作不被外部直接访问

属性私有化,提供公共的get、set方法

封装的好处:

1.数据更安全,可以在方法内增加验证

2.可以让调用者不去关心实现的细节,重用

继承 :扩张类的功能

多态 :

是允许将父对象引用一个子对象的技术

Employee employee = manager;

允许父类对象来引用子类对象,但是实际运行过程中调用的是子

类的方法或者属性

编译时调用父类方法,运行时调用的是实际引用类型的方法,这

种现象叫做动态绑定

多态现象:运行时多态、编译时多态

1.编译时多态:方法的重载(不建议举例)

2.运行时多态:方法的覆盖(建议举例)

核心机制: 虚拟机(JVM java virtual machine) 垃圾回收机制 garbage collector

4.JDK:(Java Development Kit)1995年 SUN公司JDK1.0 JDK1.2 接下来是JDK1.3 1.4 目前JDK1.5已经更名为JAVA 5.0 正在使用的是java 6.0版本.

JDK安装目录介绍:

Bin 编译器和工具

Demo 演示

Docs HTML格式的类库文档

Include 用于编译本地方法的文件

Jre java运行环境文件

Lib 类库文件

Src 类库源文件

5.Java运行环境变量配置:

JAVA_HOME:JDK安装目录,方便在后面两个环境变量的配置中直接被

调用即可

path:%JAVA_HOME%in 列出可执行文件的搜素路径

classpath:%JAVA_HOME%lib ools.jar

%JAVA_HOME%libdt.jar

.(当前路径)

是java加载类的路径,只有在classpath设置的路径中的类才能被加载

6.Java中注释:

1.单行注释:

//

2.多行注释:

/* */

3.文档注释

/** */

通过javadoc命令将文档注释提取出来生成java帮助文档:Java的三种注释:

7.Class 与public class区别:

如果一个类声明的时候使用了public进行声明,则类名称必须与文件名称完全一致,如果类的声明使用了class的话,则类名称可以与文件名称不一致,但执行的时候肯定执行的是生成后的类名称。

第二章 标示符,运算符

1. 标示符:在java语言中用来给一个类、变量或方法命名的符号

标示符的命名规则:

1.以字母, “_” 或 “$”符号开头

2.可以包含字母、 “_” 、“$”和数字符号

3.大小写敏感

4.不能与保留关键字冲突

5.没有长度限制

Java中命名规范:

1.类名, 接口名 :每个单词的首字母应该大写

2.字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写

3.常量:全部用大写字母表示

4.Java包(Package):它们全都字母小写

5.命名要做到见名知意

2.运算符:

1.算数运算符:

2.自增,自减运算符:

3.关系运算符:boolean型 运行结果 true false

4.逻辑运算符:&& || !

支持短路运算

&&:左边表达式为false,右边表达式不会被执行

||:左边表达式为true,右边表达式不会被执行

5.赋值运算符:= 不要将其与(= =)等号运算符混淆

6.运算符: & 、|、 ~、 ^、 <<、>> 、>>>

1.~ :取反。1变0,0变1

2.&:按位与。有0为0

3.^:按位异或。相同为0,不同为1

4.|:按位或。有1为1

7.instanceof运算符:左面操作一个对象,右面操作一个类,当左面对象是右面的类创建时,该运算符的结果是true,否则是false。

第三章 表达式,语句:

1. 表达式:算术表达式 关系表达式 逻辑表达式 赋值表达式

2. 语句:方法调用语句 表达式语句 复合语句 控制语句 package和import语句

控制语句:1.条件控制语句 if if-else

2.switch开关语句 switch(){case}

switch case:

说明:

1.表达式expression可以是以下四种基本数据类型和枚举 类型(byte,short,int,char)

2.case子句中的值必须是常量,而且所有case子句中的值应是不同的。

3.case通常与break语句联用,以保证多路分支的正确实现,多个case可以公用一组执行语句。

循环语句:1.for循环语句for

2.while循环语句

3.do-while循环语句

4.break和continue语句

break语句,跳出它所在的循环语句或switch 语句,并从紧跟该循环语句或switch 语句后的第一条语句处执行

continue语句,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环

第四章 数据类型,字符串,数组:

1.数据类型:

基本数据类型:

数值型

整数型:

字节型:byte(1个字节)

整型:int(4个字节)

长整型:long (8个字节)

短整型:short(2个字节)

实数型:浮点型:

单精度浮点型:float(4个字节)

双精度浮点型: double(8个字节)}

字符型{2个字节)}

布尔型{beloon型(1位):true 或者 false}

空类型:NULL;

引用数据类型:{数组 接口 类}:就是将一个堆内存的空间使用权交给了其他对象;

自动类型转换:低优先级数据转换为高优先级数据:

byte-short-char-int-long-float-double

强制类型转换:高优先级数据强制转换为低优先级数据

例:double b=3.2222d;

int a= (int)b;

3. 字符串:

==与equals的区别:

在Object类中equals(Object obj)方法与==的比较结果一致的 但是equals是一个方法可以被重写,例如在String类中equals比较的就是字符串的内容

String本身是一个类,在String类中定义的构造方法:public String (String original) 可以接收一个String类的对象,并重新实例化String对象,String还可以采用直接赋值的方式进行对象的实例化

一个字符串是使用 “”括起来的 那么一个字符串的常量实际上本身就属于String的一个匿名对象

String str = ”hello“ ; 与 String str = new String(”hello“); 有什么区别?、

String str=”hello “ 如果内存已经为”hello“分配了内存空间,那么Str只要指向”hello“内存对象地址;

String str = new String(”hello“); 内存中重新分配一块内存区域给”hello“,str指向”hello“,也就是内存中有两个hello的对象了,而且指向的地址不一样。

String与StringBuffer的区别?

他们都可以存储和操作字符串;

StringBuffer 使用来存储字符串变量,他的对象是可以更改和扩充的,也可以

用来存储字符串常量;

String是用来存储字符串常量,存储的字符串是不可以更改的

字符串的内容一旦声明之后则无法修改,实际上字符串变量的改变改变的是内存空间的地址的指向,而本身的字符内容没有任何的变化。

1.根据字符串中的索引找到指定位置的字符:public char charAt(int index)

2.将字符串变为字符数组:public char[]toCharArray()

3.将字符数组变为字符串:

将全部的字符数组变为String类型:public String(char[]value) 将部分的字符数组变为String类型:public String(char[]value,int offset,intcount)

4.String- 字节数组:public bute[] gerBytes()

字节数组-String:

全部:public String(byte[]bytes)

部分:public String(byte[]byres,int offset,int length)

5. 判断是否以指定的字符串开头:public Boolean startsWith(String prefix)

判断是否以指定的字符串结尾:public Boolean endsWith(String suffix)

6.替换操作:public String replaceAll(String regex,String replacement)

7.字符串截取:

全部截取:public String substring(int beginIndex)

部分截取:public String substring(int beginIndex.int endIndex)

8.字符串拆分:public String[]split(string regex)

9.字符串查找:

取得指定字符串的位置:public int indexOf(String str),public int indexOf(String str,int fromIndex)此方法返回int型的数据,如果查找到了怎返回位置,查找不到,返回-1

直接查找:public Boolean contains(String s)

10.字符串的其他操作:

去掉左右空格:public String trim()

取得字符串的长度:public int length()

转大写:public String toUpperCase()

转小写:public String toLowerCase()

4.数组: 属于引用数据类型,使用时需要开辟内存空间;

数据类型 数组名称[]=new 数据类型[长度];

数据类型 数组名称[]=null;

数组名称=new数据类型[长度];

关键字new只要一出现,怎肯定表示数据类型是是引用数据类型,要进行堆-栈空间的开辟

二维数组:动态初始化:数据类型 数组名称[][]=new 数据类型[长度][长度]

静态初始化:

数据类型 数组名称[][]={{2,3,2}{2,32,2}};

[java面试基础知识总结]

java面试知识点总结 第2篇

getHeader(String name):获得HTTp协议定义的文件头信息

getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例

getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getparameter(String name):获得客户端传送给服务器端的有name指定的参数值

getparameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

getparameterValues(String name):获得有name指定的参数的所有值

getprotocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的Ip地址

getRemoteHost():获取客户端的名字

getSession([Boolean create]):返回和请求相关Session

getServerName():获取服务器的名字

getServletpath():获取客户端所请求的脚本文件的路径

getServerport():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性

67、J2EE是技术还是平台还是框架?

J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

68、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?

public String translate (String str) {

String tempStr = “”;

try {

tempStr = new String(str.getBytes(“ISO-8859-1”), “GBK”);

tempStr = tempStr.trim();

}

catch (Exception e) {

System.err.println(e.getMessage());

}

return tempStr;

}

69、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。

区别主要答两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型

b.逻辑操作不会产生短路

70、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

a: 两种形式 dtd schema

b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)

c:有DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

STAX:Streaming ApI for XML (StAX)

xml文档有两种定义方法:

dtd:数据类型定义(data type definition),用以描述XML文档的文档结构,是早期的XML文档定义形式。

schema:其本身是基于XML语言编写的,在类型和语法上的限定能力比dtd强,处理也比较方便,因为此正逐渐代替dtd成为新的模式定义语言。

71、简述synchronized和java.util.concurrent.locks.Lock的异同 ?

主要相同点:Lock能完成synchronized所实现的所有功能

主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。

72、EJB的角色和三个对象

一 个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证 彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise Bean provider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server provider)、EJB 容器提供者(EJB Container provider)、系统管理员(System Administrator)

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

73、EJB容器提供的服务

主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。

74、EJB规范规定EJB中禁止的操作有哪些?

1. 不能操作线程和线程ApI(线程ApI指非线程对象的方法如notify,wait等),2.不能操作awt,3.不能实现服务器功能,4.不能对静态属 生存取,5.不能使用IO操作直接存取文件系统,6.不能加载本地库.,7.不能将this作为变量和返回,8.不能循环调用。

75、remote接口和home接口主要作用

remote接口定义了业务方法,用于EJB客户端调用业务方法。

home接口是EJB工厂用于创建和移除查找EJB实例

76、bean 实例的生命周期

对 于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲 池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。

77、EJB的激活机制

以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调 用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的 ejbActive和ejbpassivate方法。

78、EJB的几种类型

会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean

会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种

实体Bean可分为Bean管理的持续性(BMp)和容器管理的持续性(CMp)两种

79、客服端调用EJB对象的几个基本步骤

设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。

80、如何给weblogic指定大小的内存?

在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M

81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set pRODUCTION_MODE=true。

82、如何启动时不需输入用户名与密码?

修改服务启动文件,增加 WLS_USER和WLS_pW项。也可以在boot.properties文件中增加加密过的用户名和密码.

83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入 主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?

Domain 目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文 件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无 需输入应用名。

85、在weblogic中发布ejb需涉及到哪些配置文件

不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMp实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

86、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置

缺 省安装中使用DemoIdentity.jks和DemoTrust.jks KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。

87、如何查看在weblogic中已经发布的EJB?

可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB

88、CORBA是什么?用途是什么?

CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系统开发。

89、说说你所熟悉或听说过的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类实现相同接口规范业务逻辑一致性

EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。

90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。

既然没有标准答案,就根据自己的所了解的,补充修正一下好了

91、Servlet执行时一般实现哪几个方法?

public void init(ServletConfig config)

public ServletConfig getServletConfig()

public String getServletInfo()

public void service(ServletRequest request,ServletResponse response)

public void destroy()

init ()方法在servlet的生命周期中仅执行一次,在服务器装载servlet时执行。缺省的init()方法通常是符合要求的,不过也可以根据需要进行 override,比如管理服务器端资源,一次性装入GIF图像,初始化数据库连接等,缺省的inti()方法设置了servlet的初始化参数,并用它 的ServeltConfig对象参数来启动配置,所以覆盖init()方法时,应调用super.init()以确保仍然执行这些任务。

java面试知识点总结 第3篇

在多年教学Java的过程中,发现在一些Java教材中存在某些专业知识表述不详尽、不到位的现象。有的虽然是一些基本知识点,但却是比较重要的,如果这些知识点讲不清,会使学生在编程时感到迷茫,从而对Java学习产生畏难情绪,不利于Java教学。笔者结合教学体会对相关的知识点进行了必要的归纳和整理,进行了新的论述,并供同行参考。

1 关于类名的描述规则

Java的类名描述为标识符,语法允许类名第一个字母大、小写均可[1]。笔者认为由于Java类库中的所有类名的第一个字母均为大写,而且类名写法还影响到构造方法等其它语句的描述形式,为保持应用的一致性及程序的易读性,应在教学上统一要求类名第一字母为大写形式。需要强调的是这不是语法规定,只是“约定”,而这种约定是必须的、有益的,符合“软件工程”原理的要求。类似的还有用final修饰的变量名,也应约定字母全为大写形式。

2 Application型程序的main主方法与类的关系

(1)一个Java文件中允许有多个类,而一个类中最多只能有一个main方法(也允许一个都没有)。由此一个Java文件中允许有多个含有main方法的类。一个main就是一个程序执行入口,即一个Java文件允许有多个执行入口。在多个main类的情况下,并无主类与次类之分,只有可执行类和不可执行类之分[2]。

(2)一个含有多个类的java文件,一经编译后,产生多个对应的class文件,需要执行哪个程序功能,就选择含有相应功能(main方法)的class文件运行即可。

(3)类的public修饰只与Java文件的命名和类的调用限定有关,与是否有main无关[3]。

程序的文件名为:A.java,编译后产生了两个class文件:A.class和B.class。其中类A被类B调用(类A只能被其它类调用),类B通过创建类A对象调用类A(类B专门调用其它的类)。这样的描述更符合“面向对象”的编程原理。本程序只有一个运行入口:B.class。

3 关于String与String Buffer对象的主要区别

有些教科书把String的对象称为“字符串常量”,把String Buffer称为“字符串变量”。而且其中的解释也是语焉不详[1,2,3,4]。

(1)字符串常量的形式:

如:String s=“ABC”;这个“ABC”才是字符串常量形式,String类创建对象有多种方式,而上述方式是用一个字符串常量创建了一个String对象s。

(2)String类对象是不可变[3,4]

String类对象的内容不可更换、长度不可变。对于上述s,如有:s=s+“DEF”,此时s的内容为“ABCDEF”,内容和长度均变了。这如何理解?正确解释是:此s非彼s。原来的s的“ABC”,还在内存,而现在的s已是“ABCDEF”也在内存,即:

对用户而言s只有一个,其实内存中存在两个字符串,只是这个“ABC”字符串用户已无法使用。如果这样的s多了,则造成存储的浪费,只能靠“垃圾回收”机制注销存区。所以String类对象一经创建就存在两个基本特性:(1)存区大小不变;(2)内容不变。从这个意义上讲Srting类对象与字符串常量类似。但为了与用双引号括起的字符串形式相区别,应把Srting对象(字符串)称为“不可变”字符串较为合适。

(3)String Buffer类对象是可变的

与String对象不同的是String Buffer类对象的基本特性:(1)存区大小可变(可动态设定长度);(2)内容可变。如:

String Buffer s=new String Buffer(“ABC”);//s的内容为ABC。

s.append(“DEF”);//在s尾部添加字符串,s的内容为ABCDEF。

s.set Length(4);//改变s字符串的长度,s的内容又成为ABCD。

与String对象不同的是,无论如何改变s的内容和长度,s还是原来的s,并没有产生另外的存区。所以应把String Buffer对象(字符串)称为“可变”字符串较为合适。

由此,两者的主要区别不是“常量”与“变量”,而是“不可变”与“可变”。

4 变量的赋初值

类的成员变量和局部变量赋初值的情况是不一样的[3,4,5]。先看程序:

程序在编译时在(3)行出现问题,因为j没有赋初值。但是(1)的i与(3)的j在形式上都一样,为什么(3)就出错,而(1)就不错呢?原因在于两个变量所处的地位不同。

(1)的i虽然没有赋初值,但在(2)使用new创建了Aa的对象a。并同时对a拥有的成员变量赋了初值,所以不会出错。其实即便没有(2),即没有使用new,(1)也不会出错,因为它是类内的成员变量。成员变量的这种描述方式是允许的。(3)的j是main局部变量,与类没有直接关系,即使使用new也与其无关。所以j在没有被赋初值的情况下不能出现在赋值号右部;(3)出错是必定的,j在使用前应当先赋初值。

5 子类如何继承超类的构造方法

(1)子类无条件继承超类的无参构造方法[1,2,3,4]

分两种情况:(1)子类没定义任何构造方法,系统会提供子类一个隐含、无参的构造方法;(2)子类定义了无参或有参构造方法;这样子类都一定要先调用超类的无参构造方法。

(2)超类的显式无参构造方法

分两种情况:(1)超类定义了无参构造方法,不影响子类继承。(2)超类定义了有参构造方法,系统不再提供超类一个隐含、无参的构造方法。为不影响子类继承,应在超类定义一个显式的、无参的、方法体为空的构造方法,供子类继承[2,3,4,5]调用。

(3)子类不能继承超类有参构造方法,但子类能在自己的构造方法中用super强制调用超类有参构造方法,在这种情况下可以不要在超类中定义显式无参构造方法。

参考文献

[1]王萌等.Java程序设计[M].北京:冶金出版社,2006.

[2]陈强等.Java程序设计[M].北京:人民邮电出版社,2006.

[3]丁新民.Java程序设计教程[M].北京:人民邮电出版社,2006.

[4]叶核亚等.Java2程序设计实用教程[M].北京:电子工业出版,2004.

java面试知识点总结 第4篇

【关键词】JAVA语言;WEB开发

一、JAVA简介

当今社会,编程语言种类繁多。面临着越来越高要求的客户需求,我们急需功能更加强大,语言更灵活的编辑语言。JAVA语言就在这样一个背景下应运而生。JAVA语言功能强大,优点众多。下面简要说下它的几个优点:第一、JAVA语言可适用于多种操作系统平台,支持多线程并行操作,并且多个线程可以一起进行。这样节省了大量的时间,可以让不同程序同时进行,减少了等待时间;第二、JAVA语言使用简单灵活,被人们广泛关注和运用;第三、JAVA语言很多程序,在执行操作的时候,运行效率高速度快(甚至快于C++),出错率低;第四、JAVA语言适用面广。由于这门语言的自身特点,可以使其无论是在复杂还是单一的环境中都可以方便的开发使用。如:开发设计ORACLE等环境。

由于JAVA语言的搭建,是通过框架结构来实现的,这也是为什么JAVA语言简单的一方面因素。不过这也导致了使用JAVA语言过程中,并不能很好的给编程人员带来编程语言能力的提高。在以后的发展道路上,我们还需要更加努力,不断完善JAVA语言,这样才能在种类繁多的语言当中脱颖而出,绽放光彩。

二、JAVA五大特点

1.灵活简单。C语言,C++,JAVA语言都是常见的编程语言。其中C语言的语法比较复杂且难以理解,C++应用是编程技术要求较高,因此常常令编程者感到难以学习和接受。相比之下,JAVA语言比较简单,没有太高的语法和编程技术上的要求,而且JAVA语言在集成功能程序方面也有着其他编程语言不可比拟的优势,因此常常被作为WEB开发的首选,其发展也相对成熟。

2.java语言不像c++那样只可以对函数继承,还包括各种类等属性。JAVA语言可以称得上是一种面向对象的、整体操作过程动态机制的程序设计。

3.安全方面。JAVA语言可以利用自带的机制,阻止其他恶意程序代码的攻击,并利用自带的安全预防机制对网络下载的包、类进行分析得以实现程序的运行。就是因为JAVA语言的安全性,因此常常被用于常见的网络环境中。

4.JAVA语言可并行操作。在JAVA的操作环境下,Thread类和Runnable接口的对象通过独特的编写方式和相关的类库等程序操作来创建一种特别的对象——线程。基于这样的编写方式和操作流程,JAVA语言具有更高的效率,能够多线程一同或者并行工作且互不影响。

5.动态性。我们当初是为了开发这样一门语言:可以实时的进行数据操控,能够通过语言在动态的环境中进行数据操作。JAVA语言应运而生,它不仅可以在不影响操作程序的前提下,通过动态的编辑操作将类和包调入到运行的系统环境当中,还可以实时的对包和类进行调用和下载。

三、JAVA语言开发WEB的环境

从功能上来区分的话,JAVA的开发环境可以分为Jcreator(简单环境)和像Eclipse(强大开发环境)两种。通过对目前国内外的形势来看,客户所需要开发的软件功能较为复杂,所以很多大中型的开发公司都在Eclipse和Jbuilder的环境下通过JAVA来研发软件的。如下,介绍下Eclipse和Jbuilder。

Eclipse:其本身就是一个框架,可扩展的研究开发平台,通过插件的形式来搭建集成环境。有以下几个有点供大家参考学习:第一、Eclipse不仅具备开发程序还具备调试相关程序的功能,所以在很多开发环境中我们更倾向于选择使用它;第二、方法简单高效。在Eclipse环境中,具备多种可以直接被调用的快捷键方法。这样减少了大量的人力和时间。第三、时效性强。可以在程序调试的时候,进行断电设置。这样我们可以在突发情况下,快速准确的找到并跟踪问题所在,可以任意中断程序,能达到早发现早处理的良好效果。在使用Eclipse这一集成开发环境的过程中,我们发现其存在着一些不足。比如在WEB的研发过程中并非所有的功能都能通过Eclipse实现。因此,经过进一步探索研究,增强了Eclipse的多个功能,开发出了MyEclipse工具,大大减少了WEB开发所需的时间。

Jbuilder:由BORIt1ND公司开发成功,增强了WEB开发技术。能够使得不同地域的人共同合作,同时研发同一个项目,解决了由于团队磨合上造成的大量没必要的人力和金钱损失。这一环境的开发重要是为了在JAVA的最新版本下运行,得到功能上更好更多的效果。客户通过builder的相关操作,可以实现一下几个方面:第一、可以得到所需的数据库表的JAVA类;第二、实现各种各样电子商务平台的开发;第三、结合运用JAVA语言开发动态WEB,实现图形模式窗口和线程并行操作。

四、JAVA在WEB开发中的相关技术

ava Database Connectivity:JAVA语言的这一技术操作,主要是实现访问连接数据库。当我们在程序开发过程中,很有可能会伴随着不断的调试程序,修改程序等操作,这就带来了数据库会不断中断的现象。我们如何实现这一功能。我们利用这一技术,通过一个特定的类和借口,运用更为高端的工具进行连接。随时对后台数据库进行访问连接。

Java Annotatio:这一技术将JAVA程序中的各项函数整合起来,建立一种统一的操作规范。通过这一技术我们可以让操作程序中的各类数据量(如类和变量等)进行统一,然后对其进行相关的程序操作。Java Annotatio技术当中还伴随着一个独立的控制体系,就是JavaBeans技术。这一独立技术在WEB当中被广泛应用,起着至关重要的作用。它创造了真实世界的相应内容,不仅安全系数非常高而且移植性也非常强。

Java Media Framework API:这一操作技术,可以使得我们在JAVA语言的编写过程中更好的调用使用一些视频等技术或者在Applet程序中体现出这一效果。这一操作顺应WEB动态网络平台这一现实情况,实现了动态网页的多样化,更加方便快捷的实现了多媒体效果。对于开发人员来说,这更是提供了一个很好的机会,能够使得开发人员更好的完成用户在动态网络平台上想要实现的效果。

Java Remote Method Invocation:这一技术主要是为了达到客户系统和服务器之间的连接。我们是通过应用小程序(分布式)和在JAVA中将对象和类进行调用来实现的。我们程序员在WEB的开发设计过程中,为了实现程序的安全完整性,就是采用这一技术对进行数据操作,达到整合信息资源的效果。

五、结语

对着编程语言的更新换代,客户对要实现的功能需求越来越高,编程语言在实现功能方面,也面临着越来越大的考验。在这一严峻的形势下,JAVA语言依然被人们所广泛应用。这不仅在一定程度上充分说明了JAVA语言功能强大高效实用,而且说明了当今WEB网络平台开发上,JAVA有着不可替代的地位。在JAVA语言的准确安全方面,还有更广阔的发展空间。我们可以通过更好的方法来提高利用率,以便于提高JAVA的准确安全性。当然,客户对于WEB平台的开发不断的提出更高更难以实现的要求。这就意味着我们要不断努力,完善和改进JAVA技术来处理客户的相关需求。相信,经过我们的不断探索分析,我们将把这一技术做的更加完善,做到更好。

参考文献

[1]王咸伟.Java面向对象编程语言及其应用[J].电脑技术,2010(12).

[2]徐柏燕.Java编程语言及其应用[J].电脑与信息技术,2010(6).

[3]郝蓄.基于Java的网络中文平台的研究与实现[D].西安电子科技大学,2010.

[4]郭慧萍.基于模板的动态Java字节码生成器的设计与研究[D].北京工业大学,2009.

作者简介:高飞(1982—),男,现供职于渤海船舶职业学院教育技术中心。

JAVA面试常用的基础知识 第5篇

getServletConfig()方法返回一个servletConfig对象,该对象用来返回初始化参数和servletContext。servletContext接口提供有关servlet的环境信息。

getServletInfo()方法提供有关servlet的信息,如作者,版本,版权。

92、j2ee常用的设计模式?说明工厂模式。

Java中的23种设计模式:

Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),

prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),

Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),

Decorator(装饰模式), Flyweight(享元模式), proxy(代理模式),

Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),

Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),

Observer(观察者模式), State(状态模式), Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)

工 厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且 实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个 工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

其实一直都不是很明白EJB的remote接口,home接口,Bean类究竟是如何使用的,或许应该进一步了解EJB的原理吧,查到了一个原创文章,那就说说EJB调用的原理吧。其实在这个问题上,最需要理解的是RMI机制原理。

一个远程对象至少要包括4个class文件:远程对象、远程对象接口、实现远程接口的对象的stub、对象的skeleton。

而在EJB中则至少要包括10个class:

Bean类,特定App Server的Bean实现类

Bean的remote接口,特定App Server的remote接口实现类,特定App Server的remote接口的实现类的stub类和skeleton类。

Bean的home接口,特定App Server的home接口实现类,特定App Server的home接口的实现类的stub类和skeleton类。

和RMI不同的是,EJB中这10个class真正需要用户写的只有3个,Bean类,remote接口,home接口,其它的7个究竟怎么生成,被打包在哪里,是否需要更多的类文件,否根据不同的App Server表现出较大的差异。

Weblogic:

home接口和remote接口的weblogic的实现类的stub类和skeleton类是在EJB被部署到weblogic的时候,由weblogic动态生成stub类和skeleton类的字节码,所以看不到这4个类文件。

对 于一次客户端远程调用EJB,要经过两个远程对象的多次RMI循环。首先是通过JNDI查找Home接口,获得Home接口的实现类,这个过程其实相当复 杂,首先是找到Home接口的Weblogic实现类,然后创建一个Home接口的Weblogic实现类的stub类的对象实例,将它序列化传送给客户 端(注意stub类的实例是在第1次RMI循环中,由服务器动态发送给客户端的,因此不需要客户端保存Home接口的Weblogic实现类的stub 类),最后客户端获得该stub类的对象实例(普通的RMI需要在客户端保存stub类,而EJB不需要,因为服务器会把stub类的对象实例发送给客户 端)。

客户端拿到服务器给它的Home接口的Weblogic实现类的stub类对象实例以后,调用stub类的create方法, (在代码上就是home.create(),但是后台要做很多事情),于是经过第2次RMI循环,在服务器端,Home接口的Weblogic实现类的 skeleton类收到stub类的调用信息后,由它再去调用Home接口的Weblogic实现类的create方法。

在服务端,Home 接口的Weblogic实现类的create方法再去调用Bean类的Weblogic实现类的ejbCreate方法,在服务端创建或者分配一个EJB 实例,然后将这个EJB实例的远程接口的Weblogic实现类的stub类对象实例序列化发送给客户端。

客户端收到remote接 口的Weblogic实现类的stub类的对象实例,对该对象实例的方法调用(在客户端代码中实际上就是对remote接口的调用),将传送给服务器端 remote接口的Weblogic实现类的skeleton类对象,而skeleton类对象再调用相应的remote接口的Weblogic实现类, 然后remote接口的Weblogic实现类再去调用Bean类的Weblogic实现类,如此就完成一次EJB对象的远程调用。

先拿普通RMI来说,有4个class,分别是远程对象,对象的接口,对象的stub类和skeleton类。而对象本身和对象的stub类同时都实现了接口类。而我们在客户端代码调用远程对象的时候,虽然在代码中操纵接口,实质上是在操纵stub类,例如:

接口类:Hello

远程对象:Hello_Server

stub类:Hello_Stub

skeleton类:Hello_Skeleton

客户端代码要这样写:

Hello h = new Hello_Stub();

h.getString();

我们不会这些写:

Hello_Stub h = new Hello_Stub();

h.getString();

因 为使用接口适用性更广,就算更换了接口实现类,也不需要更改代码。因此客户端需要Hello.class和Hello_Stub.class这两个文件。 但是对于EJB来说,就不需要Hello_Stub.class,因为服务器会发送给它,但是Hello.class文件客户端是省不了的,必须有。表面 上我们的客户端代码在操纵Hello,但别忘记了Hello只是一个接口,抽象的,实质上是在操纵Hello_Stub。

拿Weblogic上的EJB举例子,10个class分别是:

Bean类:HelloBean (用户编写)

Bean类的Weblogic实现类:HelloBean_Impl (EJBC生成)

Home接口:HelloHome (用户编写)

Home接口的Weblogic实现类 HelloBean_HomeImpl(EJBC生成)

Home接口的Weblogic实现类的stub类 HelloBean_HomeImpl_WLStub(部署的时候动态生成字节码)

Home接口的Weblogic实现类的skeleton类 HelloBean_HomeImpl_WLSkeleton(部署的时候动态生成字节码)

Remote接口: Hello (用户编写)

Remote接口的Weblogic实现类 HelloBean_EOImpl(EJBC生成)

Remote接口的Weblogic实现类的stub类 HelloBean_EOImpl_WLStub(部署的时候动态生成字节码)

Remote接口的Weblogic实现类的skeleton类 HelloBean_EOImpl_WLSkeleton(部署的时候动态生成字节码)

客户端只需要Hello.class和HelloHome.class这两个文件。

HelloHome home = (Home) portableRemoteObject.narrow(ctx.lookup(“Hello”), HelloHome.class);

这一行代码是从JNDI获得Home接口,但是请记住!接口是抽象的,那么home这个对象到底是什么类的对象实例呢?很简单,用toString()输出看一下就明白了,下面一行是输出结果:

这表明home这个通过从服务器的JNDI树上查找获得的对象实际上是HelloBean_HomeImpl_WLStub类的一个实例。

接下来客户端代码:

Hello h = home.create()

同样Hello只是一个抽象的接口,那么h对象是什么东西呢?打印一下:

原来是HelloBean_EOImpl_WLStub的一个对象实例。

用这个例子来简述一遍EJB调用过程:

首先客户端JNDI查询,服务端JNDI树上Hello这个名字实际上绑定的对象是HelloBean_HomeImpl_WLStub,所以服务端将创建HelloBean_HomeImpl_WLStub的一个对象实例,序列化返回给客户端。

于 是客户端得到home对象,表面上是得到HelloHome接口的实例,实际上是进行了一次远程调用得到了 HelloBean_HomeImpl_WLStub类的对象实例,别忘记了HelloBean_HomeImpl_WLStub也实现了 HelloHome接口。

然后home.create()实质上就是 HelloBean_HomeImpl_WLStub.create(),该方法将发送信息给 HelloBean_HomeImpl_WLSkeleton,而HelloBean_HomeImpl_WLSkeleton接受到信息后,再去调用 HelloBean_HomeImpl的create方法,至此完成第1次完整的RMI循环。

注意在这次RMI循环过程中,远程对象 是HelloBean_HomeImpl,远程对象的接口是HelloHome,对象的stub是HelloBean_HomeImpl_WLStub, 对象的skeleton是HelloBean_HomeImpl_WLSkeleton。

然后HelloBean_HomeImpl 再去调用HelloBean_Impl的ejbCreate方法,而HelloBean_Impl的ejbCreate方法将负责创建或者分配一个 Bean实例,并且创建一个HelloBean_EOImpl_WLStub的对象实例。

这一步比较有趣的是,在前一步RMI循环 中,远程对象HelloBean_HomeImpl在客户端有一个代理类HelloBean_HomeImpl_WLStub,但在这一步, HelloBean_HomeImpl自己却充当了HelloBean_Impl的代理类,只不过HelloBean_HomeImpl不在客户端,而是 在服务端,因此不进行RMI。

然后HelloBean_EOImpl_WLStub的对象实例序列化返回给客户端,这一步也很有趣, 上次RMI过程,主角是HelloBean_HomeImpl和它的代理类HelloBean_HomeImpl_WLStub,但这这一次换成了 HelloBean_EOImpl和它的代理类HelloBean_EOImpl_WLStub来玩了。

Hello h = home.create();h.helloWorld();

假设Hello接口有一个helloWorld远程方法,那么表面上是在调用Hello接口的helloWorld方法,实际上是在调用HelloBean_EOImpl_WLStub的helloWorld方法。

然 后HelloBean_EOImpl_WLStub的helloWorld方法将发送信息给服务器上的 HelloBean_EOImpl_WLSkeleton,而HelloBean_EOImpl_WLSkeleton收到信息以后,再去调用 HelloBean_EOImpl的helloWorld方法。至此,完成第2次完整的RMI循环过程。

在刚才 HelloBean_EOImpl是作为远程对象被调用的,它的代理类是HelloBean_EOImpl_WLStub,但现在 HelloBean_EOImpl要作为HelloBean_Impl的代理类了。现在HelloBean_EOImpl去调用 HelloBean_Impl的helloWorld方法。注意!HelloBean_Impl继承了HelloBean,而HelloBean中的 helloWorld方法是我们亲自编写的代码,现在终于调用到了我们编写的代码了!

至此,一次EJB调用过程终于完成。在整个过程 中,服务端主要要调用的类是HelloBean_Impl, HelloBean_HomeImpl,HelloBean_HomeImpl_WLSkeleton,HelloBean_EOImpl, HelloBean_EOImpl_WLSkeleton。客户端主要调用的类是HelloBean_HomeImpl_WLStub, HelloBean_EOImpl_WLStub,这两个类在客户端代码中并不会直接出现,出现在代码中的类是他们的接口HelloHome和 Hello,因此客户端需要这两个接口文件,而Stub是服务器传送给他们的。

94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)

快速排序的伪代码。

/ /使用快速排序方法对a[ 0 :n- 1 ]排序

从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点

把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点

递归地使用快速排序方法对left 进行排序

递归地使用快速排序方法对right 进行排序

所得结果为l e f t + m i d d l e + r i g h t

95、请对以下在J2EE中常用的名词进行解释(或简单描述)

web 容器:给处于其中的应用程序组件(JSp,SERVLET)提供一个环境,使JSp,SERVLET直接和容器中的环境变量接接口互,不必关注其它系统问 题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSpHERE等。该容器提供的接口严格遵守J2EE规范中的WEB AppLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

Web container:实现J2EE体系结构中Web组件协议的容器。这个协议规定了一个Web组件运行时的环境,包括安全,一致性,生命周期管理,事务, 配置和其它的服务。一个提供和JSp和J2EE平台ApIs界面相同服务的容器。一个Web container 由Web服务器或者J2EE服务器提供。

EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并 且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。

一个实现了J2EE体系结构中EJB组件规范的容器。

这个规范指定了一个Enterprise bean的运行时环境,包括安全,一致性,生命周期,事务,

配置,和其他的服务。

JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。

JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

JTA:(Java Transaction ApI)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。

对日Java面试总结 第6篇

2:struts和struts2的工作流程;

答:struts工作流程:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当ActionServlet接收到一个客户请求时,将执行如下流程.(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;Struts2工作流程:用户发送请求,在struts.xml文件中找到相应的action请求,根据相应的class类,处理相应的请求,然后返回string字符串,在struts.xml文件中配置的result找到该字符串,到相应的页面。

3:Ajax异步请求;

答:核心是xmlHttpRequest,页面不刷新,直接请求服务器,并返回数据。

4:jquery验证:

答:用js验证,首先编写好要验证的js代码,在jsp页面引入js验证代码,在需要验证的输入框或选择框中用class=“validate[….]”写入验证的需求。

5:struts2 返回什么类型

答:返回string类型,例如”success”,”fail”。

6你会什么技术? 7介绍自己情况?中文自我介绍。8项目介绍,自己担当模块。9自己担当模块如何实现 10项目用到的框架,原理ssi 11Hibernate与Ibatis区别 12事务如何理解 13对框架的认识

14针对自己模块操作,在检索按钮摁下时,页面如何进行。(表单验证提交,验证的几种方式,ssi如何整合到一块的)

15项目中properties文件如何处理的 16项目框架怎样处理的,(系统已搭建好的,自己模块sourse的dao实现自己配置)

17Db是否熟悉

18日语式样书翻译一句话。19验证都验证些什么?

20证书问题,考证?三级如何评定。21用日语进行自我介绍 22汉译日

23你写过单体测试书吗

24根据什么进行单体测试的

25有一个收费金额的入力框,进行check时,你如何写这个测试case 26在这个项目中,你只写单体测试吗

27首先自我介绍

28谈谈对对日项目开发的理解 29谈谈SSH框架 30谈谈hibernate的理解 31谈谈你对ibatis的理解

Hibernate和Spring是怎么集成的 33 Spring和struts是怎么集成的 34 分页关键字

rownum的作用 35 怎么实现分页的 36 日语怎么样

单测根据什么做成的

Struts2的tag标签

Hibernate中纯sql和语句和hql语句的区别

40介绍最近的项目;41自己担当的模块流程,说说在该项目中用到的技术;42是否用过AJAX与DWR,用的是什么方式发送请求 43 struts2的拦截器

SSH框架搭建是否由自己完成;45 Spring的事物管理;46 用过什么Hibernate的对应关系, 47在项目中参与了设计吗?

48中文自我介绍 49项目介绍 S2标签 51 事务

52你们用的是什么异常处理 53你做的项目名字用日语说一下

54自我介绍

用汉语介绍自己。有的要求日语。55项目经验

56用日语读出某个项目概述 57怎么编写单体测试式样书

根据详细设计书和Source编写,分为大,中,小项目,写测试用例,编写Case点。

58有一个入力框,你会怎么写Case点?

非法字符,入力框的长度,边界值,是否为空,纯数字校验,入力值为最大值,及入力值大于最大值,及大于最大值加1; 59你写过多少单体测试Step?

100行

60在jsp页面的javascript中如果有错误,怎么调试? 61java中的集合类有哪些?它们的区别有哪些?

62给你一个数组,里面有重复的数据,1、实现数组排序;

2、去掉重复数据

在IE7或8没出现之前,使用IE6时,jsp页面有问题的话,你是怎么解决的?

使用火狐浏览器查看 64 jsp 页面中Div层出错后,修改验证没问题了,但是,发给日方的时候,页面出错了,你怎么办?你有遇到过这个问题? 65 65写过50多条测试项,后台代码写了多少呢?

300多行

66用日语写过什么作品?在遇到简单的词汇,你会使用Copy键还是自己手敲呢?

简单的会拷贝一些,个人认为,手写的比较有利于日语知识的提升。

介绍一下泛型

DJunit中测试调用什么方法 69 struts1和struts2的区别

hibernate 和 ibatis 的区别以及优缺点。71 BUG票写过吗? 72 对spring的理解

每千行的测试case大概有多少个。74 list如何去除重复元素。75 SSH的工作流程 76 SSI的工作流程。

开始菜单,事项书,工具,删除,追加,修改,进度表,检索等常用、敏感词的日语单词。78 orcal获取系统当前时间 79 orcal 分页 80 增删改查语句

jsp内置对象

hibernate 一对一,一对多,多对多联系 83 java面向对象的四大特征 84 jsp验证时怎样取数据 85 struts2如何存取数据 86 orcal 左右连接 87 数据库用的什么

操作系统用的是什么 89 Junit和DJunit有什么区别

struts的数据提交怎样实现

一张表中有多条数据,怎样查询第一条 92 jsp基本动作 93 struts 的配置 94 web的servlet 传送 95 存储过程

一个项目的流程

一个输入框,模拟测试点

A=B,能写出几个测试用例

用哪个方法判断两个值相等?说明equals和==的区别。100 说几个常见的runtime exception。

介绍一下你的公司

对详细式样书的感觉怎么样,理解方面有没有问题? 103 详细式样书遇到问题怎么解决?

QA票写过没有,发给谁?主要写一些什么东西?(发给组长,由组长发给日方客户)

java面试知识点总结

java面试知识点总结(精选6篇)java面试知识点总结 第1篇JAVA基础知识总结第一章 Java入门:1. java诞生:1995年5月23日Sun公司发布了jd...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部