NOT

助教工作总结

# 助教工作总结 #### 一、助教工作的具体职责和任务 我在课程学习中充当老师和同学之间的桥梁作用,收集同学们的学习情况,做好反馈。在云班课上帮老师改实验作业,在QQ群里及时提醒同学交作业,帮忙解答同学的问题,帮助大家。每周做好作业的参考答案发到群里供同学们校对。 #### 二、助教工作的每周时长 ......
工作总结

nginx学习-基础

# 简介 ## 背景介绍 Nginx(“enginex”)一个具有**高性能的【HTTP】和【反向代理】的【WEB服务器】**,同时也是一个【POP3/SMTP/IMAP代理服务器】,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。 ......
基础 nginx

删除Docker镜像报错 image is being used by stopped container ae8f224fe0e1

该报错原因是因为镜像被其他容器引用 1.查询所有容器 包括未运行的 docker ps -a 2. 删除容器 docker rm 5573214dd069 3.删除镜像 docker rmi 9c7a54a9a43c ......
container 镜像 stopped Docker image

3.指针和引用的区别

- 指针是一个变量,存储的是一个地址,需要占用存储空间;引用本质上是一个常量指针,引用跟原来的变量实质上是同一个东西,是原变量的别名 - 指针可以有多级,引用只有一级 - 指针可以为空,引用不能为NULL(必须有具体实体) - 指针声明和定义可以分开,可以先只声明指针变量而不初始化,等用到时再指向具 ......
指针

5.堆和栈的区别

- 申请方式不同。 - 栈由系统自动分配。 - 堆是自己申请和释放的。 - 申请大小限制不同。 - 栈顶和栈底是之前预设好的,栈是向栈底扩展,大小固定,可以通过ulimit -a查看,由ulimit -s修改。 - 堆向高地址扩展,是不连续的内存区域,大小可以灵活调整。 - 申请效率不同。 - 栈由 ......

6.你觉得栈快一点还是堆快一点?

毫无疑问是栈快一点。 因为操作系统会在底层对栈提供支持,会分配专门的寄存器存放栈的地址,栈的入栈出栈操作也十分简单,并且有专门的指令执行,所以栈的效率比较高也比较快。 而堆的操作是由C/C++函数库提供的,在分配堆内存的时候需要一定的算法寻找合适大小的内存。并且获取堆的内容需要两次访问,第一次访问指 ......
还是

7.区别以下指针类型?

```C++ int *p[10] int (*p)[10] int *p(int) int (*p)(int) ``` - int *p[10]表示指针数组,强调数组概念,是一个数组变量,数组大小为10,数组内每个元素都是指向int类型的指针变量。 - int (*p)[10]表示数组指针,强调是 ......
指针 类型

8.new-delete操作与malloc-free的操作异同

**相同点** ●都可用于内存的动态申请和释放 ●new和malloc都可以分配指定大小的内存块,并且分配的内存都在堆上。 ●new和malloc的结果都返回一个指向已分配内存的指针。 ●都允许使用字面量作为参数来分配内存。 **不同点** ●前者是C++运算符,后者是C/C++语言标准库函数 ●n ......
异同 malloc-free new-delete delete malloc

9.new和delete是如何实现的?

- new的实现过程是:首先调用名为**operator new**的标准库函数,分配足够大的原始为类型化的内存,以保存指定类型的一个对象;接下来运行该类型的一个构造函数,用指定初始化构造对象;最后返回指向新分配并构造后的的对象的指针 - delete的实现过程:对指针指向的对象运行适当的析构函数; ......
delete new

10.malloc和new的区别?

- malloc和free是标准库函数,支持覆盖;new和delete是运算符,支持重载。 - malloc仅仅分配内存空间,free仅仅回收空间,不具备调用构造函数和析构函数功能,用malloc分配空间存储类的对象存在风险;new和delete除了分配回收功能外,还会调用构造函数和析构函数。 - ......
malloc new 10

11.既然有了malloc-free,C++中为什么还需要new-delete呢?直接用malloc-free不好吗?

- malloc/free和new/delete都是用来申请内存和回收内存的。 - 在对非基本数据类型的对象使用的时候,对象创建的时候还需要执行构造函数,销毁的时候要执行析构函数。而malloc/free是库函数,是已经编译的代码,所以不能把构造函数和析构函数的功能强加给malloc/free,所以 ......
malloc-free malloc free new-delete 不好

12.被free回收的内存是立即返还给操作系统吗?

不是的,被free回收的内存会首先被ptmalloc使用双链表保存起来,当用户下一次申请内存的时候,会尝试从这些内存中寻找合适的返回。这样就避免了频繁的系统调用,占用过多的系统资源。同时ptmalloc也会尝试对小块内存进行合并,避免过多的内存碎片。 ......
内存 系统 free 12

13.宏定义和函数有何区别?

- 宏在预处理阶段完成替换,之后被替换的文本参与编译,相当于直接插入了代码,运行时不存在函数调用,执行起来更快;函数调用在运行时需要跳转到具体调用函数。 - 宏定义属于在结构中插入代码,没有返回值;函数调用具有返回值。 - 宏定义参数没有类型,不进行类型检查;函数参数具有类型,需要检查类型。 - 宏 ......
函数 13

14.宏定义和typedef区别?

