Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
^ 逻辑异或(两边的算子只要不一样,结果就是ture)
&& 短路与
|| 短路或
1、逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型;
2、“短路与(或)”和“逻辑与(或)”最终的结果相同,只不过“短路与(或)”存在短路现象
1、逻辑与&
&左边无论是true还是flase都会计算右边;
int x=10;
int y=8;
System.out.println(x < y & ++x < y);
System.out.println(x);
运行结果为11
2、短路与&&
&&左边若为false则直接短路,右边不再计算(短路现象);
int x=10;
int y=8;
System.out.println(x < y && ++x < y);
System.out.println(x);
运行结果为10
从某个角度来看,短路与更智能,效率更高;
运算符
1、赋值运算符
+=、-=、*=、/=、%=;
byte、short、char混合运算时,先各自转换成int;
byte b=10;
b=b+5;
System.out.println(b);
编译报错,(b+5自动转换成了int类型,所以要想通过编译,需要加强制转换或者使用b+=5)
byte b=10;
b=(byte)(b+5);
b+=5;
System.out.println(b);
以上述例子为例
b+=5和b=b+5并不等同;
b+=5与b=(byte)(b+5)是等同的;
结论:
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型,但有可能会损失;
2、字符串连接运算符
关于java中"+"运算符:
1、+运算符在java语言当中有两个作用:
*加法运算,求和;
*字符串的连接运算;
2、"+"两边的数据都是数字的话一定是加法运算;
3、"+"两边的数据只要有一个数据是字符串,一定会进行字符串的连接运算,连接运算之后的结果还是一个字符串类型;
静态输出
e.g.System.out.println(10+20);//30
System.out.println(10+20+“30”);//“3030”
System.out.println(10+(20+“30”);//“102030”
System.out.println(“10+20=”+a+b);
"10+20="是字符串;
最后
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。
279616)]