javaee 第八周作业】的更多相关文章

hashcode()和equals()的作用.区别.联系 先来试想一个场景,如果你想查找一个集合中是否包含某个对象,那么程序应该怎么写呢?通常的做法是逐一取出每个元素与要查找的对象一一比较,当发现两者进行equals比较结果相等时,则停止查找并返回true,否则,返回false.但是这个做法的一个缺点是当集合中的元素很多时,譬如有一万个元素,那么逐一的比较效率势必下降很快.于是有人发明了一种哈希算法来提高从该集合中查找元素的效率,这种方式将集合分成若干个存储区域(可以看成一个个桶),每个对象可以…
作业地址 第八周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1847 (作业界面已评分,可随时查看,如果对自己的评分有意见请私聊助教) 提交情况如图: 实验二作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1818 (作业界面已评分,可随时查看,如果对自己的评分有意见请私聊助教) 提交情况如图: 结对编程第一周作业:https://edu.c…
2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-output -S -o hello.s hello.cpp gcc -x assembler -c hello.s -o hello.o-m32 gcc -o hello hello.o 娄老师在第一次讲课时很生动的使用:"E->S->C"与"I->S->…
2017-2018-1 JAVA实验站 第八周作业 详情请见团队博客…
2017-2018-1 JaWorld 第八周作业 团队分工 成员 分工 陈是奇 统计成员工具选择 马平川 类图 王译潇 编码规范 李昱兴 用例图 林臻 状态图 张师瑜 推进工作进展.写博客 UML 需求规格说明书里已经练习过了整个系统的UML设计,这里不需要对整个系统建模,只需要每个团队成员找到自己负责部分的核心或最复杂模块做UML练习 用例图 类图 状态图 活动图 工具选择   王译潇:手画➕画图   林臻:手画➕画图   李昱兴:staruml   马平川:staruml   画图的优点:…
<Linux内核原理与设计>第八周作业 视频学习及操作分析 预处理.编译.链接和目标文件的格式 可执行程序是怎么来的? 以C语言为例,经过编译器预处理.编译成汇编代码.汇编器编译成目标代码,然后链接成可执行文件,再将可执行程序加载到内存中执行,过程可以通过下图展示(其中预处理已省略): 可执行文件的创建--预处理.编译和链接: cd Code vi hello.c gcc –E –o hello.cpp hello.c –m32 //预处理,把include的文件包含进来及宏替换等工作 vi…
<Linux内核原理与分析>第八周作业 一.本周内容概述: 理解编译链接的过程和ELF可执行文件格式 编程练习动态链接库的两种使用方式 使用gdb跟踪分析一个execve系统调用内核处理函数sys_execve 二.本周学习内容: 1.理解编译链接的过程和ELF可执行文件格式 ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西.以及都以什么样的格式去放这些东西.它自最早在 System…
这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第八周作业> 这个作业的目标 <Linux内核如何装载和启动一个可执行程序> 作业正文 https://www.cnblogs.com/wzyxiaowang/p/14057173.html 一.知识点: 1.预处理.编译.链接和目标文件的格式 (1)预处理阶段 :编译器将C源代码中包含的头文件编译进来和执行宏替换等工作. gc…
团队六七周作业 团队分工 UML图 工具选择 小编(金立清)有话说 参考资料 团队分工 返回目录 UML图 用例图 类图 活动图 状态图 返回目录 工具选择 ProcessOn - 免费在线作图,实时协作 选择理由: 1.在线免费 2.海量的流程图模板 3.跨平台 4.可小组共享 返回目录 小编(金立清)有话说 每次面对新的团队任务都很懵圈,不知道究竟要干啥[尽管娄老师上课提示过&后来又问过王老师怎么理解]一开始按照组长的意见,我们商定每个人画出自己当初写规格说明书那部分的四种图,但当春旺找到了…
实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异常类的方法. 实验内容 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在catch子句里捕获此异常对象,并且打印"数组越界"信息,加一个finally子句,打印一条信息以证明这里确实得到…
1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 思维导图: 2. 书面作业 2.1ArrayList代码分析 2.1.1 解释ArrayList的contains源代码 源代码: public boolean contains(Object o) { return indexOf(o) >= 0; } public int indexOf(Object o) { if (o == null) { for (int i = 0; i < size; i++) if (…
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于高阶题目的做法 参考文献与网址 C语言程序设计II(第三版) C语言的教学 题目:函数实现字符串逆序 本题要求实现一个字符串逆序的简单函数. 函数接口定义: void f( char *p ); 函数f对p指向的字符串进行逆序操作.要求函数f中不能定义任何数组,不能调用任何字符串处理函数. 裁判测试程序样例: #includ…
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1400 一.评分要求 要求1 完成14.15周的所有PTA中题目集,总共4次题,每次25分,取4次成绩的平均分作为要求一的得分.若存在抄袭现象,倒扣此题所有分数(25分). 要求2 将14.15周所有PTA题目集中任意题目写在博客里,比如在做PTA作业过程中用时最多的.错误比较多的可以记录在博客里,但请注意如果你所写的题目没有错误,请给出为何耗时比较多,或者为何觉得比较难的理…
本章的作业依旧包括两部分,1.阅读学习教材「Linux内核设计与实现 (Linux Kernel Development)」第教材第11,12章. 2.学习MOOC「Linux内核分析」第六讲「进程的执行和进程的切换」,并完成实验楼上配套实验六. 在本次试验中,我们首先新建了一个hello.c的文件,并在里面编辑简单的输出hello world的代码. 调用命令gcc -E -o hello.cpp hello.c -m32编辑出预处理的中间文件hello.cpp.预处理负责把include的文…
一 .可执行程序的装载 1. 预处理.编译.链接 gcc –e –o hello.cpp hello.c //预处理 gcc -x cpp-output -S -o hello.s hello.cpp //编译 gcc -x assembler -c hello.s -o hello.o-m32 //汇编 gcc -o hello hello.o //链接成可执行文件,使用共享库 用gcc -o hello.static hello.o -static静态编译出来的hello.static把C库…
Linux内核如何装载和启动一个可执行程 一.实验 1.1理解编译链接的过程和ELF可执行文件格式. 1.1.1编译链接过程 能用图说明的问题,就少用文字描述: 1.1.2ELF可执行文件 ELF可执行文件中有三种主要的目标文件: 一个可重定位文件保存着代码和适当的数据,用来和其他的object文件一起创建一个可执行文件或者是一个共享文件.主要是.o文件. 一个可执行文件保存着一个用来执行的程勋:该文件指出了exec如何创建程序进程映像. 一个共享object文件保存着代码和合适地数据,用来被下…
攥写人:李鹏举 学号:20179203 ( 原创作品转载请注明出处) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ) 一.实验要求: 1.理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节: 2.编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习动态链接库的这两种使用方式,详细内容参考本周第二节: 3.使用gdb跟踪分析一个…
理论 task_struct的结构关系 非常庞大的数据结构,400多行代码.包括对进程链表的管理,控制台,文件系统描述,文件描述符,内存管理描述,信号描述等. 创建一个新进程在内核中的执行过程 fork.vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_fork来实现进程的创建:Linux通过复制父进程来创建一个新进程,那么这就给我们理解这一个过程提供一个想象的框架: 复制一个PCB--task_struct err = arch_dup_task_struct(ts…
第一部分:实验 首先还是网易云课堂的学习,这次的课程是进程的创建和进程的描述. linux进程的状态与操作系统原理中的描述的进程状态有些不同,例如就绪状态和运行状态都是TASK_RUNNING. Linux对系统中的每个进程都用一个独立的 task_struct 结构进行表示和管理.其中 task_struct 结构体如下所示: struct task_struct { volatile long state; //进程状态/* -1 unrunnable, 0 runnable, >0 sto…
团队任务:UML设计 团队组长:袁逸灏 本次编辑:刘伟康 团队分工 第一次使用泳道图,感觉非常方便,从图中的箭头和各个活动框中可以清晰地看出分工流程: 不过既然是博客园,分工就不能只贴图,markdown还是要用的,于是我用markdown表格统计了本次组员用时.完成度和贡献比例: 成员 完成度 用时 贡献比例 袁逸灏 [100%] 3.0 18% 刘伟康 [100%] 6.0 22% 刘先润 [100%] 4.0 18% 马军 [100%] 2.0 16% 刘诚昊 [100%] 2.0 14%…
学习笔记 1.ELF目标文件格式 编译器生成目标文件,目标文件与目标平台二进制兼容. ELF:可执行或可链接的格式,是目标文件格式标准. ELF类型: 可重定位文件:编译器汇编器创建的 .o 文件,最后所有的 .o文件链接为同一个linux内核. 可执行文件:多个可重定位文件结合成可执行文件,除了运行时解析的共享库,其他重定位工作全部完成. 共享目标文件:共享库,被其他可执行文件调用. 如何看待ELF文件: 可执行文件:程序头表描述的段的集合,段包含节. 可重定位文件:节头表描述的节的集合 EL…
只有在天足够黑的时候你才能看到星星. BY WAY GK 加油 一.书本第七章知识总结[可执行程序工作原理] 1. ELF目标文件格式 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标文件)格式主要三种: 1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标 文件或者静态库文件,即linux通常后缀为.a和.o的文件) 2)可执行文件…
一 .可执行程序工作原理 程序编译 预处理:gcc -E hello.c -o hello.i 编译:gcc -S hello.i -o hello.s -m32 汇编:gcc -c hello.s -o hello.o -m32 链接:gcc hello.o -o hello -m32 -static 其中用gcc -o hello.static hello.o -static静态编译出来的hello.static把C库里需要的东西也放到可执行文件里了,所以hello.static比较大. E…
equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Object的hashCode()方法的计算依赖于对象实例的D(内存地址),故每个Object对象的hashCode都是唯一的:当然,当对象所对应的类重写了hashCode()方法时,结果就截然不同了. 之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合…
分析代码: public final class LineItemKey implements Serializable { private Integer customerOrder; private int itemId; public LineItemKey() {} public LineItemKey(Integer order, int itemId) { this.setCustomerOrder(order); this.setItemId(itemId); } @Overrid…
第一部分 课本学习 ELF文件(目标文件)格式主要三种: 1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件.(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件) 2)可执行文件:文件保存着一个用来执行的程序.(例如bash,gcc等) 3)共享目标文件:共享库.文件保存着代码和合适的数据,用来被下连接编辑器和动态链接器链接.(linux下后缀为.so的文件.) 一般的 ELF 文件包括三个索引表: 1)ELF head…
#linux内核分析学习笔记 --第七章 可执行程序工作原理 学习目标:了解一个可执行程序是如何作为一个进程工作的. ELF文件 目标文件:是指由汇编产生的(*.o)文件和可执行文件. 即 可执行或可连接的文件.目标文件是已经适应某一种CPU体系结构上的二进制指令. 目标文件的格式可以分为: a.out COFF PE(windows)和ELF(linux) ELF就是可执行和可连接的格式,是一个目标文件的标准格式.ELF是一种对象文件格式,用于定义不同类型的对象文件中都有什么内容.以什么样的格…
课本:第七章 可执行程序工作原理 ELF目标文件格式 目标文件:编译器生成的文件. 目标文件的格式:out格式.COFF格式.PE(windows)格式.ELF(Linux)格式. ELF(Executable and Linkable Format)即可执行和可链接的格式,是一个目标文件格式的标准.ELF格式的文件用于存储Linux程序. ELF文件的3钟类型:可重定位文件.可执行文件.共享目标文件. 可重定位文件:这种一般是中间文件,还需要继续处理.由汇编器和编译器创建,一个源代码文件会生成…
一 理解编译链接的过程和ELF可执行文件格式 这张图说明了可执行程序的产生 大致过程为 .c文件汇编成汇编代码.asm, 然后再汇编成目标码.o, 然后链接成可执行文件a.out, 这时可执行文件就可以加载到内存中执行了. 目标文件的格式 目标代码(objectcode)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成.目标文件(objectfile)即存放目标代码的计算机文件,它常被称作二进制文件(binaries),这种文件是体系结构相关的.L…
编译链接的过程 编译就是把文本形式源代码翻译为机器语言形式的目标文件过程. 链接是把目标文件.操作系统的启动代码和用到的库文件进行组织最终形成可执行代码的过程. 对于GCC来说,编译源代码并最终形成可执行的二进制文件,分为以下四个步骤: 预处理.在该阶段,编译器将C源代码中的包含的头文件如stdio.h编译进来.使用GCC的选项"-E",生成".i"文件. 编译阶段.在这个阶段中,Gcc首先要检查代码的规范性.是否有语法错误等,以确定代码的实际要做的工作,在检查无误…