没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
281页
https://arthas777.blog.csdn.net/article/details/133051418,访问链接有详细截图说明 文档目录如下: 基础篇 (45道高级面试题) JVM篇 (33道高级面试题) 高并发编程篇 (46道高级面试题) Spring篇(53道高级面试题) MyBatis篇 (34道高级面试题) SpringBoot篇(38道高级面试题) MySQL(34道高级面试题) SpringCloud篇 (68道高级面试题 Dubbo篇(27道高级面试题) Nginx篇 (23道高级面试题) MQ篇(37道高级面试题) 数据结构与算法篇 (108道高级面试题 Linux篇 (29道高级面试题) Zookeeper篇(35道高级面试题) Redis篇 (42道高级面试题 分布式篇 (32道高级面试题) 网络篇 (28道高级面试题 设计模式 (13道高级面试题 maven篇 (11道高级面试题 ElasticSearch篇 (22道高级面试题 tomcat篇 (12道高级面试题 Git篇 (26道高级面试题 软实力篇 (15方面软实力提升面试成功率)
资源推荐
资源详情
资源评论
BAT 大厂 2023 年 Java 架构师岗面试题(综合版)
基础篇
1、 Java 语言有哪些特点
1、简单易学、有丰富的类库
2、面向对象(Java 最重要的特性,让程序耦合度更低,内聚性更高)
3、与平台无关性(JVM 是 Java 跨平台使用的根本)
4、可靠安全
5、支持多线程
2、面向对象和面向过程的区别
面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一
一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发
面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,
而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特
性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。 但是性能上来说 比面向过程要
低。
3 、八种基本数据类型的大小,以及他们的封装类
基本类型 大小(字节) 默认值 封装类
byte 1 (byte Byte
short 2 (short)0 Short
int 4 0 Integer
long 8 0L Long
float 4 0.0f Float
double 0.0d Double
boolean - false Boolean
char 2 \u0000(null) Character
注:
1.int 是基本数据类型,Integer 是 int 的封装类,是引用类型。int 默认值是 0,而 Integer 默认值
是 null,所以 Integer 能区分出 0 和 null 的情况。一旦 java 看到 null,就知道这个引用还没有指向某个
对象,再任何引用使用前,必须为其指定一个对象,否则会报错。
2.基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间,
必须通过实例化开辟数据空间之后才可以赋值。数组对象也是一个引用对象,将一个数组赋值给另
一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看的见。
虽然定义了 boolean 这种数据类型,但是只对它提供了非常有限的支持。在 Java 虚拟机中没有
任何供 boolean 值专用的字节码指令,Java 语言表达式所操作的 boolean 值,在编译之后都使用 Java
虚拟机中的 int 数据类型来代替,而 boolean 数组将会被编码成 Java 虚拟机的 byte 数组,每个元素
boolean 元素占 8 位。这样我们可以得出 boolean 类型占了单独使用是 4 个字节,在数组中又是 1 个字
节。使用 int 的原因是,对于当下 32 位的处理器(CPU)来说,一次处理数据是 32 位(这里不是指的
是 32/64 位系统,而是指 CPU 硬件层面),具有高效存取的特点。
4、标识符的命名规则。
标识符的含义: 是指在程序中,我们自己定义的内容,譬如,类的名字,方法名称以及变量名称等
等,都是标识符。
命名规则:(硬性要求) 标识符可以包含英文字母,0-9 的数字,$以及_ 标识符 能以数字开头
标 识符不是关键字
命名规范:(非硬性要求) 类名规范:首字符大写,后面每个单词首字母大写(大驼峰式)。 变量
名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。 方法名规范:同变量名。
5、instanceof 关键字的作用
instanceof 严格来说是 Java 中的一个双目运算符,用来测 个对象是否为一个类的实例,用
法 为:
boolean result = obj instanceof lass
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接
或间接子类,或者是其接口 实现类,结果 result 都返回 true,否则返回 false。
注意:编译器会检查 j 是否能转换成右边的 class 类型,如果不能转换则直接报错,如果不
能 确定类型,则通过编译,具体看运行时定。
int i = 0;
System.out.println(i instanceof Integer);//编译不通过 i 必须是引用类型,不能是基本类型
Syst .out.println(i instanceof Object);//编译不通过
Integer integer = new Integer(1);
System.out.println(integer instanceof Integer);//true
//false ,在 JavaSE 规范 中对 instanceof 运算符的规定就是:如果 obj 为 null,那么将返
回 false。
System.out.println(null instanceof Object);
6、Java 自动装箱与拆箱
装箱就是自动将基本数据类型转换为包装器类型(int-->Integer);调用方法:Integer 的
valueOf(int) 方法
拆箱就是自动将包装器类型转换为基本数据类型(Integer-->int)。调用方法:Integer 的
intValue 方法
在 Java SE5 之前,如果要生成一个数值为 10 的 Integer 对象,必须这样进行:
Integer i = new Integer(10);
而在从 Java SE5 开始就提供了自动装箱的特性,如果要生成一个数值为 10 的 Int er 对象,只
需要 这样就可以了:
Integer i = 10;
面试题 1: 以下代码会输出什么?
public class Main {
public static void main(String[] a {
Integer i1 = 100;
Integer i2 = 100;
Integer i3 = 200;
Integer i4 = 200;
System.out ln(i1==i2);
System.out.p ntln(i3==i4);
}
}
运行结果:
true
false
为什么会出现这样的结果?输出结果表明 i1 和 i2 指向的是同一个对象,而 i3 和 i4 指向的是不同的对
象。此时只需一看源码便知究竟,下面这段代码是 Integer 的 valueOf 方法的具体实现:
剩余280页未读,继续阅读
资源评论
- 菲尔米萨卡2024-02-14这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- pad长世界第一2024-03-09这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- weixin_423791932023-12-06感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
- voo00oov2024-02-24简直是宝藏资源,实用价值很高,支持!
- qq_335237952024-03-16发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
心兰相随引导者
- 粉丝: 775
- 资源: 5486
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功