堆栈类: package?c15; public?class?LinkedStack<T> { ???????private?static?class?Node<T> { ????????????T?item?; ????????????Node<T>?next?; ?????????...
分类:
编程语言 时间:
2014-09-17 12:16:02
阅读次数:
237
优化linux系统:1.安装精简的系统安装包。2.配置高速国内yum源。3.禁止开机不必要的服务。4.优化系统内核参数/etc/sysctl.conf5.增加系统文件描述符,堆栈等配置。6.禁止root远程登陆,修改ssh端口为特殊端口,禁止DNS,空密码。7,有外网IP的机器要开启配置防火墙,仅对外开启..
分类:
系统相关 时间:
2014-09-16 12:51:21
阅读次数:
293
别踩白块儿之禅模式 windows程序实现
代码如下
#include
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain( //程序入口,WINAPI是一种函数调用约定,用于表明如何生成在堆栈中放置调用参数的机器代码
HINSTANCE hInstance //实例句柄,标识该程序
, ...
用两个栈实现队列的效果,可以入栈,出栈,判空等。。。
实现的栈基本功能
lstack.h
#ifndef _LSTACK_H
#define _LSTACK_H
#include
using namespace std;
// 基于链式表的堆栈
class Stack {
public:
// 构造过程中初始化为空堆栈
Stack (void) : m_top (NULL) {}
/...
分类:
其他好文 时间:
2014-09-15 22:56:39
阅读次数:
481
当把一个值类型赋值给引用类型,这个过程可以看作是"装箱"。 object a = 10;
以上,堆栈上的过程大致是:1、在栈上开辟空间给变量a2、在堆上开辟空间,习惯上把该空间看作是"箱子"3、把10"装箱" 变量a指向堆上值为10的对象,换句话说,变量a的值是堆上对象的地址。 现在,如果我们想让a...
分类:
其他好文 时间:
2014-09-15 17:18:19
阅读次数:
183
摘要:string是编程中使用最频繁的类型。一个string表示一个恒定不变的字符序列集合。string类型直接继承自object,故他是一个引用类型,也就是说线程的堆栈上不会有任何字符串(直接继承自object的类型一定是引用类型,因为所有的值类型都继承自System.ValueType。值得指出...
分类:
其他好文 时间:
2014-09-15 10:00:18
阅读次数:
280
堆”和“栈”是独立的概念平常说的“堆栈”实际上是两个概念:“堆”和“栈”。在英文中,堆是heap,栈是stack,不知道什么时候,什么原因,在中文里,这两个不同的概念硬是被搞在一起了,所以,围绕这个...
分类:
其他好文 时间:
2014-09-14 22:14:19
阅读次数:
221
预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事...
分类:
其他好文 时间:
2014-09-14 20:40:47
阅读次数:
431
当我们的程序core掉之后,如果能获取到core时的函数调用堆栈将非常有利于定位问题。在Windows下可以使用SEH机制;在Linux下通过gdb使用coredump文件即可。
但有时候由于某些错误导致堆栈被破坏,发生拿不到调用堆栈的情况。
一些基础预备知识本文不再详述,可以参考以下文章:
函数调用栈的获取原理分析寄存器、函数调用与栈帧
需要知道的信息:
函数调用对应的call...
分类:
编程语言 时间:
2014-09-14 18:09:07
阅读次数:
261
与普通递归相比,由于尾递归的调用处于方法的最后,因此方法之前所积累下的各种状态对于递归调用结果已经没有任何意义,因此完全可以把本次方法中留在堆栈中的数据完全清除,把空间让给最后的递归调用。这样的优化便使得递归不会在调用堆栈上产生堆积,意味着即时是“无限”递归也不会让堆栈溢出。这便是尾递归的优势。有些...
分类:
其他好文 时间:
2014-09-13 21:17:45
阅读次数:
262