• java随记2


    1、Arrays

    java8里新添加了parallelSort等parallel开头的方法,表示利用cpu并行的能力

    2.面向对象

    如果继承树里的某个类要被初始化时,系统将会同时初始化该类的所有父类

    子类不会获得父类的构造器,但子类构造器可以使用super调用父类构造器。但super调用也必须出现在构造器第一行,所以super和this不会同时出现。 

    另外,不管是否使用super调用来执行父类构造器,子类构造器总会调用父类构造器一次。因为系统会在执行子类构造器前,隐式调用父类无参数的构造器,父类会先调用更父类的构造器,所以最先执行的总是java.lang.Object类的构造器。 

    多态 
    java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态。 
    当把一个子类的实例对象直接赋给父类引用变量时,这个引用变量的编译类型是父类,运行类型是子类,所以当运行时调用该引用变量的方法时,总是表现出子类的方法,于是:相同类型的变量,调用同一个方法时,呈现多种不同的行为特征,这就是多态。 
    与方法不同的是,变量则不具有多态性,调用时依然是父类的变量值。 
    引用变量在编译阶段只能调用其编译类型所具有的方法,但运行时则执行它运行时类型所具有法方法,因此,多态时,可通过反射来调用父类所不具有的子类法方法。

    递归

    public static int fn(Integer n){
            if(n.equals(0)){
                return 1;
            }
            if(n.equals(1)){
                return 4;
            }
            return 2*fn(n-1)+fn(n-2);
        }

    1、如果一个包装类和一个基本类型比较大小,或者是两个基本类型进行比较大小,直接用==就好; 
    如果是两个包装类进行比较大小,那么使用equals(),返回值是true,false,或者使用Xxx.compare(),返回值是1,0,-1。(这里的equals()方法,已经被包装类重写过了,不是Object的equals()) 
    2、==和equals方法的区别 
    当使用==来判断两个变量是否想等时,比较的是栈内存中的值,如果两个变量是基本类型变量,且都是数值类型,那么栈内存中个存放的是基本类型变量的值,所以只要两个基本类型变量的值想等,就会返回true。但对于两个引用类型变量,由于栈内存中存放的是变量的引用,所以只有当这两个引用类型变量指向同一个对象是,==才会返回true。==不可用于比较类型上没有父子关系的两个对象。 
    equals()方法是Object类的一个实例方法,但这个方法和==没区别。不过String类和基本类型的包装类重写了这个equals()方法,不再比较引用对象的引用地址,而是比较所引用的值。 

    系统自动为接口里的成员变量添加public static final修饰符. 
    所以接口里定义int MAX = 50;和定义 public static final int MAX = 50;的意义是一样的.

    3.Lambda表达式示例

    Runnable r = () -> {
                for (int i = 0; i < 100; i++) {
                    System.out.println(i);
                }
            };
            
            new Thread(r,"线程1").start();
            new Thread(r,"线程2").start();

    Lambda表达式只能实现一个函数式接口(只有一个抽象方法的接口)

    跟匿名内部类有很大的相似处

     4.强制垃圾回收

    System.gc()

    Runtime.getRuntime().gc();

    重写finalize()方法,可以看出是否执行了垃圾清理

  • 相关阅读:
    Android Lint简介
    免费HTTP数据抓包Fiddler2[4.6.1.2]以及显示中文包内容的方法
    IE6、7下bug
    图表插件
    学习:使用svg
    jQuery Transit
    jQuery基础学习笔记(1)
    HTTP协议详解学习
    html5学习笔记
    html释疑
  • 原文地址:https://www.cnblogs.com/lakeslove/p/7354374.html
Copyright © 2020-2023  润新知