Java近况
之前的很长一段时间都在进行只是沉淀,从入门时的茫然、不知所措,到现在知道如何利用代码去实现一些功能。
在学习过程中,衡量自身的只是沉淀基础,最终确定了自己主攻的方向——测试,在确定方向后,学习目标也明确了不少,对之后所想应聘的公司也有了规划。
学习细节
- 每天都设定一定的学习任务。然后借助学始中碰到的重要知识点和内容进行重要记忆。
(1)、有关局部变量的初始化:
局部变量必须初始化,成员变量和类变量不需要初始化,系统的默认值为:
• 整型 ( byte 、 int 、 short 、 long ): 0
• 浮点型 ( float 、 double ): 0.0
• 布尔型 ( boolean ): false
• 字符型 (char): \u0000
• 引用类型 (例如 String ): null。
(2)、方法通常存储在进程中的哪一区 ?
方法区。
JVM 内存五大区
• 线程私有:
– 程序计数器:用于指示当前线程所执行的节码执行到第几行;每个线程都有一个;
– 虚拟机栈:一个线程的每个方法在执行的时候都会创造一个栈帧,存储局部变量表,操作站,动态链接,方法入口,当每个方法被调用的时候,栈帧入
栈,方法执行完后,栈帧出栈。
– 本地方法栈:本地方法栈在作用,运行机制,异常类型等方面和虚拟机栈相同,区别是:虚拟机栈执行的是 Java 方法,而本地方法栈执行 native 方法。
• 线程共享
– 堆区:堆区是用来存储对象实例。
– 方法区:方法区是线程共享,用于存储已经被虚拟机加载的类信息,包括版本,field,方法,接口等信息,final 常量,静态变量,编译器及时编译的代
码等。方法区上执行垃圾回收很少,所以方法区也被称为永久代码区。 - 进行代码敲写练习(刚开始主要是通过对老师的代码进行重写记忆)。
public class Test1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int[] level = new int[3*n];
for (int i = 0; i < level.length; i++) {
level[i] = in.nextInt();
}
Arrays.sort(level);
long sum = 0;
int i = level.length -1 -1;
for (int j = 0; j < n; j++) {
sum += level[i];
i-=2;
}
System.out.println(sum);
}
}
} - 对测试方向的主要内容进行详细了解和总结。
部分内容:
1.什么是需求?
社交类APP—各类功能
用户需求:用户想要软件实现的功能:实际用户(反馈和需求)/公司的业务人员(针对公司的内部系统)
软件的需求:用户的具体细化,是用户需求具体的实现细节,开发人员要根据软件需求进行软件开发(软件需求是用户需求转化而来的)。
软件开发中的需求:就是满足用户的期望或者合同规定的标准、规范、文档所需要的条件和权限。
2.什么是BUG:
不满足需求的
分为两种情况:
(1)、当软件需求规格(软件需求)存在并且合理 如果软件功能和软件需求规格不相符,我们就说是软件错误。
(2)、当软件需求规格不存在的时候,用户需求存在并且合理,软件功能和用户需求不相符,就是软件错误。
什么是测试用例:
向被测试系统发起的一组组合,这组组合报括测试数据,测试步骤,测试平台,预期结果。