web答辩面试题_第1页
web答辩面试题_第2页
web答辩面试题_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、最新资料,word文档,可以自由编辑! !精 品 文 档 下 载【本页是封面,下载后可以删除!】试题什么是对象序列化,为什么要使用?所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。值传递与引用传递的区别 ?所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有 的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空 间,当新的变量修改对象的属性时,内存中的数据也会修改。接口与抽象类的区别 ?1:接口里面不可以实现方法体,抽象类可以实现方法体。 2:接口可以多继承接

2、口,抽象类不可以。3:接口需要被子类实现,抽象类是要被子类继承(单一继承 ) 。4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5: 接口中不能存在静态方法,但属性可以和 final ,抽象类中方法中可以有静态方法,属性也可以。 谈谈继承 , 为什么要使用继承 ?所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。 使用继承能够减少重复的代码。方法重载的好处 ? 所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。 重载的好处就是能够让我们很快的掌握该方法的功能 , 我们只要要

3、记住该方法就能很快的理解该方法的参数以及参数的 作用 项目中印象最深的部分 ? 我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的 知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。谈谈你对面向对象的理解与认识 ? 我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用 我的看法就是:1 :当加入新的功能的时候不会修改原有的代码。( 面向接口编程 )( 代码的复用性 )( 灵活性 )2: 当我们写的一个类可以重复的运用在

4、其他项目中3 :当写一个新类的时候要考虑到他的可扩展性。谈谈集合框架 ?集合框架分为三部分,第一部分是collection 接口,第二部分是 Map接口、第三部分是collectio ns帮助类首先说一下 collection 接口, collection 接口下面的接口分为 set 接口、 list 接口,在往下面就是他们一些实现类。 说到实现类在分为两部分,第一部分是set的实现类有 TreeSet、HashSet,第二部分是list的实现类有:ArraylistLinkedList 、 Vector 。再说 Map接口,map接口下面有 treeMap、HashMap HashTable

5、三个实现类。最后说 collections 帮助类, collections 提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作。 什么是异常 ?描述下异常处理 ?所谓异常就在执行程序的时发生的错误,他能终止正在执行的程序。异常的处理: 1:使用 try-catch 捕获异常。2:使用 throw-throws 抛出异常。多线程的优先级 ?为什么要分优先级 ?因为有有一些线程可能比较重要,所以才划分优先级。异常框架的类结构 ?Throwable 所有错误的超类,他下面有两个子类: error 和 Exception 。error 代表系统级的错误能捕获,但是不能处理。Except

6、ion 代表异常主要出自于程序,可以捕获也能处理。Exception 有分为两类:编译期异常、运行期异常。区别他是运行期异常还是编译期异常就看他是不是RuntimeException 的子类,如果是的话,就是运行期异常否则是编译期异常。谈谈HashMap与Hashtable 的区别。HashMap:hashmap中可以有空值,线程不安全的类。hashmap的父类是 abstractMap 抽象类(效率高)HashTable:hashtable 中不允许有空值,线程安全的类 .hashtable 的父类是 Dictionary 类(效率低 ) 说一下 iterator 。iterator 是一个

7、接口,用于实现对容器里面的元素遍历操作。任何的遍历都可以使用 iterator 。什么是泛型 ?它有什么样的好处 ? 泛型就是自己指定一种类型,以后存放的东西就只能有这一种类型。 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。 说一下你在项目中遇到的异常 ,并说出什么时候发生的 , 怎么解决的。空指针异常最常见。根据异常提示找到相应的类进行处理。发生的原因很多,比如没有初始化变量,没有进行赋值等都 是空指针所包含的。你的程序遇到错时怎么解决的 ? 根据错误提示找到错误的 API 进行相应的处理。谈谈 &&和&的区别&

8、 是位运算符,表示按位与运算, &&是逻辑运算符,表示逻辑与( and )。System.out 和 System.in 是什么意思 ?System.out 是输出。System.in 是输入java 为什么能够跨平台 ? 对于不同的系统平台有不同的虚拟机,虚拟机提供了硬件平台规范。用 java 开发的程序被编译成由 java 虚拟机指令组成的字节代码,虚拟机会将这些指令翻译成操作系统特定的指令. (因为 jvm 屏蔽了底层操作系统的硬件)。private 变量能不能被其他类访问 ?如果能 , 怎么访问 ?能。通过反射 . getDeclaredField_r();演示 jav

