• Java常考面试题整理(三)


    明天又要去面试,Good luck to me.,让我在这段时间换个新的工作吧.

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

    参考答案:

        当对象对当前使用这个对象的应用程序变得不可触及的时候,这个对象就可以被回收了.

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

    参考答案:

        垃圾回收不会发生在永久代,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full GC).如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的.这就是为什么正确的永久代大小对避免Full GC是非常重要的原因.

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

    参考答案:

        Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常.不受检查的异常不需要在方法或者构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面.相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明.

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

    参考答案:

        Exception和Error都是Throwable的子类.Exception用于用户程序可以捕获的异常情况,Error定义了不期望被用户程序捕获的异常.

    45.throw和throws有什么区别?

    参考答案:

        throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表示方法不能处理的异常,每一个方法都必须要制定哪些异常不能处理,所以方法的调用着才能确保处理可能发生的异常,多个异常使用逗号分割的.

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

    参考答案:

        Exception对象会在下一个垃圾回收过程中被回收掉.

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

    参考答案:

        无论是否抛出异常,finally代码块都会执行,它主要是用来释放占用的资源.finalize()方法是Object类的一个protected方法,她是在对象被来及回收之前由Java虚拟机来调用的.

    48.什么是Applet?

    参考答案:

        java applet是能够被包含在HTML页面中并且能被启动了java的客户端浏览器执行的程序.Applet主要用来创建动态交互的web应用程序.

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

    参考答案:

        applet可以经历下面的状态:

            Init:每次载入的时候都会被初始化.

            Start:开始之I型那个applet,

            Stop:结束执行applet.

            Destory:卸载applet之前,做最后的清理工作.

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

    参考答案:

        首先创建applet控制了的实例,然后初始化applet,最后开始运行.

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

    参考答案:

        applet是运行在启用了java的浏览器中,Java应用程序是可以在浏览器之外运行的独立的Java程序.但是,他们都需要有Java虚拟机.进一步来说,Java应用程序需要一个特定方法签名的main函数来开始执行.Java applet不需要这样的函数来开始执行.

        最后,Java applet一般会使用很严格的安全策略,Java应用一般使用比较宽松的安全策略.

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

    参考答案:

        主要是由于安全的原因,给applet施加了以下的限制:

            applet不能够载入类库或者定义本地方法.

            applet不能再宿主机上读写文件.

            applet不能读取特定的系统属性.

            applet不能法器网络连接,除非是跟宿主机.

            applet不能够开启宿主机上其他任何的程序.

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

    参考答案:

        不受信任的applet是不能访问或者执行本地系统文件的Java applet,默认情况下,所有下载的applet都是不受信任的.

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

    参考答案:

        当applet是从网络上加载的时候,applet是由applet类加载器载入的,它受applet安全管理器的限制.

        当applet是从客户端的本地磁盘载入的时候,applet是由文件系统加载载入的.

        从文件系统载入的applet允许在客户端读文件,写文件,加载类库.并且也允许之I型那个其他程序,但是,却通不过字节码校验.

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

    参考答案:

        当applet是从网络上加载的时候,它是由applet类加载器载入的.类加载器有自己的java名称空间等级结构.类加载器会保证来自文件系统的类有唯一的名称空间.来自网络资源的类有唯一的名称空间.

        当浏览器通过网络载入applet的时候,applet的类被放置于和applet的源相关联的名称控件中,然后,哪些被类加载器载入进来的类都是通过了验证器验证的.验证器会检查类文件格式时候遵守Java语言规范,确保不会出现堆栈溢出(stack overflow)或者下溢(underflow),传递给字节码指定的参数是正确的.

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

    参考答案:

        applet安全管理器是给applet施加限制条件的一种机制.浏览器可以只有一个安全管理器,安全管理器在启动的时候被创建,之后不能被替换覆盖或者是拓展.

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

    参考答案:

        Choice是以一种紧凑的形式展示的.需要下拉才能看到所有的选项.Choice中一次只能选中一个选项,List同时可以有多个元素可见,支持选中一个或者多个元素.

    58.什么是布局管理器?

    参考答案:

        布局管理器用来在容器中组织组件.

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

    参考答案:

        Scrollbar是一个组件,不是容器.而Scrollpane是容器,ScrollPane自己处理滚动事件.

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

    参考答案:

        只有3个线程安全的方法:repaint(),revalidate(),invalidate().

  • 相关阅读:
    【水滴石穿】react-native-ble-demo
    【水滴石穿】mobx-todos
    【水滴石穿】ReactNativeMobxFrame
    【水滴石穿】react-native-aze
    如何扩展大规模Web网站的性能?
    10个有关RESTful API良好设计的最佳实践(转)
    VS2010+Oracle11+Entity Framework4.1环境搭建及常见问题(转)
    将 Entity Framework、LINQ 和 Model-First 用于 Oracle 数据库
    oracle全托管驱动Oracle.ManagedDataAccess
    .net中使用ODP.net访问Oracle数据库(无客户端部署方法)
  • 原文地址:https://www.cnblogs.com/shenyanrushang/p/10852515.html
Copyright © 2020-2023  润新知