- 宏主要用于定义常量及书写复杂的内容;typedef主要用于定义类型别名。 - 宏替换发生在编译阶段之前,属于文本插入替换;typedef是编译的一部分。 - 宏不检查类型;typedef会检查数据类型。 - 宏不是语句,不在在最后加分号;typedef是语句,要加分号标识结束。 - 注意对指针的 ......
typedef 14

配置了代理之后,git clone等git操作速度依然很慢的解决办法

转: 配置了代理之后,git clone等git操作速度依然很慢的解决办法 ......
git 速度 办法 clone

Windows环境下nvm的安装与使用

nvm全名node.js version management,顾名思义是一个管理多个nodejs的版本工具。通过它可以安装和切换不同版本的 nodejs,为了解决 node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本。 ......
Windows 环境 nvm

mysql处理delete后不释放磁盘空间

myisam:optimize table table_name innodb:alter table table.name engine='innodb’ 1. 问题描述在使用mysql的时候有时候,可能会发现尽管一张表删除了许多数据,但是这张表表的数据文件和索引文件却奇怪的没有变小。这是因为my ......
磁盘 delete mysql 空间

第十二周作业

定义一个点类Point,包含2个成员变量x、y分 别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实 现点的位置移动,创建两个Point对象p1、p2,分 别调用movePoint方法后,打印p1和p2的坐标。 ......

第十三周作业

3、设计三个类,分别如下:(知识点:抽象类及抽象方法)[必做题]•3.1设计Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法(一个是默认的、一个是为颜色赋值的),还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有 ......

容器生命周期配置

1、容器启动命令 spec: affinity: {} containers: - args: - while true; do echo hello; sleep 10; done command: - /bin/sh - -c image: nginx:latest imagePullPolic ......
容器 周期 生命

4.在传递函数参数时,什么时候该使用指针,什么时候该使用引用呢?

●需要返回函数内局部变量的内存的时候用指针。使用指针传参需要开辟内存,用完要记得释放指针,不然会内存泄漏。而返回局部变量的引用是没有意义的 ``` 如果需要返回函数内局部变量的内存,应该使用指针而不是引用。 原因如下: 1.因为引用是对已经存在的变量进行别名,而不是新建一个变量。当函数返回时,函数内 ......
时候 指针 函数 参数

常见的10种排序算法

https://blog.csdn.net/y3over/article/details/86145291 前言排序算法是在生活中随处可见,也是算法基础 算法分类十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时 ......
算法 常见

Java中的四种引用

在Java中,有四种不同的引用类型,它们是: 强引用(Strong Reference):如果一个对象具有强引用,那么即使发生了内存溢出,JVM也不会回收这个对象。强引用是默认的引用类型。 ```java Object obj = new Object(); // obj 拥有强引用 ``` 软引用 ......
Java

2

一、今天干了啥 打游戏,带家长看病,学JAVA,练习电动车 二、遇到了什么问题,打算怎么解决 JAVA变量练习中system.out.println(count)为什么不用打双引号,询问课代表得知,个人理解为等于C语言中的count=d% 三、明天打算干什么 继续学习JAVA,学习离散,练习电动车, ......

1.在main执行之前和之后的代码可能是什么?

**main函数执⾏之前,主要就是初始化系统相关资源:** ■设置栈指针:所谓设置栈,就是将栈指针指向某块内存 ■初始化静态`static`变量和`global`全局变量,即`.data`段的内容 ■将未初始化部分的全局变量赋初值:数值型`short`,`int`,`long`等为`0`,`bool ......
代码 main

MYSQL笔记:删除操作Delete、Truncate、Drop用法比较

1、执行速度比较 Delete、Truncate、Drop关键字都可以删除数据 drop>truncate>delete 2、原理方面 2.1 delete delete属于数据库DML操作语言,只会删除数据表中的记录,会执行事务,执行的时候也会触发触发器。 InnoDB数据库引擎中,执行delet ......
Truncate 笔记 Delete MYSQL Drop

[Leetcode Weekly Contest]350

链接:[LeetCode](https://leetcode-cn.com/contest/weekly-contest-350/) ## [Leetcode]2739. 总行驶距离 卡车有两个油箱。给你两个整数,mainTank 表示主油箱中的燃料(以升为单位),additionalTank 表示 ......
Leetcode Contest Weekly 350

Spark中RDD的Action算子

# RDD的Action算子 Action算子会触发Job的生成,底层调用的是sparkContext.runJob方法,根据最后一个RDD,从后往前,切分Stage,生成Task ![image](https://img2023.cnblogs.com/blog/1742816/202307/17 ......
算子 Action Spark RDD

详细讲解js中的深拷贝与浅拷贝

1.概述 深拷贝与浅拷贝在其它语言中也经常被提及到,在实际项目开发过程中也常常需要区分当前使用的到底是深拷贝还是浅拷贝,有时候在该使用深拷贝的地方,我们使用了浅拷贝,会导致深藏不露的bug。 2.数据类型 在探讨深浅拷贝之前,我们先梳理一下js中的数据类型,js的数据类型分为两类:基本数据类型和引用 ......
拷贝

安卓开发-基础篇(更新中)

# 安卓开发-基础篇 >本篇文章算是自己学习的记录和补充,防止以后忘记。如果能够对大家有所帮助那就更好了。本文将会持续更新(根据本人的学习进度),如有问题,欢迎在评论区留言指正。 ### 目录 [TOC] ### 1.简单控件 #### 1.1 文本显示(Text,Color) ##### 1.1. ......
基础