小言_互联网的博客

java复习+面试总结(1)

323人阅读  评论(0)

1.Java基本数据类型及其封装类型

基本类型 封装类型
int(32位) Integer
byte(8位) Byte
short(16位) Short
long(64位) Long
float(32位,单精度) Float
double(64位,双精度) Double
boolean(1位) Boolean
char(16位) Character

区别:

基本类型 封装类型
按值传递 引用传递(地址传递)
不用通过new创建 可以通过new创建,也可以直接赋值
存储在栈中 引用存储在栈中 ,值存储在堆中
速度快 慢(涉及内存分配和垃圾回收)

封装类型是为了方便使用一些基本类型不具备的方法,如valueOf()、toString()

2.JDK和JRE区别

JDK JRE
Java Development Kit Java Runtime Environment
Java开发运行环境 Java运行环境
Java开发工具包,JDK包含JRE 包含Java虚拟机、Java基础类库

3.equals与==的区别

== equals hashCode()
基本类型比较值,引用类型比较堆内存地址 引用类型比较值,比较字符串 作用同equals
  • hashCode效率高于equals,为什么还要equal?
    hashCode不是完全可靠,不同的对象生成的hashCode值也可能一样,equals完全可靠;先用hashCode()对比,不一样表示两个对象肯定不相等,若hashCode相同,则对比equals(),若equals()也相同,则两个对象一定相同,这样提高而效率也保证了对比的准确性

4.final关键字在Java中有什么作用

  • 修饰类时,类不能被继承
  • 修饰属性,属性不能够被修改
  • 修饰方法,方法不能被重写

5.java 中的 Math.round(-1.5) 等于多少

答案:-1

  • Math.round():返回四舍五入
  • Math.ceil():返回小数所在两整数间的较大值
  • Math.tail():返回小数所在两整数间的较小值

6. Switch可以用的参数种类

  • JDK1.7之前,只支持byte、short、char、int这几个基本数据类型以及对应的封装类型,switch实际上只支持int类型,但由于其它三种类型可自动转换为int型,所以也支持
  • JDK1.7之后,整型、枚举类型、布尔型、字符串都支持,调用String.hashCode将String转换为int判断

7.Object有哪些公用方法

  • Java单一继承体系中Object类是根类,所有的类都继承它,并继承Object的公用方法
方法 作用
*clone方法:*protected Object clone() 创建并返回此对象的副本
*equals方法:*boolean equals(Object obj) 指示某个其它对象是否与此对象“相等”
*finalize方法:*protected void finalize 由垃圾回收期确定不存在该对象的更多引用时,由对象的垃圾回收器调用,释放资源
getClass方法:Class<? extends Object> getClass() 返回一个对象的运行时类
*hashCode方法:*int hashCode() 返回该对象的哈希值
*notify方法:*void notify() 唤醒在此对象监视器上等待的单个线程
*notifyAll方法:*void notifyAll() 唤醒在此对象监视器上等待的所有线程
*toString方法:*String toString() 返回该对象的字符串表示
*wait方法:*void wait() 导致当前的线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法
*wait方法:*void wait(long tmeout) 导致当前的线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法,或者超过指定的时间量
*wait方法:*void wait(long tmeout, int nanos) 导致当前的线程等待,直到其他线程调用此对象的notify()方法或notifyAll()方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量

8.Java的四种引用,强弱软虚,用到的场景

强引用 弱引用 软引用 虚引用
String str=new String(“abc”) SoftReference softRef=new SoftReference(str) WeakReference abcWeakRef = new WeakReference(str) -----------
强引用存在,对象就不会被垃圾回收器回收 内存足够,则不会回收,内存不足,就会被回收掉 只要垃圾回收器线程发现了弱引用对象,直接回收 对对象的声明周期不产生影响。主要功能是追踪对象被垃圾器回收的活动,必须和引用队列联合使用

转载:https://blog.csdn.net/weixin_44188566/article/details/105536464
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场