最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
例如平时有这样的用法
for(int i=0;i<10;i++)
{
a[i+1]=a[i]
}
这个i+1就是整数型表达式 或者a[5+3]就是a[8]
1.2、 局部变量必须初始化的问题&局部变量的细节知识点
下列代码中的错误原因是(尚未初始化变量)
(1) public class Test
(2) {
(3) public static void main(String [] args)
(4) {
(5) int i;
(6) i+=1;
(7) }
(8) }
尚未初始化变量
类变量(静态变量static)在类加载过程的准备阶段会进行一次赋值,一般是空值或constantValue属性值,同时在初始化阶段会调用类构造器再进行一次赋值。
而实例变量在创建对象时会调用实例构造器进行一次赋值。
因此无论是类变量还是实例变量,在使用前都是非空的。
而局部变量没有初始化过程,在使用前必须赋值,初始化。
局部变量:方法定义中或者方法声明上。
局部变量:在内存的栈中。
局部变量:随方法的调用而存在,随着方法的调用完毕而消失。
局部变量:没有默认值,必须定义,赋值,然后才能使用
2、对字符串对象的引用指向理解及toUpperCase方法的测试
================================
String x=“fmn”;
x.toUpperCase();
String y=x.replace(‘f’,‘F’);
y=y+“wxy”;
System.out.println(y);
本题输出结果是Fmnwxy
针对本题掌握了如下知识点:
String x=“fmn”; “fmn”是在常量池里的不可变对象。
x.toUpperCase(); 在堆中new一个"FMN"对象,但无任何引用指向它。
String y=x.replace(‘f’,‘F’); 在堆中 new一个"Fmn"对象,y指向它。
y=y+“wxy”; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。
作用:用于把字符串中转换为大写
语法:stringObject.toUpperCase()
返回:一个新的全部大写的字符串。
提示:原字符串不改变。
我们做了如下测试:
构建字符串,如果只对字符串调用这个方法,那么相当于在堆上搞了一个对象出来,但是没有引用指向这个对象。
即: 在堆中new一个"全大写的"对象,但无任何引用指向它。
如果声明一个字符串型变量String1指向它,测试结果如下
然后这个toUpperCase()方法是将字符串中全部小写转换成大写字母。
3、final修饰符
==========
面试准备+复习分享:
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦
]