在PHP中,除了zval, 另一个比较重要的数据结构非hash table莫属,例如我们最常见的数组,在底层便是hash table。除了数组,在线程安全(TSRM)、GC、资源管理、Global变量、ini配置管理中,几乎都有Hash table的踪迹(上一次我们也提到,符号表也是使用Hash table实现的)。那么,在PHP中,这种数据有什么特殊之处,结构是怎么实现的? 带着这些问题,我们开...
分类:
Web程序 时间:
2014-12-18 22:20:17
阅读次数:
355
像很多购物网站、淘宝,京东等购物网站,细心的朋友都会发现页面的一侧都会有那种浏览过的商品历史记录信息,之前也只是听说这个是使用cookie机制实现的,但是具体怎么实现的还不是很清楚,通过这两天的学习,终于也大致清楚这其中的奥秘,好了,废话不多说了,这两天练习了一个小例子,分享出来,大家共同学习。。。。同时也是自己的一种成长!主要的实现思路就是通过每次点击商品查看信息的时候,传递一个商品编号,然后保存在cookie中,然后从cookie中取出来,去数据库执行相关的查询操作,之后再到页面上进行显示就ok了。。。...
分类:
其他好文 时间:
2014-12-18 22:20:23
阅读次数:
262
#include
#include
#include
#include
#include
#include
using namespace std;
class Node
{
public:
bool vis;
int first;
Node()
{
vis=false;
first=-1;
}
};
template
class Edge
{
public:
int fr...
分类:
其他好文 时间:
2014-12-18 22:18:34
阅读次数:
194
一. 内存存储区的划分:
1.栈区:栈区主要存放函数内部定义的变量,数组.函数调用时,开辟空间,函数执行完毕,回收空间,空间的开辟与回收有系统管理.
2.堆区:堆区最大的特点:空间的开辟与释放有开发人员手动管理.
3.全局区静态区:主要存放函数外部定义的全局变量以及静态变量,空间一旦开辟,就不会回收.直到应用程序执行结束.
4.常量区:存储常...
分类:
移动开发 时间:
2014-12-18 22:18:40
阅读次数:
279
在JDK7之前方法调用的字节码指令共有四条,invokeinterface、invokespecial、invokestatic、invokevirtual。由这四条指令完成Java中所有类型方法的调用。
invokeinterface(调用接口方法)
无符号数indexbyte1和indexbyte2共同组件一个当前类常量池索引(index),该索引值为(indexby...
分类:
其他好文 时间:
2014-12-18 22:19:37
阅读次数:
350
需求:自定义一个ViewGroup,实现可以下拉刷新的功能。下拉一定距离后(下拉时显示的界面可以自定义任何复杂的界面)释放手指可以回调刷新的功能,用户处理完刷新的内容后,可以调用方法onCompleteRefresh()通知刷新完毕,然后回归正常状态。效果如下:
源代码:RefreshableView(https://github.com/wangjiegulu/Refreshab...
分类:
移动开发 时间:
2014-12-18 22:20:41
阅读次数:
370
思路:如果时间复杂度要求是O(n 2 )的话,解法比较多也比较好理解。比如可以遍历,对于当前 i 位置上的立柱,计算出以这个i 立柱结尾的最大矩形,然后求出总的最大矩形。
Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, f...
分类:
编程语言 时间:
2014-12-18 22:18:58
阅读次数:
219
使用Eclipse开发HBase程序的配置步骤
1.新建一个普通的java project.
2.在项目的 属性--java build path--libraries--Add External Jars,添加hadoop安装目录下的hbase-0.90.5.jar和hbase-0.90.5-tests.jar,以及hbase安装目录下的lib目录下的所有jar文件。
3.在项目根目...
分类:
系统相关 时间:
2014-12-18 22:19:20
阅读次数:
380
swift:
NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"]
比如:
if let version = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as? String {
...
分类:
其他好文 时间:
2014-12-18 22:20:09
阅读次数:
192
Why use netty as transport instead of zeromq in Storm...
分类:
Web程序 时间:
2014-12-18 22:19:05
阅读次数:
249
/*
*Author : DavidLin
*Date : 2014-12-15pm
*Email : linpeng1577@163.com or linpeng1577@gmail.com
*world : the city of SZ, in China
*Ver : 000.000.001 *For : reve...
分类:
其他好文 时间:
2014-12-18 22:19:38
阅读次数:
182
如何开启:
1.ViewController实现 UIGestureRecognizerDelegate 协议
class YourViewController: UIGestureRecognizerDelegate {
func viewDidLoad() {
navigationItem.setLeftBarButtonItems([...,...]) //...
分类:
其他好文 时间:
2014-12-18 22:17:05
阅读次数:
280
一、Looper类
首先,你得知道一个类,Looper类,顾名思义,Looper就是循环者的意思,那么Looper类的存在就是为了让一个普普通通的线程变成一个会循环执行的线程,我们可以理解为长生不老药,吃了就能不老。
普通的Thread类只需要执行Looper.prepare()方法就可以循环执行了。
prepare()方法是Looper类的静态方法,如下:
public cla...
分类:
其他好文 时间:
2014-12-18 22:17:16
阅读次数:
281
使用VFW进行视频捕获时,使用capdriverconnect宏连接视频驱动时,
一般方法是
if(capDriverConnect(m_hwnd,0){
//连接视频驱动成功后进行的动作
}
else{
afxMessageBox("视频驱动连接失败!");
}
但是实际使用过程发现,这样用很多情况会连接失败,capDriverConnect()返回值为0;...
分类:
其他好文 时间:
2014-12-18 22:18:23
阅读次数:
220
1 电视机与遥控器
有两种遥控器,蓝牙与红外线。有很多品牌的电视,每种遥控器控制一种电视。根据上面的描述我们很快想到一种实现方式,将遥控器设为一个父类,不同的遥控器去继承扩展他。
简单的继承:
从上图可以看出,有2种遥控器,有3种品牌的电视,一共需要2*3=6个子类。假如遥控器种类是N,电视品牌种类是M,那么最终需要的子类是N*M。
缺点:
1. 这样的实现方式会使得我们的子...
分类:
其他好文 时间:
2014-12-18 22:17:05
阅读次数:
233