zoukankan      html  css  js  c++  java
  • java记录(1)

    仅个人记录

    1、一个object对象有对应的hashCode值,重写了toString方法如何知道hashCode值?

    object原生的toString()方法:返回单前对象的类名及hash值。相当于getClass().getName() + '@' + Integer.toHexString(hashCode())
    当子类重写了toString()方法后可以用hashCode()方法获取到hash值。
    hashCode()根据对象的字段值等进行计算。
    java中利用对象的hashCode值来配合一些散列集合HashMap等(判断对象存在)。

    2、java数组定义,数组长度不可变?

    java中定义数组在定义时可以不标注长度,如int[] array,但在初始化数组的时候必须给定数组长度,且该数组长度不可改变,
    定义长度不确定的数据集时采用集合:list、map等实现。

    3、@contoller在框架中的作用?

    在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示。

    常和@RequestMapping等注解一起使用,mvc模式中的controller层负责业务组合和跳转,具体实现逻辑在service层。

    4、java只能继承一个类,但能实现多个接口?

    在java中一个类只能继承(extends)一个父类,一个类却能实现(implents)多个接口。

    接口与接口之间却能实现一个接口继承(extends)多个接口。

    5、private修饰的属性,外部引用应该怎么使用?

    实现该类的实例对象,调用该类中关于该属性的get和set方法。

    6、finalize() 方法

    java中垃圾回收机制回收一个对象时调用的第一个方法,finalize方法(只执行一次)在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。
    当GC准备释放一个对象所在的内存的时候,将调用finalize()方法,且在下一次垃圾收集过程中,才会真正回收对象的内存。

    7、向上和向下转型,父类与子类之间

    向上转型:通过子类对象(小范围)实例化父类对象(大范围),属于自动转换。例:Parent p = new Son(); //子类中的重写方法会覆盖父类中方法。
    向下转型:过父类对象(大范围)实例化子类对象(小范围),属于强制转换。例:Son s = (Son) p;//调用一些子类中特有的方法。

    8、java内部类、匿名类

    内部类:在一个类中定义另一个类,内部类可以调用外部类的变量和方法(无论是否静态),内部类中不可以声明类变量和类方法。
    编译字节码文件名为外部类名$内部类名。

    匿名类:没有名称的类,形式一般为:new 父类(){子类内容};//‘父类’为子类需要继承或实现的类和接口,匿名类可以访问外部的成员变量和方法,
    但不可以声明static变量和方法

    9、Hash算法

    散列算法,将任意长度的消息压缩某一个固定长度的消息摘要的函数。

    10、HashMap

    数组+链表形式存储,HashMap由一个主干数组和每个数组元素连接的链表组成。
    主要应用了一些hash函数对存储位置进行了计算,hashCode()、equals()等。
    每一个数组元素包含key,value,next,其中key是唯一的。

  • 相关阅读:
    ios入门笔记(创建隐式首选项,实现系统设置,实现文件系统存储)
    ios开发(表视图)
    Android上使用OpenglES2.0遇到的一点问题
    Android平台对H264视频硬解码
    Java GC机制和对象Finalize方法的一点总结
    JVM GC之一找出不可达对象并回收
    docker 使用Data Volume 共享文件
    sscanf函数用法详解
    va_start和va_end使用详解
    NDK 的helloworld步奏
  • 原文地址:https://www.cnblogs.com/Zxq-zn/p/13182295.html
Copyright © 2011-2022 走看看