题目面试题core java技术感谢SD0501学员的提供希望对和在校有所_第1页
题目面试题core java技术感谢SD0501学员的提供希望对和在校有所_第2页
题目面试题core java技术感谢SD0501学员的提供希望对和在校有所_第3页
题目面试题core java技术感谢SD0501学员的提供希望对和在校有所_第4页
题目面试题core java技术感谢SD0501学员的提供希望对和在校有所_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

--感谢SD0501班毕业学员的提供希望对面试学员和在校学员有所帮助main(String[args)方法内是否可以调用一个非静态方法?同一个文件里是否可以有两个public类答案:不方法名是否可以与构造器的名字相同 答案:可以publicclass{{}publicvoidTest(String{}publicstaticvoidmain(String[]{TestanewTest("abc");//输出“abc”}}第法:直接继承Thread类publicclass{publicstaticvoidmain(String[]{ThreadClasst=newThreadClass();System.out.println("end");//输出}}classThreadClassextends //Thread类已经实现了空的run()方法{}第二种方法:实现Runnable接publicclass{publicstaticvoidmain(String[]{ThreadClasst=newThreadClass();Threadthread=newThread(t);}}classThreadClassimplements{publicvoid //必须有此方法否则编译报错。它是Runnable接口中的抽象方法{}}局部内部类是否可以非final变量答案:不能局部的,可以成员变量(全局的class{privateStringname="";voidprint(){finalStringwork"out.local.work";//若不是final的则不能被Animal使用.intage=10;class//定义一个局部内部类.只能在print()方法中使用//局部类中不能使用外部的非final的局部变量.全局的可以{publicvoid{//age=20;errornotfinal}}Animallocal=newAnimal();}}选择语case中,允许使用的值有哪些?答案:int,short,char,byte(int范围之内,且是整Math,String是不可继承的(final类)Instanceof后面跟的应该是OBJECT。=与==意义是完全不同的。一个是赋值,一个是等于全局变量可以不进行初始化,如果使用一个局部变量,则这个局部变量要被初始化在try-catch-final块中的退出语句publicclass{publicstaticvoidmain(String[]{inta=1;{}catch(Exception{//System.exit(0);//若用上这句,finally中的语句不会执行。直接返回,退出程序}finally//当没有System.exit(0);时,无论是否发生异常它都会执行{}}}注:try-catch-final块的顺序不能调换下面都是正确的main方法签名。publicstaticvoidmain(String[]args)publicstaticfinalvoidmain(String[]args)staticpublicvoidmain(String[]args)staticpublicsynchronizedvoidmain(String[]args)staticpublic voidmain(Stringargs)//错误if(-0.00.0)是相等还是不等答案:相等RandomAccessFile类继Object,并且实现了DataInputDataOutput接口。CollectionCollections的区别很有用的。如:reverse(Listlist);sort(Listlist,Comparatorc)等。Collections没有实任何接口。它直接继承了ObjectclassChildextendsParents{}classParents{}是否可以这样类,在一个文件中?数组,无论是当前的,还是类等级的,都会被初始化String是被初始化null,不是空字符。null,,”“,都是不同的。“continue”只能在一个循环里(如for,do,while),它不能在case语句中出现Constructor可以抛出任何异常。初始化块是按 的顺序执行的所有关NaN(NotaNumber)non-NaN的比较,都返false.这条很重==会产生编译错误,如果两边类型不匹配的话equals()false如果对象类型不同,但不产生译错误Java成员变量默认初始化的值。 int- long- float- 所有类 integerlong/和%的话能会抛ArithmeticException,比0。但是floatdouble不会,即使是除以0。doublea=0;a=a/0;aNaN。File类没有任何处理文件内容的方法。InputStream和OutputStream是DataInput和DataOutput是面向对象的特征有哪些方面答案:最基本特征:封装,继承,多态其他特征:抽象关联,聚合,组合,内聚,耦String是最基本的数据类型吗?StringStringBuffer的区别?答案:String不是一最基本的数据类型。STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffertoString()方法intInteger有什么区答案:int是基本类型。Integer是类型。Integer可以把String转换成int运行时异常与一般异常有何异同能遇到的异常,是一种常见运行错误。java编译器要求方法必须抛出可能发生的非运行时异常,但是并不要求必须抛出未获的运行时异常。说出一些常用的类,包,接口,请各举5常用的包-常用接口-Collection,ConnectionCloneableComparable答案:ArrayList和Vector都是使用数组方式数据,此数组元素数大于实际的数据以便作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全通常性能上较ArrayList差,而LinkedList使向链表实现,按序号索引数据需要进行前向或后向设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。注:因为这4个线程共享J,所以线程类要写到内部类中。publicclassTestThreads{privateint//加线privateclassIncimplements{publicvoid{for(inti=0;i<{}}}//减线privateclassDecimplements{publicvoid{for(inti=0;i<{}}}//privatesynchronizedvoid{}//privatesynchronizedvoid{}//测试程publicstaticvoidmain(String[]{TestThreadstest=newThreadthread=null;Incinc=test.newInc();Decdectest.newDec();//4个线for(inti=0;i<{thread=newThread(inc);thread=newThread(dec);}}}}}数组转换问题Object[]object [])object;//可以转int[]i=newint[2];long[]l=newint[3];i(long[])l;//不可以转用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据import.*;importjava.io.*; {public{BufferedReaderbr=null;PrintWriterpw=null;{ServerSocketservernewServerSocket(8888);//建立服务器端Socketsocket=server.accept();//客户端//得到该连接的输入br=newBufferedReader(new//得到该连接的输出pw=new//先读后Stringdata=br.readLine();}catch(Exception{}{{}catch(Exception}publicstaticvoidmain(String[]{Serverserver=new}}.java:源代.*;importjava.io.*; {public{BufferedReaderbr=null;PrintWriterpw=null;{SocketsocketnewSocket("localhost",8888);//与服务器建立连接,服务器要先//得到Socket的输入与输出br=newBufferedReader(newInputStreamReader(socket.getInputStream()));pw=newPrintWriter(socket.getOutputStream(),true);//先写后Stringdata=null;{if(data!=null)}}catch(Exception{}{{}catch(Exception}}publicstaticvoidmain(String[]{c= }final,finallyfinalize的区答案:final用于属性,方法和类,分别表示属性不可变,注意:如果是基本类型说明变量本身不能改变,如果是类型,说明它不能指向其他的对象了。但对象还是可以改变finally是异常处理语句结构的一部分,表示无论是否出现异常总是执行finalize是Object类的一个方法在收集器执行的时候会调用被回收对象的此方法可以覆盖AnonymousInnerClass(内部类)是否可以extends(继承)其它类,是否可以implements(实答案:可以继承其他类或完成其他接口,在swing编程中常用此方式StaticNestedClassInnerClass的不同,说得越多越好(面试题有的很笼统)答案:StaticNestedClass是被为静态(static)的内部类,它可以不依赖于外部类实例&和&&的区别答案:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与另外,&也可以用于逻辑运算,与&&的区别在于&是非短路运算符,&&是短路运算HashMapHashtable的区别答案:HashMapHashtable的轻量级实现(非线程安全的实现,他们都实现Map接口,能高Hashtable,Hashtable不允许有空(null)键值(key)与空值(value什么时候用答案:1.4新增关键字(语法用于测试boolean表达式状态,可用于调试程序。使用方法<boolean表达式>,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionErrorGC是什么?为什么要有答案:GC是收集的意思(abageion),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至Java提供的GC功能可以自动监Jva语言没有提供释放已分配内存的显式操作方法。StringsnewString("xyz");创建了几个String答案:两个,一个是对象,一个是对象的Math.round(11.5)等於多少?Math.round(-11.5)等於多少答案Math.round(-11.5)==-11,总是返回接近0的数shorts11;s1s11;有什么错shorts11;s11;有什么错答案:shorts11;s1s11;有错(s1+1运算结果是int型,需要强制转换类型shorts11s11;(没有错sleep()wait()有什么区别答案:p是线程类(Tead)的方法,导致此线程暂停执行指定时间(休息,把执行机会给其他线程但是状态依然保持到时后会自动恢复时间到了会继续运行调用eep不会释放对象锁。waitObject类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得Java有没goto语句?数组有没有length()这个方法String有没有length()这个方法?答案:数组没有length()这个方法,有length的属性。Stringlength()这个方法。答案:不是OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?答案:方法的重写Overriding和重载OverloadingJava多态性的不同表现。Overload是一个类中多态性的一种表现,方法名必需相同,参数列表必需不同.(长度不同或类型不同),与返回值类型没有关系.构造器也可以重载.方法名和参数列表都相同,只有返回类型不相同则是方法重复定义.编译出错.Overloaded的方法是可以改变返回值的类型。Set里的元素能重复吗?那么用什么方法区分是否重复答案:Set里的元素是不能重复的,如果重复就重复的就不加到里面itor()方法来区分重复与否。应该覆equals()Set是否相等。”==”equal有何区别答案==”比较的是内存地址,equal比较的是内容本身给我一个你最常见到的runtimeexception。答案:IndexOutOfBoundception数组越界NullPointerException空指针异常SystemException系统异常errorexception有什么区别答案:Error表示系统级的错误和程序不必处理的异常,我们无法处理它Exception表示是可以捕捉或者需要程序进行处理的异常List,Set,Map是否继承自Collection接口?答案:List,Set是。Map不是classinterface有什么区别答案:一个只能继承一个抽象类,但却可以实现多个接口。抽象类中可以有也可以没有抽象方法。并且可以定义和常规类一样的变量和方法。而接口中所有的方法都是抽象的,所有的变量都是静态不可修改的。的method是否可同时是static,是否可同时是native,是否可同时是答案:都不能接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类答(concreteclass)?答案:接口可以继承接口。接口间继承(extends),不能实现(implements(extends启动一个线程是用run()还是start()?有什么区别答案:启动一个线程是调用start()方法,这并不意味着线程就会立即运行,只是进入了可运行状态。直接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。答案:不可以,但可以重载Class.forName的作用答:调用该返回一个类名为指定字符串的类的对象文件读写的基本类有哪些publicclassSort{publicstaticvoidmain(String[]{int[]array=intnum=冒泡排for(inti=0;i<{每下底一个元素,则调换的次数减一注意:j<array.length-i-1,不减一则数组下标越界for(intj=0;j<array.length-i-{inttemp=两两比较若前面的大于后面的则进行调换if(array[j]>{temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}}输出排序后的数for(inti=0;i<array.length;i++){ if(num5)//每行输5个{num=0;}}}}串行化的注意事项以及如何实现串行答案线程的同步、如何实现线程的同答案Socket通信(TCP、UDP区别及Java实现方式)Java的委托机制和回收机答案作用域public,private,protected,以及不写时的区别。protected-包可见,并子类可 public-都可Java的答案怎样让程序到去运行65.ArrayListVector的区别?答案ArrayListVector主要从二方面来说数据增长:当需要增长时,Vector默认增长为原来一倍,而ArrayList却是原来的一半。char型变量中能不能存贮一个中文汉字?为什么答:是能够定义成为一个中文的,因为javaunicode编码,一个char16个字节,所以放多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么答:多线程有两种实现方法,分别是继承Thread类与实Runnable接口同步的实现方面有两种,分别是synchronized,waitnotify回收机制,如何优化程序答案floatfloatf=3.4是否正确答:不正确。类型不匹配,应该用强制类型转换,如下所示:floatJava中异常处理机制,机制答案现在输入n个数字,以逗号,分开;然后可选择升或者降序排序importjava.util.Arrays;publicclass{publicstaticvoidmain(String[]{Strings= =newintcounttok.countTokens();int[]result=newint[count];for(inti=0;i<count;i++){Stringtemp=(String)tok.nex result[i]=Integer.parseInt(temp);}for(inti={{continue;//第一个元素的前面不打印}}System.out.println();//输出}}金额转换,数字的金额转换成中国传统的形式如当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?答案:能,一个对象的synchronized方法只能由一个线程。但其他线程可以同时这个对try里有一个return语句,那么紧跟try后的finally{}code会不会被执行,什么时候被执行,在return前还是后?答案:会执行,在return前执行编程题:用最有效率的方法算出28等於几?C背景的程序员特别喜欢问这种问题。答案:2<<3。如果210次方则是:1<<10.76.两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对答案:两个对象的值是否相同,根据的是equals方法,而hashcodehashCode()方法决定。因此值相同的对象hashcode可能不同。77.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是传递?答案:是值传递。Java编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的。对象的内容可以在被调用的方法中改变,但对象的是不会改变的。78。编程题:写一Singleton出来。publicclass{privatestaticSingleton =newSingleton();//静态的。保留自身的privateSingleton(){}publicstaticSingletongetInstance()//公共的静态的方法{return}}方式二:懒汉publicclass{privatestaticSingleton null;//静态的。保留自身的privateSingleton(){}publicstaticSingletongetInstance()//公共的静态的方法{if(test=={test=new}return}}描述一下JVMclass文件的原理机制?请写一个java程序实现线程连接池功能?给定一个C语言函数,要求实现在java类中进行调用。列出一些控制流程的方法答案88.编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入"为止,让你写出客户端的程序。答案99.请java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.100.调用系统命令实现删除文件的操作101.C++或Java中的异常处理机制的简单原理和应用常。语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会IndexOutOfBoundception;null的对象时会NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查程序员可以创建自己的异常并在何时用throw键字异常。所有的异常都是java.lang.Thowable的子类102.Java的接口和C++的虚类的相同和不同处Javalictatic,所有方法默认情况下是lic.一个类可以实现多个接口。103.回收的优点和原理。并考虑2种回收机制答案:Jaa语言中一个显著的特点就是引入了回收机制,使++程序员最头疼的内存管理的问题迎刃而解它使得Java程序员在编写程序的时候不再需要考虑内存管理由于有个回收机制Java中的对象不再有“作用域”的概念只有对象的才有“作用域回收可以有效的防止内存,有效的使用可以使用的内存。回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用回收器对某个对象或所有对象进行回收。回收机制有分代回收和标记回收,增量回收。104.描述一下你最常用的编程风格105.heapstack有什么区别。答案:栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元106.StaticNestedClassInnerClass的不同,说得越多越好(面试题有的很笼统),Inner(C++嵌套类最大的不同就在于是否有指向外部的上注:静态内部(InnerClass)意味着1创建一个static内部类的对象不需要一个外部类对象2不能从一个static内部类的一个对象一个外部类对答案:java类实现序列化需要实现java.io.Serializable接口。在collection中实现比较要实 parable接口 parator接口ITpub,IBM,E*Trade,Siebel,Motorola,SUN,以及其它大小公司。在里问的,给你IDE的估计很少(否则你赶快去买,说不定中)。所以如果你看完此文后,现一两题回答确很有可能你就被拒外了。当然这些都是Java的基本题,那些面试的多数不会问你Hibernate有多先进,Eclipse的三个组commanddesignpattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些final,finally,finalize第二,AnonymousInnerClass 内部类)是否可以extends(继承)其它类,是否可implements(实现)interface(第三,StaticNestedClassInnerClass第六,CollectionCollectionsassertAPI第八,GC第九,Strings=newString("xyz");String第十,Math.round(11.5)等於多少?Math.round(-11.5)第十一,shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;面试题都是很的,要做好受虐的准备第十二,sleep()wait()第十三,Javalength()这个方法?Stringlength()第十六,Setequals()?runtimeexception第十八,errorexception第十九,List,Set,Map是否继承自Collection接口? class和interface有什么区别? 第二十二,接口是否可继承接口?抽象类是否可实现(implements)(concreterun()start()?String第二十七,tryreturntryfinallycodereturn28C第二十九,两个对象值相同(x.equals(y)==true),hashcode,的结果,那么这里到底是值传递还是传递?SingletonJava(答案final,finally,finalizefinal—修饰符(关键字)如果一个类被为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被为 的,又被为final的。将变量或方法为final,可以保证它们在使用中不被改变。被为final的变量必须在时给定初值,而在以后的中只能,不可修改。被为final的方法也同样只能使用,不能重载finallyfinally的catchfinally块(如果有的话。finalize—方法名。Java技术允许使用finalize()方法在收集器将对象从内存中清除出去 Objectfinalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在收集器删除对象之前对这个对象调用的。第二,AnonymousInnerClass(内部类)是否可以extends(继承)其它类,是否可以extends(第三,StaticNestedClass和InnerClass,Inner套类最大的不同就在于是否有指向外部的上。具体可见http://注:静态内部类类的一个对象一个外部类对象第四,&和&&&是位运算符。&&第五,HashMapHashtableMapHashMap类没有分类或者排序。它允许一个null键和多个nullHashtableHashMap,nullnullHashMap第六,Collection和CollectionsCollectionsjava.utilCollectionjava.utilasserttrue。如果表达式计算为false,Assertionerror。它用于调试目的:assert(a>0);//throwsanAssertionerrorifa<=assertExpression1assertExpression1:Expression2;Expression1Expression2可以是得出一个值的任意表达式。这个值用于生成显示调试信息的String消息。断言在默认情况下是禁用的。要在编译时启用断言,需要使用source1.4标记:javacsource1.4Test.javaenableassertionsea要在运行时选择禁用断言,可使用-da或者-disableassertions标记。要系统类中启用断言,可使用-esa或者-dsa第八,GCGC?GC是收集器。Java程序员不用担心内存管理,因为收集器会自动进行管理。要请求收第九,Strings=newString("xyz");String两个对象,一个是“xyx”,一个是指向“xyx”的对象s第十,Math.round(11.5)等於多少?Math.round(-11.5)等於多少?第十一,shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;shorts11;s1s1+1;有错,s1short,s1+1intshorts1=(short)(s1+1)。shorts1=1;s1+=1第十二,sleep()和wait()sleep()sleep运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()xwait()调用,该线第十三,JavaGoto—javajavalength()Stringlength()这个方法?length()lengthStringlength()第十五,OverloadOverrideOverloadedOverridingOverloadingJavaOverriding时,将调用子类中的定义,对它而言,父类中的定义如同被“”了。如果在一个类中定义了多个Overloaded第十六,Setequals()?Set里的元素是不能重复的,那么用itor()方法来区分重复与否。equals()是判读两个Set是否equals()和==方法决定值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的runtimeexceptionArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,ImagingOpException,IndexOutOfBoundception,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFORMatException,SecurityException,SystemException,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论