当前位置: 东星资源网 > 文档大全 > 介绍信 > 正文

JAVA面试题全集2018 JAVA面试题全集

时间:2018-07-10 来源:东星资源网 本文已影响 手机版

  JAVA语言如何进行异常处理?下面就由小编为大家介绍一下JAVA面试题全集的文章,欢迎阅读。

  JAVA面试题全集篇1

  一、Java基础知识

  1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

  2.字符串的操作:

  写一个方法,实现字符串的反转,如:输入abc,输出cba

  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。

  3.数据类型之间的转换

  如何将数值型字符转换为数字(Integer,Double)

  如何将数字转换为字符

  如何取小数点前两位,并四舍五入。

  4.日期和时间

  如何取得年月日,小时分秒

  如何取得从1970年到现在的毫秒数

  如何获取某个日期是当月的最后一天

  如何格式化日期

  5.数组和集合

  6.文件和目录(I/O)操作

  如何列出某个目录下的所有文件

  如何列出某个目录下的所有子目录

  判断一个文件或目录是否存在

  如何读写文件

  7.Java多态的实现(继承、重载、覆盖)

  8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

  9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。

  10.找出下列代码可能存在的错误,并说明原因:

  二、JSP&Servlet技术

  1.描述JSP和Servlet的区别、共同点、各自应用的范围

  2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”)

  3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。

  4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。

  5.列出Jsp中包含外部文件的方式,两者有何区别。

  6.说明Jsp中errorPage的作用,应用范围。

  7.介绍在Jsp中如何使用JavaBeans。

  8.简单介绍JSP的标记库

  9.Jsp和Servlet中的请求转发分别如何实现。

  三、J2EE相关知识

  1.介绍J2EE、J2SE、J2SE的区别。

  2.J2EE是一种技术还是一种平台,他提供了那些技术。

  3.什么是Application Server,它有什么功能和优点。

  4.简单介绍连接池的优点和原理。

  5.Web.xml的作用

  四、其他

  1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)

  2.简单介绍您所了解的MVC。

  3.简单介绍所了解的XML。

  4.文档和编码规范

  5.Java中的分页、效率考虑。

  6.简单介绍您所了解的structs。

  JAVA面试题全集篇2

  1.xml在项目中的作用

  2.s-EJB 与 e-EJB的区别

  3.会话面的作用

  4.cmp与bmp的优缺点

  5.j2me程序的必需的几个部分

  6.c/s与b/s的区别

  7.构建一个connect pool,然后再调用它,

  8.j2ee平台与dotnet平台的区别

  9.ejb的life cycle

  10.session bean 和 entity bean的区别

  11.ejb中的transaction机制

  12.synchronized (生产者和消费)

  13.String 和 StringBuffer

  14.Serializable

  15.MVC (Struts的工作流程)

  16.什么是MDA

  17.tcp与udp的区别

  18.链表与散列表和数组的区别

  19.堆和栈的区别

  20.ejb的分类及区别

  21.你对现在软件业以及国内软件业的看法

  22.谈谈java多线程

  23.谈谈文件加密技术

  24.软件开发生命周期

  25.路由协议种类及特点

  26.java的awt和swing组件的GUI设计的关键

  27.对于java流的认识

  28.简单描述一下awt与swing区别。

  29.简述java编程中事件处理模式。

  30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。

  31.简述逻辑操作(如&,|)与条件操作(如&&,||)的区别。

  32.简述 Java Server Page 和 Servlet 的联系和区别。

  33.简述synchronized和java.util.concurrent.locks.Lock的异同 ?

  34.EJB规范规定EJB中禁止的操作有哪些?

  35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用?

  36.除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式?

  37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别?

  38.列举三种以上垃圾回收算法,并比较其优缺点?

  39.编写代码实现一个线程池

  40.描述一下JVM加载class文件的原理机制?

  41.试举例说明一个典型的垃圾回收算法?

  42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.

  43.请写一个java程序实现线程连接池功能?

  44.给定一个C语言函数,要求实现在java类中进行调用。

  45.如何获得数组的长度?

  46.访问修饰符“public/private/protected/缺省的修饰符”的使用

  47.用关键字final修饰一个类或者方法时,有何意义?

  48.掌握类和对象的概念,掌握面向对象编程的本质

  49.静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法?

  50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally

  51.Object类(或者其子类)的finalize()方法在什么情况下被调用?

  52.一个“.java”原文件中是否可以包括多个类(不是内部类)?

  53.掌握内部类和接口的概念

  54.StringTokenizer类的使用

  55.数据结构,如何遍历List中的元素?

  如果要按照键值保存或者访问数据,使用什么数据结构?

  要掌握Collection相关的接口和类的使用

  56.使用StringBuffer类与String类进行字符串连接时有何区别?

  57.调用Thread类的destroy()方法有什么后果?

  58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?

  59.使用socket建立客户端与服务器的通信的过程

  60.JAVA语言国际化应用,Locale类,Unicode

  61.描述反射机制的作用

  62.如何读写一个文件?

  63.在图形界面中,一个按钮如何处理鼠标点击事件?

  64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框?

  65.如何加载图片?

  66.什么是模态对话框?

  67.阐述MVC的概念

  68.GUI布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout

  69.如何构造一棵树?选择树的一个节点时,如何得到这个节点?

  70.向编辑框中输入字符时,如何控制只输入整数?

  71.描述使用JDBC连接数据库的过程

  72.EJB分为几类?什么是BMP,CMP?

  73.什么是JNDI?

  74.ADO是什么?ActiveX数据对象,是一个应用级程序接口.

  75.四种JDBC方式?目前的版本?

  76.EJB有哪几种?区别是什么?

  77.JavaBean与EJB有什么区别?

  78.软件开发生命周期有哪几个阶段?

  79.软件开发有哪些因素?

  80.软件开发中如何进行版本控制?

  81.UML中,类视图如何表示类中的继承与聚合?

  82.客户端游标与服务器端游标的区别?

  83.动态游标与静态游标的区别?

  84.dotnet由哪几个基本框架组成?

  85.Oracle中SGA是什么?

  86.web servers是什么?

  87.UNIX中QT是什么意思?

  88.在软件开发生命周期中的哪个阶段开始测试?

  89.dotnet与J2EE的比较?

  90.什么是ActiveX?

  91.Java中IDL是什么?

  92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的五个成熟度等级。

  JAVA面试题全集篇3

  第一,谈谈final, finally, finalize的区别。

  final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载

  finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

  finalize?方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

  匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

  Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。

  注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

  第七,什么时候用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 标记。还可以在包的基础上启用或者禁用断言。

  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

  第九,String s = new String("xyz");创建了几个String Object?

  两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

  第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

  short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

  第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱

  sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级

  (b)正在运行的线程因为其它原因而阻塞。

  wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

  sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

  wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

  第十三,Java有没有goto?

  Goto?java中的保留字,现在没有在java中使用。

  第十四,数组有没有length()这个方法? String有没有length()这个方法?

  数组没有length()这个方法,有length的属性。

  String有有length()这个方法。

  第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

  都不能

标签:JAVA面试题全集 java工程师面试题 java集合面试题