小林coding-17道Java基础面试题
1.说一下Java的特点?Java 的优势和劣势是什么?Java为什么是跨平台的?JVM、JDK、JRE三者关系?为什么Java解释和编译都有? jvm是什么?编译型语言和解释型语言的区别? Python和Java区别是什么?
2.八种基本的数据类型?int和long是多少位,多少字节的?long和int可以互转吗 ?数据类型转换方式你知道哪些?类型互转会出现什么问题吗?为什么用bigDecimal 不用double ?装箱和拆箱是什么?
3.Java为什么要有Integer? Integer相比int有什么优点?那为什么还要保留int类型?说一下 integer的缓存?
4. 怎么理解面向对象?简单说说封装继承多态?多态体现在哪几个方面?多态解决了什么问题?面向对象的设计原则你知道有哪些吗?重载与重写有什么区别?
5.抽象类和普通类区别? Java抽象类和接口的区别是什么?抽象类能加final修饰吗? 接口里面可以定义哪些方法?抽象类可以被实例化吗?接口可以包含构造函数吗?
6.解释Java中的静态变量和静态方法非静态内部类和静态内部类的区别?非静态内部类可以直接访问外部方法,编译器是怎么做到的?
7.Java 中 final 作用是什么?
8.深拷贝和浅拷贝的区别?实现深拷贝的三种方法是什么?
9.什么是泛型?java创建对象有哪些方式?Java创建对象除了new还有别的什么方式?New出的对象什么时候回收?如何获取私有对象?
10.什么是反射?反射在你平时写代码或者框架中的应用场景有哪些?能讲一讲Java注解的原理吗?对注解解析的底层实现了解吗? Java注解的作用域呢?
11.介绍一下Java异常?Java异常处理有哪些?抛出异常为什么不用throws?try catch中的语句运行情况? try{return “a”} fianlly{return “b”}这条语句返回啥
12. == 与 equals 有什么区别?hashcode和equals方法有什么关系? String、StringBuffer、StringBuilder的区别和联系?
13. Java 8 你知道有什么新特性?Lambda 表达式了解吗?Java中stream的API介绍一下?Stream流的并行API是什么?completableFuture怎么用的?Java 21 新特性知道哪些?
14.怎么把一个对象从一个jvm转移到另一个jvm?序列化和反序列化让你自己实现你会怎么做?将对象转为二进制字节流具体怎么实现?
15.volatile和sychronized如何实现单例模式?代理模式和适配器模式有什么区别?
16.Java怎么实现网络IO高并发编程?BIO、NIO、AIO区别是什么?NIO是怎么实现的?你知道有哪个框架用到NIO了吗?
17.有一个学生类,想按照分数排序,再按学号排序,应该怎么做? Native方法解释一下?