java面试知识
一、Java基础知识
1、数据类型
数值3.1415926的数据类型默认为double型,如果为float型需要在数字后加上f/F
2、字符串运行速度
运行速度排序:StringBuilder > StringBuffer > String
字符串常量存储在常量池, 而new String 创建的字符串是参数字符串的副本。
执行下面的语句会创建了几个字符串
String str = new String("hello");
3、Integer自动装箱、拆箱
-128到127是byte的取值范围,如果在这个取值范围内,自动装箱就不会创建对象,而是从常量池中获取,如果超过了byte取值范围就会创建新对象
4、==和 equals 的区别是什么?
1)、对于==,如果是基本数据类型的变量,则比较其存储的“值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址
2)、对于equals方法,equals方法不能使用在基本数据类型的变量,如果没有对equals方法进行重写,则比较的是引用类型变量所指向的对象的地址(默认实现);而类似String类等,对equals方法进行了重写的话,比较的是所指向的对象的内容
5、创建对象的方式
6、构造方法
constructor在一个对象被new时执行,可省略,可定义多个constructor
7、数组
8、抽象类、接口
接口允许多继承
接口没有提供构造方法;
接口中的方法默认使用 public、abstract 修饰;
接口中的属性默认使用 public、static、final 修饰
9、final, finally, finalize3个关键字的区别
1、final修饰的类,不能有子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。
被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。
被声明为final的方法也同样只能使用,不能重载。
2、finally 是在异常处理语句中使用。如果抛出一个异常,那么相匹配的 catch 子句就会执行,最后会进入 finally 块的代码。
3、finalize方法名。它是 Object 类中定义的,因此所有的类都继承了它,子类可以复写 finalize() 方法来整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
10、重载、重写
11、封装
12、继承
13、this和super
14、多态
15、异常
16、ArrayList和LinkedList
17、HashMap和HashTable
18、Math 类
JDK定义了许多有用的类,其中一个是Math类,它为数学运算提供了预定义的方法。你不需要创建Math类的对象来使用它。要访问它,只需输入Math. 和相应的方法。
Math.abs() 返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。
int a = Math.abs(5); // 5
int b = Math.abs(-10); // 10
Math.ceil() 将一个数进行上舍入,返回值大于或等于给定的参数。
double c = Math.ceil(6.231); // 7.0
Math.floor() 将对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。
double f = Math.floor(6.231); // 6.0
Math.max() 用于返回两个参数中的最大值。
int m = Math.max(5,10); // 10
相反,Math.min() 用于返回两个参数中的最小值。
int m = Math.min(5,10); // 5
Math.pow() 用于返回第一个参数的第二个参数次方。值以double形式返回。
double p = Math.pow(2,3); // 8.0
19、IO流详解
1.将文件写出(保存)到磁盘。
2.读入磁盘的文件
3.复制文件
4.将对象写出(保存)到磁盘
5.读取磁盘的对象
20、静态相关执行顺序
二、Java框架知识
1、SpringBoot启动配置原理
面试小点
二、查看电脑cpu
一、cmd进入命令行,输入指令dxdiag查看电脑cpu
java工作经验
自学编程实战网站:
how2j.cn
蓝桥
Java知识分享网
开源项目
楠老师的学习园地
基础教程
菜鸟教程 :https://www.runoob.com/
W3cschool :https://www.w3school.com.cn/
代码上传
码云 : https://gitee.com/
GitHub:https://github.com/
在线学习
慕课:
https://www.imooc.com/utm_term=%E6%85%95%E8%AF%BE&utm_campaign=SEM&utm_source=bdppxg
黑马:
http://yun.itheima.com/?jingjiahmpz-pz-pc-biaoti
尚硅谷:
http://www.atguigu.com/
Python3简明教程:
综合教程,划分了很多不同类别的知识板块:https://segmentfault.com/a/1190000021089844
Python/Java/C++/Scala code example:
可以搜索想要学习的代码示例,通过例子模仿学习:https://www.programcreek.com/python/
LearnPython:
这个网站是为每个学习python编程语言的人准备的:https://www.learnpython.org