您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Java就业技术培训理论部分
Java就业强化复习培训第一部分Java基础部分包括内容:Java语言核心基础、面向对象基础一、Java面向对象基础与JVM1.请描述一下public、protected、private、final关键字在JAVA中的用法。Public所有类都可以访问,protected同一包中的类可以访问和其子类可以访问Private只有本类可以访问,final声明的类不能被继承2.简述存取修饰符public、private、internal、protected和类修饰符sealed、abstract和成员修饰符abstract、const、event、extern、override、readonly、static、virtual的用法和区别3.简述public,private,protected,default作用范围Public所有类都可以访问,protected同一包中的类可以访问和其子类可以访问Private只有本类可以访问,default表示默认不写4.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?可以,必须类名和文件名必须相同5.请画图描述一下JAVA中类装载器(ClassLoader)的工作原理。Java类装载由ClassLoader和其子类来实现,javaClassLoader是一个重要的运行系统组件,它负责运行时查找和装入类文件的类6.JavaI/O中字符流和字节流的区别?字符流:继承inputStreamReader,outputStreamWriter,字符流是通过一个字符一个字符的输入和输出数据用字符流读取中文汉字能够解决乱码问题(一个字符=两个字节)字节流:继承inputStream,outPutStreamr字节流也是通过一个字节一个字节的输入输出数据,字节流读取中文的时候会出现乱码(两个字节组成一个汉字)7.String和StringBuffer的区别?什么情况下用哪种字符串类?String一旦声明,就不能改变,是一个常量,String是final类型,不能被继承StringBuffer是可以改变的,是一个变量,它可以用来动态构造字符串8.Java中的序列化操作要实现什么接口?并实现什么方法?对象序列化时,会有怎样的异常,怎样处理?Serializable接口voidreadObject和voidwriterObject方法ClassNotFoundException9.JAVA有哪些类型?在JAVA中一个CHAR类型的变量中间是否可放一个汉字?为什么?int和Integer的区别能够放一个汉字,java的unicode码字符集,一个字符=16个字节Int是原始数据类型Integer是引用数据类型Integer是java为int提供的封装类10.简述Java的事件委托机制java事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回11.Java垃圾回收器GC的基本原理是什么?GC是什么?为什么要有GC?试举例说明一个典型的垃圾回收算法?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?GC就是垃圾收集的意思(Gabagecollection),内存处理是程序员容易遗漏的问题,忘记或错误回收造成系统崩溃,java提供的GC自动监测对象是否达到作用域从而自动达到内存回收System.gc当系统内存用尽或调用System.gc()要求垃圾回收时,垃圾回收线程与系统同步运行。12.java中会存在内存泄漏吗,请简单描述。会如:intii1return(i-i1)当i足够大于整数,i1足够大于负数,就会造成内存溢出,或错误13.java中实现多态的机制是什么?Overloading和overRiding是java多态性的不同表现14.什么是java序列化,如何实现java序列化?Java序列化:就是把对象通过流的方式写入文件当中去,实现(inplements)serializable接口15.是否可以从一个static方法内部发出对非static方法的调用?不能,如果其中包含method方法是,不能保证对象初始化16.写clone()方法时,通常都有一行代码,是什么?Super.clone();17.在JAVA中,如何跳出当前的多重嵌套循环?Break;return18.Null、String.Empty、string.Empty、””和’’有什么异同string.Empty不分配存储空间,分配一个长度为空的存储空间所以一般用string.Empty为了以后跨平台,还是用string.empty,关于String.Empty和Null的问题是这样的,这两个都是表示空字符串,其中有一个重点是stringstr1=String.Empty和stringstr2=null的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,stringstr2=null,这样定义后,只是定义了一个string类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错19.equals和==有什么区别?分别比较的是什么?Equals是判断两个set是否相等的,equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。20.&和&&的区别&是运算符(位运算符)&&逻辑运算符21.是否可以继承String类?不能,String是final类型22.静态变量和非静态变量的区别?静态变量能不能修改?(可以)静态变量:带有static修饰符的变量称为静态变量。非表态变量:不带有static修饰符声明的变量称为实例变量。静态变量定义时就会存在于内存当中,直到它所在的类的程序运行结束之时它都将一直存在;而非静态变量需要被实例化后才会分配内存,它的存在周期取决于实例化的类的生存周期。23.Strings=newString(xyz);创建了几个StringObject?两个一个是xyz一个是对象的引用s24.Math.round(11.5)等於多少?Math.round(-11.5)等於多少12,-1125.shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?S1=s1+1是short类型要强制转换:s1=(short)s1+1第二个正确26.Java有没有gotoJava中的保留字,现在没有使用27.数组有没有length()这个方法?String有没有length()这个方法?数组没有length方法,只有length属性,String有length方法28.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后会执行,在return之前29.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?都不能30.什麽是堆?什麽是栈?它们之间的区别?Heap(堆),stack(栈)栈是一种线形集合,其增加和删除元素都在同一段完成,按照先进后出的顺序的方式进行处理,堆是栈的一个组成元素31.例举5个常用的包、类、接口32.请描述Java的基本数据类型,以及各种整数类型的取值范围。有8种基本数据类型。类型缺省值长度byte08位short016位int032位long064位char'\u0000'16位float0.032位double0.064位33.在Java中,以下的异常:java.lang.Excetion,java.lang.RuntimeException,java.lang.Error有什么区别?Exception是异常父类,所有的异常类都继承Exception,RuntimeException是运行时异常,Error错误,比如状态码错误40434.对数组对象x,该数组的长度如何表示?Int[]x={};35.描述一下JVM加载class文件的原理机制?JVM中类的装载是由ClassLoader和它的子类来实现的,JavaClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们字符流:继承inputStreamReader,outputStreamWriter,字符流是通过一个字符一个字符的输入和输出数据用字符流读取中文汉字能够解决乱码问题(一个字符=两个字节)字节流:继承inputStream,outPutStreamr字节流也是通过一个字节一个字节的输入输出数据,字节流读取中文的时候会出现乱码(两个字节组成一个汉字)36.内部类可以引用他包含类的成员吗?有没有什么限制?37.一个内部类对象可以访问创建它的外部类对象的内容38.system.out.println(a+''+b);system.out.println(a++b);会输出结果还是编译不通过第一个代码错误第二个正确39.抽象类(Abstractclass)和接口(Interface)有什么区别?你选择使用接口和抽象类的依据是什么?接口中可以定义属性吗?如果可以应该定义什么类型的属性?Abstract类可不可以有静态的方法和静态变量?抽象类和接口的区别,怎么用?举例声明的方法存在而不去实现它的类叫抽象类,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法,接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口40.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?接口可以继承接口,抽象类可以实现接口,抽象类可继承实体类,但是必须有构造函数41.构造器Constructor是否可被override?不能,可以被重载42.JAVA中创建一个对象有哪几种方法,有什么区别?两种,第一种:直接new一个,第二种反射Class.forName();第一种直接调用了本类的构造函数,本类如果有多个构造函数,可以添加参数,第二种是调用这个类的默认构造函数,即不带任何参数的。第一种最常用,第二种叫工厂模式,比较安全43.Java里重写(override)和重载(overload)的区别?Overloaded的方法是否可以改变返回值的类型?重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(
本文标题:Java就业技术培训理论部分
链接地址:https://www.777doc.com/doc-2878657 .html