java面试题包含sql 常用基础题目以及代码题目

preview
需积分: 0 0 下载量 120 浏览量 更新于2018-09-19 收藏 22KB DOCX 举报
Java 面试题包含 SQL 常用基础题目以及代码题目 本文总结了 Java 面试中常见的基础知识点,涵盖了 Java 基础、SQL 基础、JavaWeb 基础等方面的知识点。 1. 堆(Heap)和栈(Stack)的区别 栈是一种线形集合,其添加和删除元素的操作应在同一段完成,栈按照后进先出的方式进行处理;堆是栈的一个组成元素。堆是程序运行时的内存分配区域,栈是方法调用的区域。 2. Left Join、Right Join、Inner Join 和 Full Join 的区别 Left Join 会从左表(shop)那里返回所有的记录,即使在右表(sale_detail)中没有匹配的行。Right Outer Join 右连接,返回右表中的所有记录,即使在左表中没有记录与它匹配。Full Outer Join 全连接,返回左右表中的所有记录,在表中存在至少一个匹配时,Inner Join 返回行。关键字 inner 可省略。 3. String、StringBuffer 和 StringBuilder 的区别 String 的长度是不可变的;StringBuffer 的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用 StringBuffer,如果最后需要 String,那么使用 StringBuffer 的 toString() 方法;线程安全;StringBuilder 是从 JDK 5 开始,为 StringBuffer 该类补充了一个单个线程使用的等价类;通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。 4. 同步和异步的区别 如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 5. Drop、Delete 与 Truncate 的区别 Drop、Delete 和 Truncate 都是 DML 语句,但是它们的作用域和执行结果不同。Drop 语句删除表的结构和数据,释放空间;Delete 语句删除表中的数据,但是不释放空间;Truncate 语句删除表中的数据,并释放空间,但是不放回滚段,不能回滚。 6. 过滤器和拦截器的区别 拦截器是在面向切面编程的,就是在你的 service 或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现。过滤器是在 java web 中,你传入的 request、response 提前过滤掉一些信息,或者提前设置一些参数,然后再传入 servlet 或者 struts 的 action 进行业务逻辑。 7. JAVA 语言如何进行异常处理 Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在 Java 中,每个异常都是一个对象,它是 Throwable 类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java 的异常处理是通过 5 个关键词来实现的:try、catch、throw、throws 和 finally。一般情况下是用 try 来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。
r19880613
  • 粉丝: 0
  • 资源: 10
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源