9、a 项目如何打包成 jar 文件1:选择导出 jar 直到输出java 的环境变量如何配置 ?为什么要配置 ?1: 在我的电脑 属性 高级 环境变量 系统变量 新建 变量名 java-Home, 设置值: java 的 JDK 目录2: 在选择新建 设置变量名 PATH 变量值 %java_home%/bin 目录 为了方便在 dos 窗口操作。static 和非 static 修饰的变量哪个生命周期长 ?static 的生命周期长。因为他一直在内存里面。 什么是线程同步 ?线程同步就是说在同一时间访问的资源的时候,资源只能被一个线程所使用 .什么是封装 ?封装的好处是什么 ? 封装:封装就是

10、把一个已经实现好的功能的代码,放在一个方法中(实现了隐藏)。 好处:代码的重用性、好全性、只需要调用该方法不管具体的实现在线程中 wait 与 sleep 的区别 ?1: wait 是 Object 定义的方法,而 sleep 是线程 Thread 定义的方法。2:sleep 是让当前线程睡泯,所以可以放在任何位置,而 wait 是让当前线程放弃资源的使用权,必须放在同步块或同步 方法里面。3: sleep 他不会释放对象锁,而 wait 会释放对象同步锁 .4:sleep 是等待一段时间后会自动醒来,而 wait 必须让其他的线程唤醒。Class 和 class 的区别class 是 jav

11、a 的关键字。Class 是类的名字。awt 和 swing 的区别 ?awt 是重量级的组件。swing 是轻量级的组件 .比如 :( 在 swing 组件中当我们调用 repaint() 方法时,会很快调用 paint() ,而对于重量级组件会首先调用 upate() 方 法,然后 upate() 方法再调用 paint() 方法,在重量级组件中实现双缓冲,我们就要重写 upate() 方法,在重写的时候记 得实现帅新屏幕 ).为什么实现一个接口必须要实现接口里面所有的方法? 因为这是 sun 公司的规定。如果不实现它里面所有的方法那就不叫接口。 线程和进程的区别是什么 ?进程是一个小的应

12、用程序,需要分配内存空间。 线程是进程中的一个顺序控制流,也可以这样理解 ( 线程是进程的实体 ).Java 基础技能中强调程序代码的读写能力 , 如果一个类很长 , 你会怎样读写 ? 1:类分解,每个类只做他该做的事情。2: 方法分解。 抽象方法能不能是 private 和 static 修饰符 ? 能。用接口有什么好处 ? 1:使用接口有很好的扩展性。2:接口可以多继承接口。3:隐藏实现。 什么是反射 ?所谓反射就是在编译的时候不知道加载什么,只有等到运行的时候才知道该执行什么。 创建对象的方式有哪些 ?1:new 2:反射 3:clone 4:spingDItransient 是什么意思

13、 ?transient 代表无法到达某一对象所抛出的异常。但也不代表没有该对象。 在设计类的时候 , 你是怎么使用静态变量和成员变量的 ? 如果需要一直存在于内存当中,就选择静态变量否则就选择成员变量。 定义抽象方法的意义何在 ?1:为了减少重复代码。 2:抽象方法有很好的扩展性。谈集合遍历的方式forEach() 、 for() 、 iteratorjava 安全性体现在什么地方 ? 1:Java 提供一个用于网络 / 分布式的计算环境。因此, Java 强调安全性,如确保无病 毒、小应用程序运行安全控制等等。2:Java 的验证技术是以公钥( public-key )加密算法为基础,而且从

14、环境变量、类加载器、文件系统、网络资源和名字 空间等方面实施安全策略。谈谈线程所拥有的几种状态就绪:线程分配了CPU以外的全部资源,等待获得CPU调度执行:线程获得 CPU正在执行 阻塞:线程由于发生 I/O 或者其他的操作导致无法继续执行,就放弃处理机,转入线程就绪队列 挂起:由于终端请求,操作系统的要求等原因,导致挂起。面向对象的特征有哪些 ? 封装、继承、多态 解释一下在项目里你怎么去实现多线程的。1: 一般是实现 Runnable 接口, new Thread().start(); 重写 run(); 启动线程时可以调用 run() 方法吗 ?可以.因为 run 方法里面执行的代码就是

15、线程所要执行的方法 .Java 程序的执行过程是怎样的 ?java 源程序 编译 .class 字节码 类加载器 字节码校验器 解释执行Java 的引用数据类型有哪些 ? 对象、集合、数组、接口 变量按作用域分类分为几种 ? 分为两种。局部变量和全局变量 . 集合里的接口有哪些 ?请你创建一个 List 类的实例。Collection 接口、 set 接口、 list 接口、 map 接口、 iterator 接口List list = new ArrayList();int 与 Integer 的区别 ?int 是原始数据类型, integer 是 int 的包装类,他提供转换类型的很多方法

