- 浏览: 893427 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
1. interface 和 abstract 的区别?
abstract 可不可以继承 interface, interface 可不可以继承 interface?
答案:一个是接口,一个是虚函数 java中的接口相当C++中纯虚函数
也就是一个也不实现,具体是在子类中实现,这体现了多态性
同时java接口也是java实现多重继承的一个方法
1.interface的所有函数都是abstract的;
2.interface的数据成员默认都是public static final的;
3.Interface可以被多继承,abstract class单继承
interface是接口,abstract class是抽象类 主要区别:
1、接口可以多重implement(实现),抽象类只能单一extends(继承)
2、接口内只能是功能的定义,抽象类中可以包括功能的定义和功能的实现。
3、接口字段定义默认为public static final,而抽象类的则默认为friendly。
2. HashMap 和 Hashtable 的区别?
答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
3. 线程常用的方法是什么?
Thread类的常用方法:
static Thread currentThread() //静态方法,通过这个方法可以获得主线程的引用,从而达到操作主线程的目的。
static int activeCount() //静态方法,获得当前活动线程数量
long getId() //获得当前线程id
String getName() //获得当前线程名字
int getPriority() //获得优先级
boolean isAlive() //当前线程是否处于活动状态。
boolean isDaemon() //是否为守护线程
void run() //run()方法,我们用线程,主要就是对run()方法的重写
void start() // 使该线程开始执行;Java 虚拟机调用该线程的run() 方法。
void sleep() //使当前线程休眠,以执行其他线程,如Thread.sleep(1000) 休眠1秒
4. GC是什么?常用的两种方法是什么?
答案:System.gc()用来强制立即回收垃圾,即释放内存。
java对内存的释放采取的垃圾自动回收机制,在编程的时候不用考虑变量不用时释放内存,java虚拟机可以自动判断出并收集到垃圾,但一般不会立即释放它们的内存空间,当然也可以在程序中使用System.gc()来强制垃圾回收,但是要注意的是,系统并不保证会立即进行释放内存.
gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。
5. Sleep()和wait()的区别?
搞线程的最爱sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)"醒来"的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
6. Servlet中forward()和redirct()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
7. EJB和JavaBean都是什么?
答案:
javabean是客户端组件,EJB是服务器端组件。
其实ejb与javaBean的最根本区别是:分布性。这是关键!!!
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
8. EJB都有哪些构成?
答案:Session Bean, Entity Bean, Message Driven Bean.
9. Servlet的生命周期,比CGI有什么优点?
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用 service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
10. Override 和 Overload的区别?
overload和override的区别
override(重写)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
11. JSP的组成部分?
答:JSP共有以下9种基本内置组件:
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外
12. 写一个JDBC的程序.
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.print("类找不到");
}
try{
Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login","password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next())
{
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
con.close();
}catch(SQLException e)
{
out.println("SQL异常");
}
13. MVC架构的构成和各部分的作用?
一个MVC应用程序中模型、视图、控制器三部分。
a.在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。
b.当模型发生改变时,它会通知视图(View),并且为视图提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。
c.一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视图负责维持数据表现的一致性。视图同时将用户要求告知控制器(Controller)。
d.控制器(Controller)定义了应用程序的行为;它负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视图作为对用户请求的应答。通常一组相关功能集对应一个控制器。
14. 存储过程和函数的区别?
本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。 函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyingziyren/archive/2008/08/06/2778888.aspx
abstract 可不可以继承 interface, interface 可不可以继承 interface?
答案:一个是接口,一个是虚函数 java中的接口相当C++中纯虚函数
也就是一个也不实现,具体是在子类中实现,这体现了多态性
同时java接口也是java实现多重继承的一个方法
1.interface的所有函数都是abstract的;
2.interface的数据成员默认都是public static final的;
3.Interface可以被多继承,abstract class单继承
interface是接口,abstract class是抽象类 主要区别:
1、接口可以多重implement(实现),抽象类只能单一extends(继承)
2、接口内只能是功能的定义,抽象类中可以包括功能的定义和功能的实现。
3、接口字段定义默认为public static final,而抽象类的则默认为friendly。
2. HashMap 和 Hashtable 的区别?
答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
3. 线程常用的方法是什么?
Thread类的常用方法:
static Thread currentThread() //静态方法,通过这个方法可以获得主线程的引用,从而达到操作主线程的目的。
static int activeCount() //静态方法,获得当前活动线程数量
long getId() //获得当前线程id
String getName() //获得当前线程名字
int getPriority() //获得优先级
boolean isAlive() //当前线程是否处于活动状态。
boolean isDaemon() //是否为守护线程
void run() //run()方法,我们用线程,主要就是对run()方法的重写
void start() // 使该线程开始执行;Java 虚拟机调用该线程的run() 方法。
void sleep() //使当前线程休眠,以执行其他线程,如Thread.sleep(1000) 休眠1秒
4. GC是什么?常用的两种方法是什么?
答案:System.gc()用来强制立即回收垃圾,即释放内存。
java对内存的释放采取的垃圾自动回收机制,在编程的时候不用考虑变量不用时释放内存,java虚拟机可以自动判断出并收集到垃圾,但一般不会立即释放它们的内存空间,当然也可以在程序中使用System.gc()来强制垃圾回收,但是要注意的是,系统并不保证会立即进行释放内存.
gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。
5. Sleep()和wait()的区别?
搞线程的最爱sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)"醒来"的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
6. Servlet中forward()和redirct()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
7. EJB和JavaBean都是什么?
答案:
javabean是客户端组件,EJB是服务器端组件。
其实ejb与javaBean的最根本区别是:分布性。这是关键!!!
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
8. EJB都有哪些构成?
答案:Session Bean, Entity Bean, Message Driven Bean.
9. Servlet的生命周期,比CGI有什么优点?
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用 service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
10. Override 和 Overload的区别?
overload和override的区别
override(重写)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
11. JSP的组成部分?
答:JSP共有以下9种基本内置组件:
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外
12. 写一个JDBC的程序.
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.print("类找不到");
}
try{
Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login","password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next())
{
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
con.close();
}catch(SQLException e)
{
out.println("SQL异常");
}
13. MVC架构的构成和各部分的作用?
一个MVC应用程序中模型、视图、控制器三部分。
a.在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。
b.当模型发生改变时,它会通知视图(View),并且为视图提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。
c.一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视图负责维持数据表现的一致性。视图同时将用户要求告知控制器(Controller)。
d.控制器(Controller)定义了应用程序的行为;它负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视图作为对用户请求的应答。通常一组相关功能集对应一个控制器。
14. 存储过程和函数的区别?
本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。 函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyingziyren/archive/2008/08/06/2778888.aspx
发表评论
文章已被作者锁定,不允许评论。
-
操作系统的目标和作用
2012-07-05 23:46 1329操作系统的目标 目前存在着多种类型的OS,不同类型的OS ... -
利用(ffmpeg)生成视频缩略图(java)
2012-07-01 01:11 0对于上传视频生成缩略图使用的是ffmpeg进行生成的。 自己在 ... -
对Java多线程技术中所有方法的详细解析
2012-06-06 11:32 789一、run()和start() 这两个 ... -
java乱码
2012-06-06 11:33 971自从接触Java和JSP以来, ... -
学习apache commons-io类库中的文件清除器
2011-07-06 23:26 1449学习apache commons-io 1.4类库中的File ... -
java 正则表达式 过滤html标签
2011-05-24 15:10 5354前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字 ... -
转---Eclipse中web-inf和meta-inf文件夹的信息
2011-05-24 13:08 1135Eclipse中web-inf和meta-inf ... -
logback与Log4J的区别
2011-05-17 23:34 1439Logback和log4j是非常相似 ... -
性能优化
2011-04-14 16:10 1185(1)jdbc性能优化 jdbc程序的性能主要由两个因素决定 ... -
JAVA的Random类(转)
2011-04-12 00:21 912Random类中实现的随机算法是伪随机,也就是有规则的随机。在 ... -
非阻塞的Socket链接
2011-04-10 21:59 894import java.io.IOException; ... -
创建临时文件
2011-04-10 21:55 1094package net.java2000.io; ... -
面向对象设计的基本原则
2011-04-07 10:28 1148摘自:http://soft6.com/tech/6/6501 ... -
proxool
2011-04-02 15:01 860属性列表说明: fatal-sql- ... -
当前Java软件开发中几种认识误区
2011-04-01 10:12 878越来越多人开始使用Java ... -
Java中查看一个方法被调用的层次(Reflection、StackTrace)
2011-04-01 00:53 2038package test; public class Mai ... -
反序列化时恢复transient字段
2011-03-30 13:20 1214我们知道将字段设置为transient,可以避免该自动被序列化 ... -
用socket连接服务器直接发送接收邮件
2011-03-22 17:22 1303首页 新闻 论坛 问答 博客 招聘 更多 ▼ 专栏 &l ... -
利用JavaMail收/发Gmail邮件(SSL)
2011-03-22 17:21 2389Gmail目前已经启用了POP3和SMTP服务,具体情况请看 ... -
Java 反射与内省
2011-03-14 22:08 1075一、java反射机制 JAVA反 ...
相关推荐
vue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zipvue面试题1.zip
面试的时候内存对齐问的比较多,特从网上总结的面试题1.
JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1 JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1JAVA面试题 1
运维面试题1
Animation面试题1
UC集团Android逆向工程师的面试题1,上传的资料里有详细的分析和注册机的代码。
面试题1 介绍ASP.NET 面试题2 介绍ASP.NET和ASP的区别 面试题3 说明ASP.NET的Application特性 面试题4 简述ASP.NET的页面运行机制 面试题5 简述ASP.NET一个页面的生命周期 面试题6 C#中的托管代码是什么 通常将在CLR...
微软、Google等面试题1
云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...
Unity-面试题1Xmind
网络工程师面试题1
前端开发面试题1.pdf
JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...
Vue常见面试题1-30
嵌入式面试题1.txt
javaSE阶段高频面试题1.md
字节跳动前端面试题1.pdf
4. 面试题1 5. 面试题2 6. 人事70题 7. 人事面试题(一) 8. 人事面试题(二) 9. 人事面试题(三) 10. 人事面试题(四) 11. 人事面试题(五) 12. 人事面试题(六) 13. 人事面试题答案 14. 人事面试问题回答思路...
JAVA编程基础面试题1.pdf