面试知识回顾

并不完整 待完善

package cn.itcast.Day14.demo01;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName Demo01.java
 * @Description TODO
 * @createTime 2021年10月11日 11:45:00
 */

public class Demo01 {
    public static void main(String[] args) {
        /**
         * == 和equals的区别是什么
         *  ==是比较运算符 比较的是值 equals默认比较的是地址值
         *
         * 举例说明final修饰符有什么用
         *  final修饰的变量不可改变 修饰的方法不可重写 修饰的类不可继承
         *
         * 抽象类必须要有抽象方法吗
         *  并不是 抽象类中可以有构造方法
         *  抽象类不可以直接new 需要子类实现类
         *  然后抽象类中也可以没有任何方法 这是在后面设计模式中的适配者模式这样玩的
         *
         * List Set Map之间的区别是什么
         *  三者都是实现的Collection接口
         *  其中List底层是数组 属于有序 有索引的 可重复的   子类实现有Vetor集合 过时了 ArrayList集合 增删慢 查询快  常用方法add remove get set LinkedList集合 增删快 查询慢
         *  addFirst addLast getFirst getLast
         *  Set子类实现有Tree集合 HashSet集合 LinkedHashSet集合 没有顺序的 不可重复的  HashSet集合底层是哈希表 数组+链表 或者是数组+红黑树
         *  Map集合 双列体系 添加元素使用put 分为看k,v k键不能重复 v值可以重复 HashMap HashSet集合底层就是一个哈希值 HashTable LinkedHashMap
         *
         *
         * notify()和notifyAll()有什么区别
         *  两者都是 等待唤醒机制 线程通信的方法
         *  notify唤醒多个线程中随机一个
         *  notifyAll唤醒所有等待线程
         *
         * synchronized和Lock有什么区别
         *  都是解决线程安全问题同步代码块
         *  synchronized是同步代码块
         *  Lock是锁机制 同步锁 需要手动上锁lock() 解锁unlock()
         *
         * jsp有哪些内置对象?作用分别是什么
         * session和cookie有什么区别
         *  session没有安全性
         *  session是基于cookie
         *
         * http响应码301和302代表的是什么?有什么区别
         * Mybatis中#{}和${}的区别是什么?
         *
         *
         *使用递归计算1-n之间的和
         *
         */
        int sum = sum(100);
        System.out.println("sum = " + sum);
    }
    public static int sum(int n){
        if (n == 1){
            return 1;
        }
        return n+sum(n-1);
    }
}

おすすめ

転載: blog.csdn.net/nanyangnongye/article/details/120700689