16、。checked 异常与 unchecked 异常的区别是什么 ?区分他们的区别主要是看他们是不是 runtime 的子类,如果是 runtime 的子类那么就是运行期异常,否则是编译期异 常。final 与 finally 、 finalize的区别 ?final 用于声明属性、方法和类,分别表示属性不可更改,方法不可重写,类不可以继承。finally 是异常处理语句结构的一部分,他表示总是执行。finalize 是 Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收 集时的其他资源回收,例如关闭文件等。重写与重载的区别 ?参数一样 , 返回

17、类型不一样 是重载吗 ? 重载:方法名相同,参数类型不同,参数个数不同,参数顺序不同。重写:方法名相同,参数的类型相同,返回的类型相同。 不是。因为重载是根据参数来断定的。写一个数组的创建。int i = new int5;int i=1,2,3,4,5;什么时候用输入流 , 什么时候用输出流 ? 读取数据的时候使用输入流。写入数据的时候使用输出流 .双缓冲如何实现的 ? 为什么要用双缓冲 ? 先在内存中分配一个和我门动画窗口一样大的空间(在内存中的空间我门是看不到的),然后利用 getGraphics_r() 方 法去获得给空间并将它全部一次性的显示到我门的屏幕上这样在我门的动画窗口上面是显

18、示出来就非常的流畅了避 免了上面的闪烁效果举出常用的 list 类。哪种情况用哪种好 ?arraylist 、 LinkedList 、 Vector.arraylist 是连续的空间,遍历速度快,插入和删除就比较慢。linkedList 是一个双向链表存放数据。如果删除和添加元素比较多的话,要效率高的就可以使用 LinkedList 。 vector 和 arraylist 的功能一样,唯一的区别就是 vector 是线程安全的,而 arraylist 是线程不安全的。Map、 list 与 set 的区别 ?里面常用的类有哪些 ?map是以键值对的方式存数据。list 里面的数据可以重复,

19、有顺序set 里面的数据不可以重复,没有顺序。list 的常用类有 arraylistset 的常用类有 treesetmap的常用类用 hashmap什么时候用继承 Thread? 什么时候实现 Runnable 接口 ? 当一个类中没有继承的时候可以使用 thread 。如果一个类中已经使用了继承,就只有实现 runnable 接口 对对象进行比较怎么做 ?为什么不用“ =” ?其实如果是非 String 的话, =与 equals 并没有区别。因为 String 他是重写了 object 的方法,所以这才有了 equals 比较内容, =比较地址。 静态变量与成员变量的区别。静态变量在对

20、象加载之前初始化,而成员变量是在编译期间初始化。 静态变量可以直接通过类名点的方式进行访问,而成员变量则不行。访问修饰符有哪几种 ?它们之间的区别是什么 ?有四种。前提:在一个项目中。public 可以在所有包中的所有类随意进行访问。private 只能在被当前类访问。protected: 在同一包中,或子类可以进行访问。 默认:同包下能被访问。对象的序列化怎么实现的 ? 实现 Serializable 接口。讲一下多态的概念。多态就是相同的行为不同的体现方式。 ( 比如:爱好,每个人都要自己的爱好,但是爱好都不同 ) 子类继承父类 , 父类的构造方法能被继承吗 ?能。 子类中怎么调用父类的方

21、法 ? 通过 super. 方法 this 、 super 的用法与区别 ? this 的访问当前类的属性和方法。super 是访问父类的属性和方法。 什么是构造方法 ? 构造方法的作用 ?( 目的、意义 ) 构造方法是在调用的时候被 new 出来的,每个类都有构造方法。 作用:为对象分配内存、初始化类变量、初始化属性、返回引用。Error 和 Exception 的区别是什么 ?Error: 是系统级的错误,可以捕获,但不同处理。 exception 是程序错误,可以捕获也可以进行处理。 输入输出流分几种 ?分别在什么时候使用 ?输入流: InputStream 、 Read输出流 :Out

