美文网首页
大话java面试-java基础-1

大话java面试-java基础-1

作者: 3419123dbd18 | 来源:发表于2018-05-02 16:28 被阅读0次

1、int 和 Integer 有什么区别,Integer的值缓存范围

int是基本类型,Integer是int的包装类。Integer的缓存范围默认是-128到127.最大值 127 可以通过 JVM 的启动参数 -XX:AutoBoxCacheMax=size 修改。Integer对象内部维护了一个IntegerCache静态内部类。注意只有short long int byte char会缓存,注意范围。Integer具体讲解

2、装箱和拆箱

装箱:把基本类型封装为对象。拆箱:对象转换为基本类型的值。

涉及到运算的时候就会自动拆箱,如:

Integer a = 1;

Integer b = 2;

Long g = 3L;

System.out.println(g==(a+b));

System.out.println(g.equals(a+b));

返回结果是true和false

==如果有运算,比较的是基本类型的数值,不是对象,a+b会自动拆箱为基本类型,然后==会自动比较Long对象的数值,所以==为true;

equals方法并不会进行类型转换所以返回false.深入剖析Java中的装箱和拆箱

3、反射的用途及实现原理

反射是指获取类的属性、方法和对象,并可以调用对象的方法。

反射的用途有IOC、动态代理、动态加载类

如果调用public以外的方法需要设置setAccessible(true),双检锁和静态内部类单例可以反射破解。

通过newInstance方法调用class对象的构造方法获取对象实例,

4、说说自定义注解的场景及实现

jdk一共有三个注解@Override @Deprecated @SuppressWarnings

如果要自定义注解的话需要用元注解@Targer@Retention@Inherited@Documented

通过反射的Class对象的getAnnotation方法获取注解实现类

注解的话可以了解下lombok插件 注解的妙用

5、HTTP协议

TCP的三次握手和四次挥手    

6、Java序列化和反序列化

对象实现Serializable 接口可以进行序列化。

transient可以阻止变量序列话,反序列化后获取的是初始值。

通过ObjectOutputStream和ObjectInputStream对对象进行序列化及反序列化。

序列化 ID不一致也不能反序列化,序列化并不保存静态变量。

arraylist为了序列化时不保存数组里的null值重写了writeObject和readObject方法。arraylist序列化优化

7、Object类中常见的方法,为什么wait  notify会放在Object里边?

wait notify必须是在synchronized代码块里,因为是对持有当前锁的线程进行操作。因为锁住的是任意对象,所以任意对象都可以使用wait方法。sleep方法的线程不会释放对象锁。

相关文章

  • 大话java面试-java基础-1

    1、int 和 Integer 有什么区别,Integer的值缓存范围 int是基本类型,Integer是int的...

  • Java基础面试大全

    Java基础面试 Java基础面试... 1 1. Java基础知识... 5 1.1. Java源程序的扩展名是...

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • Java基础汇总

    [ 面试题 ] java基础 面试 | java基础 最近5年133个Java面试问题列表 40个Java集合面试...

  • java实习生面试题题库

    java实习生面试题,java基础面试,java面试题2018及答案,java面试题库 1、[一个.java源文件...

  • java实习生面试题_java基础面试_java面试题2018及

    java实习生面试题,java基础面试,java面试题2018及答案,java面试题库1、一个.java源文件中是...

  • 大话java面试-java基础-3

    1、ReentrantLock和Synchronized的区别,以及实现原理 ReentrantLock是java...

  • 大话java面试-java基础-4

    1、序列化和反序列化的底层实现 序列化是指把对象转化成字节流,反序列化是指把字节流转化成对象。 实现了Serial...

  • 大话java面试-java基础-2

    1、AtomicLong和LongAdder的区别,Atomic解决ABA问题 LongAdder更高效并发高的情...

  • 2019java最新面试题

    java面试宝典,java基础面试,2018java面试题,2019java最新面试题 1、[请对以下在J2EE中...

网友评论

      本文标题:大话java面试-java基础-1

      本文链接:https://www.haomeiwen.com/subject/myrilftx.html