 JVM为每个线程创建一个栈, ...
分类:
编程语言 时间:
2018-11-29 11:17:36
阅读次数:
117
lambda lambda关键字用于创建匿名函数,lambda函数能接收任意数量参数,只能返回一个表达式的值 lambda自带返回值 用一次就清除 格式: lambda函数地址 给lambda起名字 使用: 递归 递归调用:调用一个函数的过程中直接或者间接地调用了该函数本身 递归特性: 递归效率低, ...
分类:
编程语言 时间:
2018-11-29 01:19:25
阅读次数:
203
1.判断对象是否已死的方法可达性分析可作为GCRoots的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性引用的对象。方法区中常量引用的对象。本地方法栈中JNI(即一般说的Native方法)引用的对象。2.垃圾收集算法:标记-清除(MarkSweep)算法:分标记和清除两个阶段,缺点:一是两个阶段效率低,二是产生内存碎片。复制(Copying)算法:把内存平均分为两
分类:
编程语言 时间:
2018-11-19 21:39:48
阅读次数:
210
一、栈的含义 用于描述方法执行的动态内存模型,简单来说就是代码中的方法模块。主要用于局部变量表。栈的大小在编译器中就已经分配了空间,在进入一个方法时,这个方法需要栈帧分配多少内存是固定的,运行期间是不会改变大小。 局部变量表示指:存放编译期可知的各种基本类型和引用类型。 二、栈帧 说到了栈,就不得不 ...
分类:
其他好文 时间:
2018-11-06 22:35:40
阅读次数:
191
2018 2019 1 20165318《信息安全系统设计基础》第八周课上测试 测试 1 ch03 任务详情 通过输入gcc S o main.s main.c,将下面c程序“week04学号.c”编译成汇编代码 删除汇编代码中 . 开头的代码,提交f函数的汇编代码截图,图中用矩形标出函数栈帧的形成 ...
分类:
其他好文 时间:
2018-10-29 00:07:40
阅读次数:
218
第八周课上内容补做 1. 通过输入 将下面c程序”week04学号.c“编译成汇编代码 删除汇编代码中 . 开头的代码,提交f 函数的汇编代码截图,图中用矩形标出函数栈帧的形成和销毁的代码。 结合 "C函数调用机制及栈帧指针" 中的实例,了解了什么命令是函数栈帧的形成以及代码销毁。 2.通过输入 将 ...
分类:
其他好文 时间:
2018-10-28 19:30:33
阅读次数:
186
测试 1 ch03 1. 任务详情 通过输入 ,将下面c程序“week04学号.c”编译成汇编代码 删除汇编代码中 . 开头的代码,提交f函数的汇编代码截图,图中用矩形标出函数栈帧的形成和销毁的代码 2. 知识点 C语言调用机制使用了栈数据结构提供的后进先出的内存管理原则 参考资料 "C函数调用机制 ...
分类:
其他好文 时间:
2018-10-27 01:30:20
阅读次数:
254
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈: 每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方 ...
分类:
其他好文 时间:
2018-10-18 22:07:49
阅读次数:
233
尾调用指的是函数作为另一个函数的最后一条语句被调用。 在ES5的引擎中,尾调用的实现和其他函数调用实现类似: 创建一个新的栈帧,将其推入调用栈来表示函数调用,也就是说,在循环调用中,每一个未用完的栈帧都会被保存在内存中 当调用栈变得过大时会造成程序问题 ES6中的尾调用优化 ES6缩减了严格模式下尾 ...
分类:
其他好文 时间:
2018-10-15 20:26:08
阅读次数:
151