22、putStream 、 writer 读取字节,使用 InputStream 以字符读取用 Read 输出字节 , 使用 OutputStream 以字符输出用 writer 异常捕获的流程 ?如果有异常发生是怎样的流程 ? try容易发生异常的代码catch( 错误的类型 )打印错误信息finally不管有没有异常都要执行String 是基本数据类型吗 ?基本数据类型有哪些 ? 不是。基本数据类型: byte 、 short、 int 、 long 、 float 、 double 、 char 、 booleanCollection与 Collections的区别 ?Collection是

23、一个接口 .collections是一个帮助类。( 主要对查找、排序 )HashMap 等是实现的 Collection 的接口吗 ? 不是。hashMap 实现的是 map 接口。他是以键值对的形式保存。游戏中的 paint() 方法从何处来的 ?让窗本重绘最好采用哪种方法 NO! 没做过。为什么从集合中取出来的元素都是 Object 类型的 ?. 因为他们都是 object 的子类。如果 try 块中有多种异常 , 在 catch 块中如何处理 ? 直接在类型 catch 中写一个 Exception 异常。如果要抛出异常怎么做 ?使用 throw 明确要抛出异常的代码,在方法中使用 th

24、rows 抛出异常类型。 实现接口使用什么关键字 ? 在实现一个接口时必须要做什么 ?使用 interface 关键字。 实现一个接口必须实现这个接口里面的所有方法 .GUI 响应一个事件的代码如何写 ?JVM是什么?它的作用是什么?它和java运行环境有什么区别 ?Java 虚拟机是一个抽象的计算机,和实际的计算机一样,它具有一个指令集并使用不同的存储区域。 它负责执行指令,还要管理数据、内存和寄存器。 Java 解释器负责将字节代码翻译成特定机器的机器代码 没有 java 虚拟机就更不要说运行环境了。集合和数组的区别。 1:集合中可以存放不同元素的类型,而数组中只能放同一种类型的数据。2:

25、集合的长度可以随着元素的多少自动增长,而数据的长度一旦定义就不能更改。3: 集合中只能放置对象,数组中可以是对象也可以基本数据类型。 4:集合提供了很好的算法,而数组里面的算法有限。final 这个修饰符的用法 ?final 主要修饰属性、方法、类。分别代表属性的值不可更改、方法不可以重写、类不可以继承。 如何定义一个常量 ?定义常量的意义何在 ?使用 final 定义常量 . 主要是针对一些不需要修改的数据。谈谈算术表达式的优先级No!是否可以继承 String 类 ?不可以。因为 String 是 final什么样的类不能被实例化 ?Math 这个类能不能实例化 ? 抽象类不能被实例化。m

26、ath 不能被实例化。 基本数据类型和引用数据类型的区别是什么 ? 基本数据类型他们代表的是元素的实际值 , 也就是说基本数据类型是存在栈中的。 引用数据类型是元素所代表内存中所指向的一个地址, 在栈中只是保存对象的地址。而对象的具体内容是保存在堆中的。引用数据类型作为参数传递时 , 传递的是什么 ? 传递的是所指向内存中的一个地址。局部变量使用时候需要注意什么问题 ? 局部变量是定义在方法中。一个子类能同时继承于多个父类吗 ? 不能,可能出现菱形错误 ( 比如:一个儿子,他只能有一个爸爸,但是反过来说一个爸爸就可能有多个儿子)子类继承父类时 , 在子类构造方法的第一行语句应该怎么写 ?thr

27、ow 和 throws 的区别throw 是明确要抛出的语句代码, throws 是声明此方法将抛出某类型的异常byte 的取值范围byte 最大的取值范围是 +127byte 最小取值范围是 -128java 中采用什么字符编码集 ?char 类型能不能放入一个中文字 ?Unicode 编码。能main 方法中有个参数 String args 。这个参数的值是由谁传递给它的。由方法传递。java 语言的特点是什么 ? 简单、面向对象、分布式、跨平台、健壮、解释性、安全、多线程、垃圾回收。项目开发的流程是怎么样的 ?需求分析 设计 编码 测试 维护 创建一个线程有几种方法 ?有两种方法: 1:

28、 extends Thread 2 : implements Runnable在 Dos 界面下如何编译并执行 Java 程序 ?javac 文件名 .javajava 文件名说几个 String 常用的方法 比如:拆分字符串 (split) trim() 取出空格 length() 长度 接口里可以定义变量吗 ?可以定义变量,但必须是 public, 而且必须初始化 . 接口里方法修符是什么 ?接口方法的修饰符是 public.String 和 StringBuffer 的区别 ?String 他的长度不可增长。StringBuffer 的长度可以增长 .断言有什么作用 ?调试程序。GUI

