
Java笔试面试题
文章平均质量分 51
onyas
这个作者很懒,什么都没留下…
展开
-
Java正则表达式学习
1、给定一个字符串判断是否为一定的格式可以直接调用String.matches()方法判断或是用Pattern.compile()和Pattern.matcher()来判断。import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Patt原创 2013-05-20 12:15:37 · 664 阅读 · 0 评论 -
封装好的BufferedReader
import java.io.*;public class Main{ public static void main(String args[]){ try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String原创 2013-05-21 17:40:20 · 1010 阅读 · 0 评论 -
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承(extends)接口。public interface InterfaceA {}interface InterfaceB extends InterfaceA{}抽象类可以实现(implements)接口。public interface InterfaceA {}abstract class TestA implements InterfaceA原创 2013-05-08 18:26:16 · 7335 阅读 · 0 评论 -
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口.在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例.当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理.Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally.一般情况下是用t原创 2013-05-08 18:40:45 · 1491 阅读 · 0 评论 -
HashMap 和Hashtable 的区别
不同点有以下几个:第一:HashMap不是同步的,Hashtable是同步的。第二:HashMap允许使用null值和null键,Hashtable不允许。第三:HashMap把Hashtable的contains()方法去掉。第四:HashMap是Java1.2引进的Map接口的一个实现,HashTable继承自Dictionary类,也实现了Map接口。同步与非同步原创 2013-05-08 18:13:57 · 617 阅读 · 0 评论 -
同步和异步有何异同,在什么情况下分别使用他们?
如果数据将在线程间共享.例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取.当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率.原创 2013-05-08 18:21:16 · 1141 阅读 · 0 评论 -
final,finally,finalize的区别
final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。原创 2013-05-08 18:51:30 · 672 阅读 · 0 评论 -
Collection与Collections的区别
1. Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。如下:├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set而Collections则是集合类的一个工具类/帮助类,其中提供了一系列转载 2013-05-22 20:54:00 · 1584 阅读 · 0 评论 -
Hibernate缓存机制
缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. Hibernate缓存分类:转载 2013-05-22 22:27:19 · 588 阅读 · 0 评论 -
集群分为哪几种?集群的区别在于哪里?
集群介绍仔细看过以前网友发表的一些文章,总觉得对集群没有详细介绍,我也是借花献佛,引用了一些技术性文档。目前应用最为广泛的集群计算技术可以分为三大类:高可用性集群技术、高性能计算集群技术和高可扩展性集群技术。下面我们将对这三种集群技术进行一下简单的介绍。 1、高可用性集群技术高可用性集群,英文原文为High Availability Cluster, 简称HA Clus转载 2013-05-22 21:24:43 · 6670 阅读 · 0 评论 -
数据库连接池的原理机制
数据库连接池的原理机制 1、基本概念及原理 我们知道, 对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后转载 2013-05-22 21:38:46 · 938 阅读 · 0 评论 -
Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。并且finally中的代码先执行,在执行try中的代码原创 2013-05-09 22:20:52 · 1067 阅读 · 0 评论 -
Vector,Arraylist,Linklist的区别
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法 (线程安全),通常性能上较ArrayList差。而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历原创 2013-05-23 19:45:14 · 570 阅读 · 0 评论 -
overload 和override的差别
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(O转载 2013-05-23 19:50:19 · 564 阅读 · 0 评论 -
Java代理技术
1 Java静态代理代理模式的作用是:为其他对象提供一种代理以控制对目标对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:Ø抽象角色:声明真实对象和代理对象的共同接口;Ø真实角色(目标对象):代理角色所代表的真实对象,是我们最终要引用的对象。Ø代理角色:代理对原创 2013-05-24 00:34:53 · 618 阅读 · 0 评论 -
AOP原理与实现
1.AOP简介AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面(切面)编程。它将分布在各个类中具有相同功能的代码片段整合到一起,由单独的功能模块完成,不仅减少了代码的重复量,降低了耦合,也提高了代码的可维护性。AOP的作用就是在可以顺序执行的程序中,插入某些特殊的逻辑来实现一些特殊的功能 ,例如日志、事务、安全等都可以很方便的原创 2013-05-24 22:16:02 · 1020 阅读 · 0 评论 -
Java中String,StringBuffer,StringBuilder的区别?
在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.原创 2013-05-08 17:10:16 · 758 阅读 · 0 评论 -
Java中==与equals()的区别
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。比如:String s1,s2,s3 = "abc", s4 ="abc" ;s1 = new String("abc");s2 = new St转载 2013-05-26 22:01:37 · 780 阅读 · 0 评论 -
IOC的原理和实现
Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对 象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量转载 2013-05-26 11:45:53 · 911 阅读 · 0 评论 -
Java反射机制
Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。那么什么是Java的反射呢?大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经被加载了原创 2013-05-23 20:42:54 · 580 阅读 · 0 评论 -
xml解析的几种方式
(1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。转载 2013-05-23 19:37:48 · 747 阅读 · 0 评论 -
经典String str = new String("abc")内存分配问题
Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量 所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和转载 2013-06-03 19:30:57 · 1002 阅读 · 0 评论 -
String s="a"+"b"+"c"+"d";一共创建了几个对象
只创建了一个String对象String s1 = "a";String s2 = s1 + "b";String s3 = "a" + "b";System.out.println(s2 == "ab");System.out.println(s3 == "ab");第一条语句打印的结果为false,第二条语句打印的结果为true这说明javac编译可以对字符串常转载 2013-06-04 20:02:19 · 16258 阅读 · 5 评论 -
String s=new String("abc")创建了几个对象?
String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。更确切的说应该是,一个或两个接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str、=、"abc"和new转载 2013-06-03 19:32:52 · 579 阅读 · 0 评论 -
Integer与int的区别
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用e转载 2013-06-04 20:48:00 · 612 阅读 · 0 评论 -
重写equal 的同时为什么必须重写hashcode
重写equal 的同时为什么必须重写hashcode?hashCode是编译器为不同对象产生的不同整数,根据equal方法的定义:如果两个对象是相等(equal)的,那么两个对象调用 hashCode必须产生相同的整数结果,即:equal为true,hashCode必须为true,equal为false,hashCode也必须 为false,所以必须重写hashCode来保证与equal同步。转载 2013-06-04 21:54:11 · 781 阅读 · 0 评论 -
sleep()与wait()的区别
第一种解释:功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. 还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起.第二种解释:sleep是Thread类转载 2013-06-04 23:29:45 · 706 阅读 · 0 评论 -
Java中序列化与反序列化
概念:序列化:将对象转化成流的过程称为序列化反序列化:将流转化成对象的过程称之为反序列化用途:1、利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。2、在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就需要有一种可以在两端传输数据的协议。Java序列化机制就是为了解决这个问题而产生。如原创 2013-05-11 20:41:23 · 748 阅读 · 0 评论 -
Java代码查错题
1.abstract class Name { private String name; public abstract boolean isStupidName(String name) {}}大侠们,这有何错误?答案: 错。abstract method必须以分号结尾,且不带花括号。2.public class Something { void转载 2013-06-06 19:42:53 · 1182 阅读 · 0 评论 -
utf-8,gbk,gb2312区别
很多用户问GBK与UTF-8版本有什么区别,这边作了个整理如下:KesionCMS的GBK版本与UTF-8版本功能是一样的.只不过编码方式不同。GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字转载 2013-07-26 08:36:12 · 1331 阅读 · 0 评论 -
Java异常处理及异常机制介绍
运行时异常是程序运行时可能报出的异常。可以用try catch抓取,也可以不做任何处理。比如:INDEXOUTOFEXCEPTION, CLASSCASE\TEXCEPTION, NULLPOTIONTEREXCEPTION, CLASSNOTFOUNDEXCEPTION一般异常,这些异常是在定义方法时声明抛出的,这些异常必需用try catch抛出,或throws处理,如果不处理,程序将编译转载 2013-05-23 19:24:56 · 813 阅读 · 0 评论 -
SSH面试题
-Hibernate工作原理及为什么要用?原理:1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持久化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory为什么要用:* 对JDBC访问数据库的代码做了封装,大大简化了数转载 2013-08-28 22:29:46 · 1101 阅读 · 0 评论 -
静态include与动态include的区别
java面试笔试题:JSP中动态INCLUDE与静态INCLUDE的区别?[日期:2008-09-15]来源: 作者:志伟 动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数. 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态转载 2013-09-05 22:15:06 · 5570 阅读 · 0 评论 -
Java中getBytes()的用法
package com.test.bs;/** * * 1、Unicode是一种编码规范,是为解决全球字符通用编码而设计的,而rUTF-8,UTF-16等是这种规范的一种实现。 2、java内部采用Unicode编码规范,也就是支持多语言的,具体采用的UTF-16编码方式。 3、不管程序过程中用到了gbk,iso8859-1等格式,在存储与传递的过程中实际转载 2013-09-10 17:27:32 · 57643 阅读 · 1 评论 -
JSP与Servlet面试题
1.forward 和redirect的区别forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session转载 2013-09-10 19:45:11 · 1527 阅读 · 0 评论 -
在Tomcat下部署项目的几种方式
一、静态部署1、直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打转载 2013-09-04 12:34:18 · 965 阅读 · 0 评论 -
Java ClassLoader详解
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,J转载 2013-09-04 17:07:19 · 695 阅读 · 0 评论 -
java GC是在什么时候,对什么东西,做了什么事情?”
面试题目:地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?一.回答:什么时候? 1.系统空闲的时候。 分析:这种回答大约占30%,遇到的话一般我就会准备转向别的话题,譬如算法、譬如SSH看看能否发掘一些他擅长的其他方面。2.系统自身决定,不可预测的时间/转载 2013-09-04 17:27:46 · 2202 阅读 · 0 评论 -
Hibernate延迟加载机制 .
延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。A、实体对象的延迟加载: 如果想对实体对象使用延迟加载,必须要在实体的映射配置文件中进行相转载 2013-09-04 23:07:25 · 703 阅读 · 0 评论 -
Hibernate 所有缓存机制详解
hibernate提供的一级缓存hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。hibernate一级缓存生命周期很短,和session生命周期一样,一级缓存也称session级的缓存或事务级缓存。如果tb事务提交或回滚了,我们称session就关闭了,生命转载 2013-09-04 22:38:31 · 699 阅读 · 0 评论