C函数可以通过堆栈来和Lua交换数据,但有时候C函数需要在函数体的作用域之外保存某些Lua数据,那么我们想到全局变量或static变量,这样做的缺点是:(1)为Lua设计C函数库时,导致不可重入;(2)不是所有的Lua值都能很好的保存到C变量中。那么可不可以将值保存在Lua全局变量里面呢,可以,.....
分类:
其他好文 时间:
2014-08-04 21:25:48
阅读次数:
332
队列和堆栈都是约束版的链表,就像在超市购物,队列是先进先出的数据结构。 接着上一篇,派生于链表类List,来模拟一个队列。namespace LinkedListLibrary{ public class QueueInheritance : List { public QueueInheritan...
分类:
其他好文 时间:
2014-08-04 20:45:57
阅读次数:
232
如何调试分析Android中发生的tombstone Android中较容易出现以下三类问题:Force close / ANR / Tombstone 前两者主要是查看当前的进程或者系统框架层的状态和堆栈就基本可以分析出来,本文主要讨论一下tombstone...
分类:
移动开发 时间:
2014-08-04 18:29:08
阅读次数:
206
在"了解集合本质必须要知晓的概念-链表"中,我们了解了链表的概念和种类,并且模拟了一个单向链表。本篇体验的堆栈是约束版的链表,只能在栈顶接收新节点和释放节点。 堆栈的主要操作是压栈和出栈。压栈是将新节点放在栈顶,出栈是从栈顶取出一个节点,返回新弹出节点的数据项。堆栈也称为后进先出的数据结构。 接着上...
分类:
其他好文 时间:
2014-08-04 17:25:17
阅读次数:
211
Part 1 在C++中,内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1.栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 2.堆,就是那些由new...
分类:
编程语言 时间:
2014-08-04 08:16:46
阅读次数:
287
题目大意:
给定一颗满二叉树的后序遍历,小写字母表示叶子节点,以从下到上,从右到左的顺序输出这棵树。
解题思路:
用堆栈构建二叉树,再用bfs遍历树,用堆栈逆序输出。
注意:构树时,若节点用malloc动态分配会超时。...
分类:
其他好文 时间:
2014-08-03 18:13:15
阅读次数:
277
在多线程存在的环境中,除了堆栈中的临时数据之外,所有的数据都是共享的。如果我们需要线程之间正确地运行,那么务必需要保证公共数据的执行和计算是正确 的。简单一点说,就是保证数据在执行的时候必须是互斥的。否则,如果两个或者多个线程在同一时刻对数据进行了操作,那么后果是不可想象的。 也许有的朋友会说,不....
分类:
编程语言 时间:
2014-08-01 19:17:12
阅读次数:
260
首先是概念层面的几个问题: Java中运行时内存结构有哪几种?Java中为什么要设计堆栈分离?Java多线程中是如何实现数据共享的?Java反射的基础是什么?然后是运用层面:引用类型变量和对象的区别?什么情况下用局部变量,什么情况下用成员变量?数组如何初始化?声明一个数组的过程中,如何分配内存?声明...
分类:
编程语言 时间:
2014-08-01 13:16:51
阅读次数:
330
线程有时候可以被称为微进程或轻量级进程,它的概念和进程十分相似,是一个可以被调度的单元,并且维护自己的堆栈和上下文环境,线程是附属进程的,一个进程可以包含1个或者多个线程,并且同一进程内的多个线程共享一块内存快和资源,一个线程是一个操作系统可调度的基本单元,但同时它的调度受限于包含该线程的进程,.....
分类:
编程语言 时间:
2014-08-01 10:31:01
阅读次数:
202
java string的疑惑
? 创建
? 拼接
在进入答疑之前,先来了解一点基本概念:
String是java的常用类之一,本质是字符数组char[]。String类是final类,不可被继承。关于String的创建,可以通过new来创建对象,也可以直接赋值。但是这两种创建方式的实现机制是不同的。提到对象的创建,我们就会想到堆、栈,这里还有一个string pool的概念,JVM维护...
分类:
其他好文 时间:
2014-07-31 20:54:37
阅读次数:
226