1.用if+return代替复杂的if...else(if+return) 2.尽量减少对变量的重复计算(for循环的用法) 明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的,包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。所以例如下面的操作: 建议替换为: 这样,在li ...
分类:
编程语言 时间:
2017-11-03 14:08:43
阅读次数:
185
Java的内存管理机制JVM运行时的数据区域:程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区,运行时常量池,(直接内存) 按照线程共享分类:线程独有 1.程序计数器,占用非常小的空间,用于维护线程切换时执行过程的正确性 2.Java虚拟机栈:Java线程没执行一个方法都会生成一个栈帧, ...
分类:
编程语言 时间:
2017-10-31 22:24:32
阅读次数:
221
概述 Garbage Collection, GC:1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集器技术的语言。 程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在 ...
分类:
其他好文 时间:
2017-10-24 21:04:35
阅读次数:
190
1.概述 垃圾收集(Garbage Collection,GC). 当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。 Java内存运行时,程序计数器、虚拟机栈、本地方法栈三个区域随线程生,随线程灭;栈中的栈帧随方 ...
分类:
其他好文 时间:
2017-10-24 19:40:43
阅读次数:
125
2017-2018-1 20155208 《信息安全系统设计基础》第五周学习总结 学习目标 理解逆向的概念 掌握X86汇编基础,能够阅读(反)汇编代码 了解ISA(指令集体系结构) 理解函数调用栈帧的概念,并能用GDB进行调试 教材内容总结 执行汇编命令:gcc –s xxx.c –o xxx.s反 ...
分类:
其他好文 时间:
2017-10-22 21:04:31
阅读次数:
173
2017-2018-1 20155336 《信息安全系统设计基础》第五周学习总结 学习目标 理解逆向的概念 掌握X86汇编基础,能够阅读(反)汇编代码 了解ISA(指令集体系结构) 理解函数调用栈帧的概念,并能用GDB进行调试 教材学习内容总结 本章概述: 本周学习了c提供的抽象层下面的东西,了解机 ...
分类:
其他好文 时间:
2017-10-22 11:00:45
阅读次数:
171
引言 执行引擎在执行Java代码时可能会有解释执行(解释器执行)和编译执行(JIT产生本地代码执行)。 运行时栈帧结构 栈帧存储了局部变量表、操作数栈、动态链接、方法返回地址。执行引擎运行的所有字节码指令都只针对虚拟机栈顶的栈帧而言。 局部变量表 局部变量表(Local Variable Table ...
分类:
其他好文 时间:
2017-10-18 14:53:26
阅读次数:
206
解析式其目的主要用来减少编程行数,并减少栈帧从而达到代码优化的效果In[6]:[i**2foriinrange(11)]Out[6]:[0,1,4,9,16,25,36,49,64,81,100]将生产环节元素表达式放在最前面列表解析语法[返回值for元素可迭代对象if条件]使用中括号表示,内部for为循环跟if条件可选,返回一个新..
分类:
编程语言 时间:
2017-10-06 21:19:38
阅读次数:
215
1 什么是frame pointer frame pointer指向本函数栈帧顶,通过它可以找到本函数在进程栈中的位置。有专门的寄存器保存该值。 2 frame pointer有什么用 主要是backtrace用,每个函数的frame pointer保存在其后调用的函数的栈帧中。因此可以得到调用层级 ...
分类:
其他好文 时间:
2017-10-06 13:25:37
阅读次数:
213
一、Debug视图 调试中最常用的窗口是: 另外辅助的窗口有: 1)窗口全览: 2)Debug View(线程堆栈视图): debug视图允许您在工作台上管理正在调试和运行的程序,他显示了你正在调试的程序中挂起的线程的堆栈帧,程序中的每个线程作为树的节点出现。他展示了正在运行的每个目标的进程。如果线 ...
分类:
系统相关 时间:
2017-10-02 14:29:09
阅读次数:
278