29、的布局管理器常见的有哪几种 ?jframe:borderjpanel:flow请列举 switch( ) 括号中能接受的所有数据类型。intdoublefloatlong 构造方法和方法有什么区别?构造方法能不能被重载, 能不能被重写 ?构造方法主要是为了调用这个类的时候用于 new 出这个类。方法的作用是实现了某个功能的代码放到这个方法之中。 构造方法能被重载,不能被重写 .如果一个类实现一个接口 , 可不可以不实现接口里定义的所有方法 ? 不可以。如过不实现那就不称为接口 .类 InputStream 中方法 read() 的返回值是什么 ? 读出的是什么 ?返回的是 InputStrea

30、m ,读取出来的是字节码。 如何将实现包装类和基本数据类型转化 ? 通过包装类提供的一些静态方法和方法进行转换 .什么时候类名和文件名必须一致 ?在使用 dos 命令编译的时候。java 帮助文档是如何生成的 ? 在导出项目的时候选择 javadoc. 游戏主界面有一个 while 循环 , 能否直接 while(true)?不能,如果是那样就是永远的循环。什么是线程安全 ?线程安全就是指在同一时间只能有一个能访问资源。比如 ( 上厕所:一个公共厕所和一个私有是测试,那个安全性高 ) 线程同步化会带什么样的结果 ?安全性好。GC是什么?为什么要有GC?垃圾回收机制,因为有牛人帮我们做了这件事,

31、就不需要程序员自己回收垃圾。减少了很多事情。数组有没有 length() 这个方法 ? String 有没有 length() 这个方法 ? 数组没有 length() ,只有 length 属性, String 有 length().如何启动线程 , 它直接调用 run() 方法有什么区别 ?Thread.start() 方法启动线程,调用 run 方法必须启动该线程。 当一个线程进入一个对象的一个同步方法后 , 能否进入其它非同步方法 ?不能。try 里有一个 return 语句 , 那么紧跟在这个 try 后的 finally 里的代码会不会被执行 , 什么时候被执行 ? 会执行,当 r

32、eturn 返回后就执行 finally 里面的代码。finally 的作用是什么 ?一般在什么时候使用 ?finally 是无论 try 块中是否发生异常都能确保进行清理工作。一般都是在资源回收的情况下使用。IO 流操作的步骤是怎么样的 ?1: 建立流 操作流 关闭流进行 IO 流操作时 , 如果操作的文件不存在会发生什么情况?如果文件找不到,会抛出一个文件未找到异常。什么是主线程 ? 一个线程必须执行的线程。 finally 是不是什么时候都会执行 ? 不一定。比如:关闭虚拟机。什么时候用继承 , 什么时候用接口 ? 在不是清楚业务的时候建议使用继承。如果是比较清楚业务的话就使用接口。 因

33、为在接口中如果业务不确定,你想在这个接口中增加一个方法,那么他的子类都必须实现,不管他有没有用。 所以一般在业务很清楚的情况下,根据业务的需求进行选择。Try 块中是否所有的语句都一定会执行 , 为什么 ?不是。因为 try 中只能有一个异常发生。 类的修饰符能不能是 private 、 static 、 protected? 不能。如果是私有的这个类写来还有什么意义。谈谈集合的作用 主要是存取数据元素。 如何让 JFrame 的初始位置居中 ( 在不同的分辨率中 ) 设置它的 setBounds 的坐标 .如何将一个字符串转成一个基本数据类型 使用包装类进行转换。静态变量和成员变量应该怎么访

34、问 ? 静态变量可以使用类名点的方式访问。成员变量可以用对象点的方式访问。 怎么样判断一个异常类是 checked 异常还是 unchecked 异常 ? 看他是否是 runtime 的子类,如果是 runtime 的子类则是运行期异常否则是编译期异常。 如何获得 java 当前的工作目录使用系统类。 System. getProperty_r("user.dir"). 如何获得一定范围的随机整数 ?使用 Math 类获取。 Math.floor(); 怎么样知道磁盘一个目录中有哪些文件 ?d:/ dir什么是包 ?定义包有什么好处 ? 包就是为了区分层次性。比如我这个包下面是业务层,另外一个包是持久层。在 IO 中字节流和字符流的父类是什么 ?InputStream 和 ReaderArrayList 和 Vector 的区别ArrayList: 存的元素是连续的内存空间,遍历速度比较快。在尾部插入速度也快,但是在中间插入慢,他是一个线程不 安全

温馨提示

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

评论

0/150

提交评论