zoukankan      html  css  js  c++  java
  • 集合

    面试题:请说明Comparable和Comparator接口的区别

    排序逻辑:Comparable排序逻辑必须在待排序对象的类中,故称之为自然排序

                      Comparator排序逻辑在另一个实现,故称之为比较器排序

    排序方法:int compareTo(Object 01)

                     int compare(Object 01,Object 02)

    接口所在包:java.lang.Comparable

                         java.util.Comparator

    内部类:就是在一个类中继续定义一个类(好处就是方便内部类访问外部类的私有属性,如果要取得内部类对象需先实例化外部类对象)

    静态内部类:使用static修饰的内部类就是静态内部类,静态内部类不依赖于外部类的对象存在,静态内部类可直接在外部类之外实例化

                                                      静态内部类不能访问外部类的非静态属性

                        (static修饰的变量和方法是静态变量和静态方法,静态变量和静态方法都不依赖于对象存在)

    方法中的内部类:就是在方法中直接定义一个内部类,之后直接使用这个内部类对象的方法(jdk1.8之前如果要访问方法的参数和局部变量需要使用final修饰)

    匿名内部类:要使用匿名内部类必须在抽象类或者接口的基础上实现(一般可以作为方法的参数传递,也可以在方法中直接定义)

    对象的序列化与反序列化:

    序列化:就是将内存中的对象转换成二进制之后进行传输到指定的文件,也可以在网络之间进行传输(需要使用的类"ObjectOutputStream")

    反序列化:将序列化的文件中的内容再以对象的方式读取到内存中(需要使用到的类"ObjectInputStream")

    transient关键字:在实现序列化对象的时候某些属性并不需要序列化,此时使用transient关键字修饰即可

    本地方法栈和虚拟机栈的区别:二者作用很相似

    虚拟机栈是为java方法服务的,本地方法栈是为native方法服务的(该本地方法无方法体,可以算抽象方法,具体实现是本地操作系统的c语言写的一些函数库方法实现)

    虚拟机栈:区域线程私有,生命周期和线程相同(每个方法从执行到执行完毕就是一个入栈与出栈的过程),保存局部变量(方法中定义的变量或者方法的参数)

    堆:区域线程共享(创建的实例对象和数组都需要在堆内存开辟空间),是gc重要处理的一个区,所以也被成为"GC堆"

    方法区:区域线程共享(主要保存已经加载到jvm中的类的信息、常量、静态常量等等)

    注解的配置使用:

    注解配置普通的servelt的映射路径(@WebServlet)

    注解配置过滤器(@WebFilter)

    注解配置监听器(@WebListener)

  • 相关阅读:
    POJ1258——Prim——Agri-Net
    POJ2485——Prim——Highways
    POJ1789——Prim——Truck History
    POJ1125——Floyed——Stockbroker Grapevine
    POJ2253——Floyed——Frogger
    字符串处理 Codeforces Round #297 (Div. 2) B. Pasha and String
    模拟 Codeforces Round #297 (Div. 2) A. Vitaliy and Pie
    DP+埃氏筛法 Codeforces Round #304 (Div. 2) D. Soldier and Number Game
    queue+模拟 Codeforces Round #304 (Div. 2) C. Soldier and Cards
    贪心 Codeforces Round #304 (Div. 2) B. Soldier and Badges
  • 原文地址:https://www.cnblogs.com/yhgn/p/10752916.html
Copyright © 2011-2022 走看看