金三银四了,3月底,4月初,找工作换单位的黄金时期。4月初将会有有一大批职场人士流动。。。

作为Java开发码农的你是不是也在蠢蠢欲动,或者已经搞了几轮车轮战了?

我们为大家准备了 77 道经典 Java 面试题,如果你面试不力,基础还不够强,那么你或许会受用!

1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

2、JDK和JRE的区别是什么?

3、static关键字是什么意思?Java中是否可以覆盖(override)一个private或者是 static的方法?

4、是否可以在static环境中访问非static变量?

5、Java支持的数据类型有哪些?什么是自动拆装箱?

6、Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

7、Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

8、Java支持多继承么?

9、接口和抽象类的区别是什么?

10、什么是值传递和引用传递?

11、进程和线程的区别是什么?

12、创建线程有几种不同的方式?你喜欢哪一种?为什么?

13、概括的解释下线程的几种可用状态。

14、同步方法和同步代码块的区别是什么?

15、什么是死锁(deadlock)?

16、如何确保N个线程可以访问N个资源同时又不导致死锁?

17、Java集合类框架的基本接口有哪些?

18、为什么集合类没有实现Cloneable和Serializable接口?

19、什么是迭代器(Iterator)?

20、Iterator和ListIterator的区别是什么?

21、快速失败(fail-­fast)和安全失败(fail-­safe)的区别是什么?

22、Java中的HashMap的工作原理是什么?

23、hashCode()和equals()方法的重要性体现在什么地方?

24.HashMap和Hashtable有什么区别?

25、数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是 ArrayList?

26、ArrayList和LinkedList有什么区别?

27、Comparable和Comparator接口是干什么的?列出它们的区别。

28、什么是Java优先级队列(Priority Queue)?

29、你了解大O符号(big-­O notation)么?你能给出不同数据结构的例子么?

30、如何权衡是使用无序的数组还是有序的数组?

31、Java集合类框架的最佳实践有哪些?

32、Enumeration接口和Iterator接口的区别有哪些?

33、HashSet和TreeSet有什么区别?

34、System.gc()和Runtime.gc()会做什么事情?

35、finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?

36、果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?

37、Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?

38、串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?

39、在Java中,对象什么时候可以被垃圾回收?

40、JVM的永久代中会发生垃圾回收么?

41、Java中的两种异常类型是什么?他们有什么区别?

42、Java中Exception和Error有什么区别?

43、throw和throws有什么区别?

44、异常处理完成以后,Exception对象会发生什么变化?

45、finally代码块和finalize()方法有什么区别?

46、什么是JDBC?

47、解释下驱动(Driver)在JDBC中的角色。

48、Class.forName()方法有什么作用?

49、PreparedStatement比Statement有什么优势?

50、什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?

51、数据库连接池是什么意思?

52、什么是RMI?

53、什么是分布式垃圾回收(DGC)?它是如何工作的?

54、解释下Serialization和Deserialization。

55、什么是Servlet?

56、说一下Servlet的体系结构。

57、GenericServlet和HttpServlet有什么区别?

58、解释下Servlet的生命周期。

59、doGet()方法和doPost()方法有什么区别?

60、什么是服务端包含(Server Side Include)?

61、什么是Servlet链(Servlet Chaining)?

62、如何知道是哪一个客户端的机器正在请求你的Servlet?

63、HTTP响应的结构是怎么样的?

64、什么是cookie?session和cookie有什么区别?

65、浏览器和Servlet通信使用的是什么协议?

66、什么是HTTP隧道?

67、sendRedirect()和forward()方法有什么区别?

68、什么是URL编码和URL解码?

69、JSP请求是如何被处理的?

70、什么是JSP指令(Directive)?JSP中有哪些不同类型的指令?

71、什么是JSP动作(JSP action)?

72、隐含对象是什么意思?有哪些隐含对象?

73、面向对象软件开发的优点有哪些?

74、封装的定义和好处有哪些?

75、多态的定义?

76、继承的定义?

77、抽象的定义?抽象和封装的不同点?


在Java技术栈公众号回复 “777” 获取全部参考答案,网盘链接,7天有效哦。

