首页 > 其他分享 >软件构造课程思考

软件构造课程思考

时间:2023-05-24 21:44:56浏览次数:45  
标签:检查 对象 局部变量 数据类型 静态 课程 思考 类型 软件

Java中的内存管理机制:
栈:栈是一片内存区域,存储的是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量);for循环内部定义的也是局部变量;只有先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。
堆:存储的是数组和对象(数组也是对象),凡是new建立的都是在堆中,堆中存放的都是实体(对象),实体用于封装数据,而且是封装多个(实体的多个属性),如果一个数据消失,这个实体也没有消失,还可以用,所以堆是不会随时释放的。虽然不会被释放,但是如果没有指针指向某个对象,它会被当成垃圾,由垃圾回收机制不定时的收取。
垃圾回收机制:Java中有独有的垃圾回收机制,可以回收不再被引用的对象。
对象类型形成层次结构:
子父类的继承关系,最大的父类是Object类

Boxed primitives:
将基本数据类型包装成对象数据类型,: Boolean, Integer, Short, Long, Character, Float, Double

通常是在定义容器类型的时候使用它们(容器类型操作的元素要求是对象类型,所以需要对基本数据类型进行包装,转换为对象类型)如List,Map,Set等

一般情况下可以和对应的基本数据类型自动转换,但会降低性能,尽量避免使用

运算符
+,-,*,/,()……
字符串可以通过+相连
基本数据类型直接使用运算符;对象可以通过调用相应方法来使用运算符;某些静态方法也可以执行运算(如Math库中的方法)
4.2静态和动态检查
静态类型语言:所有变量的类型在编译时已知,编译器可以推导表达式类型,可以在编译阶段进行类型检查

动态类型语言:变量类型在编译时未知或不需要知道,在运行阶段进行类型检查

一种语言可以提供3种检查:

静态检查:在编译之前进行检查,包括:语法错误、类名/函数名错误、参数数目错误、参数类型错误、返回值类型错误等。针对动态类型的语言会检查除类型以外的其他语法错误,主要关于“类型”的检查(如a是int,b是int,则得出a/b也是int)

动态检查:在运行过程中进行检查,检查非法的参数值,非法的返回值、越界、空指针等。主要关于“值”的检查(接上例,如a = 1,b = 0,执行时发现除0错误)

无检查:不进行检查

静态检查>动态检查>无检查

有些问题静态检查和动态检查都无法检测出来,如整数除法(截断整数)、整数溢出、浮点数的特殊类型:NaN,POSITIVE_INFINITY,NEGATIVE_INFINITY

标签:检查,对象,局部变量,数据类型,静态,课程,思考,类型,软件
From: https://www.cnblogs.com/zzzzzzx/p/17429608.html

相关文章

  • 2023.5.24——软件工程站立会议(阶段二)
    站立会议内容:1.整个项目预期的任务量:目前已经花的时间:剩余的时间:2.任务看板照片: 3.团队照片: 4.产品状态:最新做好的功能:正在完成中5.燃尽图:......
  • (大二下)课程总结——软件工程
    1)回顾你的课程计划(第一周的计划),你完成的程度如何?请列出具体数据和实际例子。  1.你在这门课的计划是什么?参考一些学校的教学,你对这个课程有什么期待?你打算怎样度过这个课程?    计划就是尽力跟上建民老师的节奏同时,还能主动学习一些其他知识。我的期待是希望能跟上建民......
  • 2023.5.24——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 肖sir__面试课程第13讲__面试综合题
    面试综合题============================1、你们的测试流程是怎么样的?(h模型)2、产品如何上线?0bug,100%用例、输出测试报告、uat验收通过3、用例包含哪些部分?用例编号、用例标题、用例步骤、前提条件、预期结果、优先级、实际结果4、常用的设计用例的方法有哪些?常用:等价类、......
  • 我的软考复习笔记【中级软件设计师】
    目录内聚与耦合内聚耦合统一过程(UP)软件体系结构风格软件能力成熟度模型(CMM)集成测试策略软件测试方法黑盒测试白盒测试需求UML分类协作图的边界类控制类实体类怎么区别null用例图的关系泛化(Inheritance)扩展(extend):包含(include):快速辨认类图的符号1.关联2.泛化3.聚合组件图设......
  • 软件工程 期末个人总结
    (1)本学期对第一周提出的计划完成情况。1.基本达到了老师的要求,能够完成老师交给的一个mis系统,完成最基本的增删改查,并把所有的功能都进行流程化。(学生选课管理系统)2.能够实现安卓的开发实现手机端的一个地铁查询系统。(双人团队项目)3.在团队项目中担任队长督促队员完成团队项目,并......
  • 软件工程课程个人总结
    1.关于第一周的计划对于增删改查相对来说比较熟悉,对于测试不那么慌张,从我自身感受来说,无论是上学期的期末还是这学期的开学考试,我整个人都是一个比较慌的状态,就像是高中考数学,明明会做但是因为自己的紧张到处出错,看着一点一点流逝的时间只能更加紧张,但是现在感觉没那么慌张了,或许......
  • 课程个人总结
    在这一学期中,开始提出了目标要求:本学期目标 对于这个目标基本完成,对于AndroidStudio项目有所了解,在项目中完成了Android手机端项目的构建。对于项目来说,了解到项目对我们并非太远,项目也是基于数据库的构建,此外关于条件的限制、界面的美化也是构建项目的基本方法。在对于Androi......
  • 软件工程日报——课程总结
    最近王建民老师给我们布置了一个最新的作业,让我们对软件工程这门课的一学期的学习做一个课程总结。回顾这学期的软件工程的学习,可以说是“历经九九八十一难”,现在想想这“噩梦”般的生活。我确实感觉自己收获了很多。还记得在上半年的这个时候,我专业分流选择了软件工程这个专业,......
  • 电脑远程连接软件推荐
    您可以考虑使用多种可靠的计算机远程连接软件选项来远程连接和控制计算机。以下是一些流行的选项:TeamViewerTeamViewer是一种广泛使用的远程访问软件,以其易用性和跨平台兼容性而闻名。它提供远程控制、文件传输和桌面共享等功能。TeamViewer通过端到端加密提供安全连接,并......