1. 什么是不可变类型 变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间。 不可变类型: 数字(int,long,float) 布尔(bool) 字符串(string) 元组(tuple) 案例一 结果: 两个不同的数字 案例二: 结果: 两个不同的数字 2. 什么是 ...
分类:
编程语言 时间:
2020-10-06 20:15:20
阅读次数:
21
1.变量的定义:变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。 2.变量的声明:用于向程序表明变量的类型和名字。程序中变量可以声明多次,但只能定义一次 变量的声明有两种情况 (1) 一种是分配内存空间的(声明)。例如:int a在声明的时候就已经分配了 ...
分类:
编程语言 时间:
2020-09-23 23:06:10
阅读次数:
38
线程与进程 进程: 程序的一次执行, 它占有一片独有的内存空间 可以通过windows任务管理器查看进程 线程: 是进程内的一个独立执行单元 是程序执行的一个完整流程 是CPU的最小的调度单元 关系 一个进程至少有一个线程(主) 程序是在某个进程中的某个线程执行的 浏览器内核模块组成 主线程 js引 ...
分类:
编程语言 时间:
2020-09-23 23:00:40
阅读次数:
36
1.垃圾标记阶段算法 在堆里存放着几乎所有的Java对象实例,在Gc执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,Gc才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。那么在JVM中究竟是如何标记一个死亡对 ...
分类:
编程语言 时间:
2020-09-18 01:30:02
阅读次数:
36
运行时数据区 程序计数器/PC寄存器 线程私有,程序计数器是一块较小的内存空间,当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变计数器的值来选择下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成。 如果线程在执行java方法,计数器记录 ...
分类:
编程语言 时间:
2020-09-17 23:11:27
阅读次数:
31
参考博客1 参考博客2 在PyTorch中,有一些对Tensor的操作不会真正改变Tensor的内容,改变的仅仅是Tensor中字节位置的索引。这些操作有: narrow(), view(), expand(), transpose() 例如执行view操作之后,不会开辟新的内存空间来存放处理之后的 ...
分类:
其他好文 时间:
2020-09-17 19:51:01
阅读次数:
21
并发与并行并发:两个或者多个事件在同一时间段发生(交替执行)并行:两个或者多个事件在同一时刻发生(cpu多核、同时执行)线程与进程进程:是一个内存中运行的应用程序,有自己独立的内存空间,一个应用程序至少有一个进程,一个进程至少有一个线程;线程:线程是进程中的一个执行单元,是CPU调度和分派的基本单位,能独立运行的基本单位,同一进程中的多个线程之间可以并发执行。线程调度:分时调度:所有线程轮流使用C
分类:
编程语言 时间:
2020-09-17 13:05:06
阅读次数:
35
链表是一种常见的数据结构,链表是由一连串的结点组成,这个节点就是链结点,每个链结点都由数据域和指针域两部分组成。使用链表结构可以克服数组结构需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
分类:
其他好文 时间:
2020-09-14 19:09:09
阅读次数:
25
链表是一种常见的数据结构,链表是由一连串的结点组成,这个节点就是链结点,每个链结点都由数据域和指针域两部分组成。 使用链表结构可以克服数组结构需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间 ...
分类:
其他好文 时间:
2020-09-12 21:51:25
阅读次数:
59
malloc / free 两者都是C语言标准库cstdlib中的系统调用函数,在C++中这个库成了stdlib.h 。 void *malloc(size_t size); malloc函数从内存中分配一段长度为size的连续内存,并返回这段连续内存空间的首地址,赋值给等号左方的指针变量。使用如: ...
分类:
编程语言 时间:
2020-09-12 21:39:53
阅读次数:
37