JVM

Collection

多线程

Java 值传递

Java 中只有值传递。值传递的含义是将实参的值传递给形参,当参数类型是基本数据类型时,传递的是实参的值,当参数类型是对象时,传递的是对象的引用,但是不能让实参引用新的对象。

尾递归

当递归调用是方法中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。

封装

将对象的属性和操作封装在类内部,对外界隐藏内部实现。

继承

子类继承父类的特征和行为

多态

父类类型可以使用子类实例,向上转型。实际调用,根据子类类型调用。

初始化块

静态在类初始化执行, 非静态在对象初始化执行

static {
        System.out.println("Static initialization of Main");
    }

    {
        System.out.println("Instance initialization of Main");
    }

默认修饰符

不加任何可见性修饰符称为默认修饰符,此时类成员可以在同一个包里的任何类中访问。

String、StringBuffer 和 StringBuilder