Java 面试题经典 77 问(含答案)!的更多相关文章

  1. 最全最新java面试题系列全家桶(带答案)

    最全最新java面试题系列全家桶(带答案) 置顶 2019年04月06日 22:40:28 青春季风暴 阅读数 14082 文章标签: java面试题技术栈 更多 分类专栏: 面试   版权声明:本文 ...

  2. 史上最全Java面试题整理(附参考答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来 ...

  3. Java面试题汇总---升级版(附答案)

    前几天写了Java面试题汇总---基础版,总结了面试中常见的问题及答案,那我今天基于昨天的话题做一次升级,也就是说,求职者除了要学习了解哪些常见的基础面试题之外,还得准备些什么呢? 对有工作经验的求职 ...

  4. Java面试题大汇总(附答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...

  5. 最新最全的Java面试题整理(内附答案)

    Java基础知识篇 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发, ...

  6. java基础题月考JSD1908(含答案和解析)

    考试 .container { clear: both; margin: 0 auto; text-align: left; /*width: 1200px;*/ } .container:after ...

  7. Java面试题集(一)答案汇总(1-22)

    java基础篇: 1.1.Java基础 (1)面向对象的特性:继承.封装和多态 以下都是查阅大神的博客后,摘录的内容:来源http://www.cnblogs.com/chenssy 1.继承 继承是 ...

  8. java面试题,附个人理解答案

    一,面向对象的特征:1.抽象 包括数据抽象跟行为抽象,将对象共同的特征取出形成一个类2.继承 被继承类为基类/超类,继承类为子类/派生类3.封装 多次使用道德数据或方法,封装成类,方便多次重复调用4. ...

  9. 100+经典Java面试题及答案解析

    面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...

随机推荐

  1. 带各位深入理解java1.8之supplier

    supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码:public class TestSupplier { private int age; (www.0831jl ...

  2. Jmeter-【JSON Extractor】-响应结果中二级key取值

    一.请求返回样式 二.取chapter的值 三.查看结果

  3. 阿里云POLARDB如何帮助百胜软件应对数据库的“巅峰时刻”

    POLARDB是阿里云自研的下一代关系型云数据库,100%兼容MySQL,存储容量最高可达100TB,性能最高提升至MySQL的6倍,适用于企业多样化的数据库应用场景.POLARDB采用存储和计算分离 ...

  4. 如何用DOS命令查看占用某端口的程序及PID号

    果学过JSP编程的朋友可以会发现,若用Eclipse运行JSP文件时常常会弹出某某端口正在使用,从而导致代码无法运行.如何查找出特定端口的使用情况以及对应的程序呢,针对该问题,本文介绍利用DOS命令查 ...

  5. project1_calculator(使用tkinter实现python计算器,含有具体过程与注释)

    最终的运行效果图(程序见序号7): #!/usr/bin/env python# -*- coding:utf-8 -*-# ------------------------------------- ...

  6. 10.2 External interrupt/event controller (EXTI)

    EXTI控制器的主要特点如下: 每个中断/事件线上的独立触发器和掩码 每个中断行的专用状态位 生成最多20个软件事件/中断请求 脉冲宽度小于APB2时钟周期的外部信号检测. 每条中断线路的专用状态位生 ...

  7. HDU-1754-I Hate It-线段树-求区间最值和单点修改

    开学新拉的题目,老题重做,思路会稍微比之前清晰,不过这也算是一点点进步了. 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现 ...

  8. 《DSP using MATLAB》Problem 8.43

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  9. 11-MySQL-Ubuntu-数据表中数据的删除(四)

    数据的删除(delete) (1)物理删除(不可逆,公司不会采取这种方法,如现在一般不会出现注销,数据具有无限价值) 删除整张表的数据!!! delete from 表名; 删除部分给定条件的数据: ...

  10. 转载:ASP.NET Core 在 JSON 文件中配置依赖注入

    在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等)时候,都是提供了专有的接口以供使用第三方的依赖注入组件,比如我们常用的会使用 Autofac.Untiy.Stri ...