zoukankan      html  css  js  c++  java
  • 2020Java各大厂常考面试120题

    file
    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.在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?

    16.什么是死锁(deadlock)?

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

    18.Java集合类框架的基本接口有哪些?

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

    20.什么是迭代器(Iterator)?

    21.Iterator和ListIterator的区别是什么?

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

    23.Java中的HashMap的工作原理是什么?

    24.hhashCode()和equals()方法的重要性体现在什么地方?

    25.HashMap和Hashtable有什么区别?

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

    27.ArrayList和LinkedList有什么区别?

    28.Comparable和Comparator接口是干什么的?列出它们的区别?

    29.什么是Java优先级队列(Priority Queue)?

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

    31.如何权衡是使用无序的数组还是有序的数组?

    32.Java集合类框架的最佳实践有哪些?

    33.Enumeration接口和Iterator接口的区别有哪些?

    34.HashSet和TreeSet有什么区别?

    35.Java中垃圾回收有什么目的?什么时候进行垃圾回收?

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

    37.finalize()方法什么时候被调用?析构函数(fina...

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

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

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

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

    42.JVM的永久代中会发生垃圾回收么?

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

    44.Java中Exception和Error有什么区别?

    45.throw和throws有什么区别?

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

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

    48.什么是Applet?

    49.解释一下Applet的生命周期

    50.当applet被载入的时候会发生什么?

    51.Applet和普通的Java应用程序有什么区别?

    52.Java applet有哪些限制条件?

    53.什么是不受信任的applet?

    54.从网络上加载的applet和从本地文件系统加载的applet有什么区别?

    55.applet类加载器是什么?它会做哪些工作?

    56.applet安全管理器是什么?它会做哪些工作?

    57.弹出式选择菜单(Choice)和列表(List)有什么区别

    58.什么是布局管理器?

    59.滚动条(Scrollbar)和滚动面板(JScrollPane)有什么区别?

    60.哪些Swing的方法是线程安全的?

    61.说出三种支持重绘(painting)的组件?

    62.什么是裁剪(clipping)?

    63.MenuItem和CheckboxMenuItem的区别是什么?

    64.边缘布局(BorderLayout)里面的元素是如何布局的?

    65.网格包布局(GridBagLayout)里面的元素是如何布局的?

    66.Window和Frame有什么区别?

    67.裁剪(clipping)和重绘(repainting)有什么联系?

    68.事件监听器接口(event-listener interface)和事件适配器(event-adapter)有什么关系?

    69.GUI组件如何来处理它自己的事件?

    70.Java的布局管理器比传统的窗口系统有哪些优势?

    71.Java的Swing组件使用了哪种设计模式?

    72.什么是JDBC?

    73.解释下驱动(Driver)在JDBC中的角色。

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

    75.PreparedStatement比Statement有什么优势?

    76.什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?

    77.数据库连接池是什么意思?

    78.什么是RMI?

    79.RMI体系结构的基本原则是什么?

    80.RMI体系结构分哪几层?

    81.RMI中的远程接口(Remote Interface)扮演了什么样的角色?

    82.java.rmi.Naming类扮演了什么样的角色?

    83.RMI的绑定(Binding)是什么意思?

    84.Naming类的bind()和rebind()方法有什么区别?

    85.让RMI程序能正确运行有哪些步骤?

    86.RMI的stub扮演了什么样的角色?

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

    88.RMI中使用RMI安全管理器(RMISecurityManager)的目的是什么?

    89.解释下Marshalling和demarshalling。

    90.解释下Serialization和Deserialization?

    91.什么是Servlet?

    92.说一下Servlet的体系结构。

    93.Applet和Servlet有什么区别?

    94.GenericServlet和HttpServlet有什么区别?

    95.解释下Servlet的生命周期。

    96.doGet()方法和doPost()方法有什么区别?

    97.什么是Web应用程序?

    98.什么是服务端包含(Server Side Include)?

    99.什么是Servlet链(Servlet Chaining)?

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

    101.HTTP响应的结构是怎么样的?

    102.什么是cookie?session和cookie有什么区别?

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

    104.什么是HTTP隧道?

    105.sendRedirect()和forward()方法有什么区别?

    106.什么是URL编码和URL解码?

    107.什么是JSP页面?

    108.JSP请求是如何被处理的?

    109.JSP有什么优点?

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

    111.什么是JSP动作(JSP action)?

    112.什么是Scriptlets?

    113.声明(Decalaration)在哪里?

    114.什么是表达式(Expression)?

    115.隐含对象是什么意思?有哪些隐含对象?

    116.面向对象软件开发的优点有哪些?

    117.封装的定义和好处有哪些?

    118.多态的定义?

    119.继承的定义?

    120.抽象的定义?抽象和封装的不同点?


    答案,关注公众号下面二维码,即可


  • 相关阅读:
    Java并发包concurrent——ConcurrentHashMap
    Eclipse中给SVN添加项目
    Maven在导入其他项目时报错:Plugin execution not covered by lifecycle configuration
    新导入的项目目录结构不对(main目录)
    java.lang.reflect.Method.getAnnotation()方法示例
    彻底理解ThreadLocal
    Oracle查询前几条数据的方法
    PLSQL Developer新手使用教程(图文教程)
    PLSQL连接本地oracle或远程oracle数据库,实现随意切换
    Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
  • 原文地址:https://www.cnblogs.com/look-look/p/12738287.html
Copyright © 2011-2022 走看看