- 浏览: 252057 次
- 来自: ...
文章分类
- 全部博客 (105)
- hibernate (3)
- ubuntu (6)
- flex (4)
- java (13)
- spring (3)
- javascript (6)
- menu navigation (2)
- struts2 (2)
- 上传 upload (7)
- 分页 pagination (13)
- sitemesh (2)
- ajax (5)
- 报表 report (3)
- 测试 (5)
- 重构 (1)
- 验证码 captcha (5)
- java email (1)
- acegi (3)
- 设计模式 (1)
- OO设计原则 (1)
- css (1)
- jbpm (1)
- 关怀人文 (0)
- 原型开发 (1)
- TCP/IP (0)
最新评论
-
qq138744:
freemarker -
wuyechun:
关于 <localRepository>/pa ...
maven2 struts2 spring hibernate 框架搭建 -
qq262549820:
引用[/dsfdsfq
Junit4 Fixture -
qq262549820:
[url][/url][flash=200,200][/fla ...
Junit4 Fixture -
mogui258:
owner888 写道用flash上传,很多问题的,首先,FF ...
多文件上传
<!----><!----> <!---->
Java 部分
1 .求两个数的最大公约数
解答:
欧几理德原理 : 辗转相除法
public static int zdgys(int a,int b){
int x = a%b;
if(x==0) return b;
else return zdgys(b,x);
}
<!---->2. <!---->关于 java 垃圾回收器的认识
解答:
对于 GC 来说,当程序员创建对象时, GC 就开始监控这个对象的地址、大小以及使用情况。通常, GC 采用有向图的方式记录和管理堆 (heap) 中的所有对象。通过这种方式确定哪些对象是 " 可达的 " ,哪些对象是 " 不可达的 " 。当 GC 确定一些对象为 " 不可达 " 时, GC 就有责任回收这些内存空间。可以。程序员可以手动执行 System.gc() ,通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。
<!---->3. <!---->请问如何设计一个类,使其只能被初始化为一个实例。
解答:
Singleton 模式主要作用是保证在 Java 应用程序中,一个类 Class 只有一个实例存在。
第一种形式 : 定义一个类,它的构造函数为 private 的,它有一个 static 的 private 的该类变量,在类初始化时实例话,通过一个 public 的 getInstance 方法获取对它的引用 , 继而调用其中的方法。
附件:
package parent.career.blest;
class Singleton {
private Singleton(){}// 在外部用 new 关键字会报错,只供内部使用
// 注意这是 private 只供内部调用
private static Singleton instance = new Singleton();
// 这里提供了一个供外部访问本 class 的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
public void say(String str){
System.out.println(str);
}
}
class commonClass{
public commonClass(){
System.out.println(" 这是一个普通类 ");
}
}
public class mySingleton{
public static void main(String args[])
{
Singleton sl = Singleton.getInstance();
Singleton sl2 = Singleton.getInstance();
sl.say("hello,world!");
sl2.say("hello,world again!");
System.out.println(sl==sl2);// 输出 true, 说明 sl,sl2 指向同一个实例
commonClass cC = new commonClass();
commonClass cC2 = new commonClass();
System.out.println(cC==cC2);// 输出 false, 说明 cC,cC2 分别指向不同的实例
}
}
4 .有一个 1001 个元素的数组 a[n] ,每个元素都在 1 到 1000 这些整数中取值,其中有一个数值重复了,现在要设计一个算法找出这个数字,且每个元素只能被访问一次。不能用辅助的存储容器。
解答:
This number = (a[0]+a[1]+a[3]+ …… a[1000])-(1+2+3+ …… +1000)
servlet 生命周期以及 servlet 基本构架
解答:
servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。
Servlet
的基本架构:
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest
request, HttpServletResponse response) throws
ServletException, IOException {
}
public void doGet(HttpServletRequest
request, HttpServletResponse response) throws
ServletException, IOException {
}
}
<!---->5. <!---->死锁的四个必要条件
解答:
> 互斥条件:某段时间内某资源只能由一个进程使用。
> 请求和保持:进程因请求资源而阻塞时,对已分配给它的资源保持不放。
> 不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。
> 环路条件:发生死锁时,有向图必构成一环路。
7 . EJB 是基于哪些技术实现的?并说出 SessionBean 和 EntityBean 的区别, StatefulBean 和 StatelessBean 的区别。
解答:
EJB 包括 Session Bean 、 Entity Bean 、 Message Driven Bean ,基于 JNDI 、 RMI 、 JAT 等技术实现。
SessionBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他 EJB 组件。 EntityBean 被用来代表应用系统中用到的数据。
对于客户机, SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机, EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。 Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候, EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method 。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
8 . sleep() 和 wait() 有什么区别 ?
解答:
sleep 是线程类( Thread )的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用 sleep 不会释放对象锁。
wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify 方法(或 notifyAll )后本线程才进入对象锁定池准备获得对象锁进入运行状态。
9 . forward 和 redirect 的区别
解答:
forward 是服务器请求资源,服务器直接访问目标地址的 URL ,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect 就是服务端根据逻辑 , 发送一个状态码 , 告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以 session,request 参数都可以获取。
10 .冒泡排序算法
解答:
package parent.career.blest;
/**
* 冒泡排序算法演示 : 从小到大排列数组元素
* 原理:第一个元素和后面的一个元素比较,比较结果再和后面一个元素比较,依次类推
* 接着,第二个和后面元素比较,依次类推
*/
public class Maopao{
public static int[] mppx(int[] array){
for(int i =0;i<array.length; i++){
for(int j=i; j<array.length; j++){
int temp;
if(array[i]>array[j]){
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
public static void main(String args[]){
// 测试
int[] ar ={12,23,1,23,45,11,42,9,45,2,16,77,86,56,43};
ar = mppx(ar);
for(int i = 0;i<ar.length;i++){
System.out.print(ar[i]+" ");
}
}
}
11 .从键盘接收一个整数,并用递归求其阶乘。
解答:
package parent.career.blest;
import java.io.*;
/**
* 用递归求阶乘算法
* 从键盘接收一个整数,然后求其阶乘
*/
public class DG_JC{
public static int DG(int n){
if(n==1) return 1;
else return n*DG(n-1);
}
public static void main(String args[]){
int n = 0;
System.out.print(" 请输入一个整数: ");
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
br.close();
}catch(IOException e){
e.printStackTrace();
}
System.out.println(" 阶乘 "+n+"! = "+DG(n));
}
}
12 .什么时候使用 assert?
解答: 断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true 。如果表达式计算为 false ,那么系统会报告一个 Assertionerror 。它用于调试目的:
|
assert(a > 0); // throws an Assertionerror if a <= 0 |
断言可以有两种形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1
应该总是产生一个布尔值。
Expression2
可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的
String
消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用
source 1.4
标记:
javac -source 1.4 Test.java
要在运行时启用断言,可使用
-enableassertions
或者
-ea
标记。
要在运行时选择禁用断言,可使用
-da
或者
-disableassertions
标记。
要系统类中启用断言,可使用
-esa
或者
-dsa
标记。还可以在包的基础上启用或者禁用断言。
13 . 谈谈 final, finally, finalize 的区别。
解答:
final— 修饰符(关键字)如果一个类被声明为 final ,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final 的。将变量或方法声明为 final ,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载。
finally— 再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize— 方法名。 Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。 finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
14 . Collection 和 Collections 的区别。
解答:
Collections
是个
java.util
下的类,它包含有各种有关集合操作的静态方法。
Collection
是个
java.util
下的接口,它是各种集合结构的父接口。
15
.说出
ArrayList,Vector, LinkedList
的存储性能和特性
解答:
发表评论
-
tcp udp的区别
2010-03-26 22:32 1354TCP---传输控制协议,提供 ... -
Apache,Tomcat集群和负载均衡
2009-07-30 22:13 1633轻松实现Apache,Tomcat集群和负载均衡(组图) 第 ... -
截取字符串
2008-07-11 20:46 1165编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字 ... -
关于类的初始化顺序
2008-07-11 13:28 1035看到许多人都会迷惑JAVA类的初始化顺序,有时间自己也要看下书 ... -
new vs newInstance
2008-07-08 13:56 1048在初始化一个类,生成 ... -
类型转换
2008-06-12 09:45 927Animal a = new Cate(); //Anim ... -
java compare 接口
2008-06-06 16:02 142471. 两种比较接口分析 ... -
>>> 妙用
2008-05-09 15:29 930int mid = (from + to ) >> ... -
取三个数据中间数
2008-05-09 14:55 2142在三个数据中取最大,中间,最小方法: public sta ... -
ubuntu eclipse3.3 java.lang.OutOfMemoryError: Perm
2008-05-07 10:12 1014sudo geidt ~/.bashrc add expo ... -
连接sql server 2000中遇到的问题
2006-12-28 18:18 1457今天遇到了error establishing socket的 ... -
java笔试题目
2006-12-12 13:05 4814程序员面试之葵花宝 ...
相关推荐
在本库中,涵盖了一系列与计算机基础、网络原理、Java编程、Android开发以及Kotlin相关的学习资料和面试经验。这是一份全面的学习资源,旨在帮助开发者提升技能并为面试做好充分准备。 首先,让我们深入探讨计算机...
java100个面试题,经过千人总结出来的面试题,可以熟悉面试的经历,让你在面试的时候得心应手,在数据分析方面获取更高的优势
"2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能包含了以下核心Java知识点: 1. **基础语法**:这包括变量、数据类型、运算符...
这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),变量的声明与使用,以及运算符的优先级。同时,要熟悉...
8. **Spring框架**:由于Java在企业级应用中广泛使用Spring,因此面试中可能会涉及IoC(控制反转)、AOP(面向切面编程)、Spring Boot、Spring Cloud等相关知识。 9. **数据库操作**:基本的SQL语言,包括查询、...
以上是对“JAVA面试题2019”中提及的一些核心知识点的总结,涵盖了项目介绍、Java基础知识、并发编程、Spring框架、Netty框架以及分布式系统等方面的知识点。这些知识点不仅对于准备Java面试至关重要,同时也是Java...
《Java面试题》是专为即将参加Java相关岗位面试的求职者设计的复习资源。该资料全面梳理了Java面试中常见的基础知识、核心技术、项目经验以及算法数据结构等内容,旨在帮助求职者系统地掌握Java知识体系,提高面试...
Java作为一门广泛使用的编程语言,其笔试题和面试题涵盖了众多知识点,对于求职者来说,了解并掌握这些知识点是至关重要的。以下将根据标题、描述和标签,详细解析一些常见的Java笔试题和面试题所涉及的Java核心概念...
java web面试题.pdf java就业面试题宝典.rar Java面试题.pdf 51CTO下载-程序员面试宝典(全).pdf java华为面试题.pdf java(软件)工程师面试题大全-100%公司笔试题你都能碰到几个 达内笔试题集答案集.pdf 面试题集(全)...
这份"JAVA-面笔题库 包括大唐、华为等众多公司"的资料集合,无疑是为准备Java面试和笔试的开发者提供了一份宝贵的资源。这个压缩包中很可能包含了各大知名公司,如大唐电信和华为技术有限公司等,对Java程序员进行...
13. **Spring框架**:熟悉Spring的基本概念,如依赖注入,AOP(面向切面编程),以及Spring Boot和Spring Cloud的应用。 14. **并发编程**:理解并发工具类,如Semaphore、CyclicBarrier、CountDownLatch等,以及...
10. **Spring框架**:对依赖注入(DI)和控制反转(IoC)的理解,AOP(面向切面编程)的概念,以及Spring Boot、Spring Cloud的相关知识。 11. **数据库相关**:SQL基本操作,JDBC,事务处理,数据库连接池,NoSQL...
9、java面接.pdf。10、JAVA面试题集锦1.pdf。11、JAVA面试题集锦2.pdf。12、java算法面试题.pdf。13、程序员面试宝典.pdf。14、代码与编程题.pdf。15、各大公司面试题.pdf。16、数据库设计规范V1.00.pdf。17、线程...
"java讲题讲题讲题"的标题和描述虽然简洁,但我们可以从中提炼出一系列与Java学习和实践相关的知识点。 1. **Java基础知识**:Java的基础包括语法、数据类型、控制结构(如if语句、for循环、while循环)、类和对象...
- Spring AOP(面向切面编程)是基于代理的,如果目标对象实现了接口,则默认采用 JDK 动态代理;如果目标对象没有实现接口,则采用 Cglib 进行动态代理。 #### 五、并发编程 1. **Java 中 sleep 方法和 wait ...
本压缩包"java外包笔试题两套.zip"包含了两套针对Java程序员的笔试题目,分别为"java外包笔试A卷.docx"和"java外包笔试F卷.docx",旨在测试应聘者的基础知识、SQL操作能力以及实际编程技能。 "java外包笔试A卷.docx...
【Java面试题解析】 1. **面向对象的特征** - 抽象:抽象是将复杂问题简化的过程,关注对象的主要特征,忽略不必要的细节。在Java中,抽象主要体现在抽象类和接口中。 - 继承:继承允许一个类(子类)继承另一个...
【标题】"2021年JAVA开发面试题.zip" 提供的是2021年度针对Java开发人员的面试题目集合。这些题目旨在测试应聘者的Java编程基础、面向对象设计、并发编程、数据结构与算法、框架应用以及系统设计等方面的知识和能力...