- Java中堆和栈的区别
- 答:值类型,是存放在栈中的
- 引用类型,堆中存放对象,栈中存放对象的内存地址。
- java中==和equals和hashCode的区别
- 答:==:一般是用于比较两个值类型是否相等,如果用于比较引用类型,则要求两个对象的引用指向了堆中同一位置
- equals:默认情况下与==的含义是一致的。但Java中常见的8大包装类型(int,float等)String类实际上是对equal方法进行了重写,他们比较的是值是否相同。其他引用类型则要求两个对象的引用指向了堆中的同一位置。
- hashCode:一般是用在集合中快速比较两个元素是否相同,
- equals 与 hashcode: https://blog.youkuaiyun.com/DanielAnton/article/details/80517390
- java 中有哪些常见的不可变类(immutable),不可变类的优缺点有哪些
- 包括 Integer,Long,Double,String等,最典型的是String,它的优点包括:
- 线程安全考虑
- 可以用作构建常量池
- 类加载器需要通过反射来获取类实例,要求String不可变才安全
- 因为不可变,在创建的时候hash值就被缓存了,所以搜索速度很快,常被用作map中的键值
- 它的缺点包括:
- 一旦需要修改,就要创建大量的String对象
- java中String的理解
- https://blog.youkuaiyun.com/chen_zhang_yu/article/details/51647651
- int、char、long各占多少字节数
- int与integer的区别
- int是值类型,integer是包装类型
- https://www.cnblogs.com/guodongdidi/p/6953217.html
- 谈谈对java多态的理解
- 同一个函数调用可以根据调用对象的不同,在运行时执行不同的逻辑。多态实现的技术称为动态绑定技术,它的好处就是解除类之间的耦合性。主要实现方式包括:继承父类进行方法重写,实现接口,在类中对方法进行重载
- String、StringBuffer、StringBuilder区别
- 什么是内部类?内部类的作用
- 抽象类和接口区别
- 抽象类的意义
- 抽象类与接口的应用场景
- 抽象类是否可以没有方法和属性?
- 接口的意义
- 泛型中extends和super的区别
- 父类的静态方法能否被子类重写
- 进程和线程的区别
- final,finally,finalize的区别
- 序列化的方式
- Serializable 和Parcelable 的区别
- 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
- 静态内部类的设计意图
- 成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用
- 谈谈对kotlin的理解
- 闭包和局部内部类的区别
- string 转换成 integer的方式及原理