分级查询与递归查询的区别

2013年4月11日 没有评论

概要说明

以oracle数据库hr用户下自带的employees表为例:
要查询出employees表中manager_id为100的雇员的所有下级:

递归查询

在hibernate中可以写如下的hql语句:

"from Employees e where e.manager_id = 100"

递归的方法如下:

public String getEmployeesRoot()
{
	String HQL =“from Employees e where e.manager_id = 100”;
	List list = baseService.getAllByHQL(HQL);
	for(int i=0;i<list.size();i++)
	{
		Employees employees = (Employees) list.get(i);
		Set childNodes = employees.getChilds();
		recursionEmployees (childNodes);
	}
}

private void recursionEmployees(Set childNodes) {
	Iterator it = childNodes.iterator();
	while (it.hasNext()) {
		Employees employees = (Employees) it.next();
		Set node = employees.getChilds();
		if (!node.isEmpty()) {
			recursionEmployees(node);
		}
	}
}

现在对以上的递归查询进行分析:
1、访问数据库的次数:
因为每一个节点在取出来之后都要通过getChild(Set childSet)去取当前节点的子节点,(实际上就是执行from employees e where e.manager_id = ?)并判断是否为空,如果非空则再次进入递归;
所以每一个节点有要请求一次数据库,所有请求次数与树的节点数相同!
2、内存占用程度:
在递归时要存在动态的压栈与弹栈的过程,并随着节点数与节点层数的增加面增加!

阅读全文…

解决div被flash遮挡的问题

2013年4月6日 没有评论

问题描述

页面中有一个flash,在页面最顶部有一个浮动的在线客服div,客服的div被下面的flash所遮挡

解决方法

只需要在flash标签中加入以下两个参数即可

<param name="wmode" value="Opaque">
<param name="wmode" value="transparent">

阿里云服务器硬盘挂载-linux操作系统

2013年4月2日 没有评论

适用范围

适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)
Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作。

查看数据盘

在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:
使用 “df –h”命令
若您执行fdisk -l命令,发现没有 /dev/xvdb 标明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用

阅读全文…

解密Google AdSense申请失败及未通过的原因

2013年3月28日 没有评论

写作背景

      去年应朋友邀请写关于AdSence申请的文章,于是尝试了注册申请。然而,很不幸,在持续一个月的每日申请而后整改将近三十次后,依然没有得到通过。现将具体情况及可能的Google AdSence申请失败原因分享出来,希望对您有所帮助。
      我是用这个博客来申请的,从未有过作弊行为,80%以上文章完全原创,开博将近一年,PR在开博一个月时意外从0到3,而后更新中保持在3,从未主动发过外链,内容质量度在个人看来不算差,侧重网络营销。
      在个人申请AdSence过程中,遇到最多的被拒原因是网站不符合Google AdSence合作规范,然而,至于到底什么地方不符合合作规范,确实不知。其次的问题是“受版权保护的材料:我们发现您的网站上包含受版权保护的材料”,经过一系列整改,不再提示版权问题,然而,不符合合作规范的问题始终无法解决。
阅读全文…

rel=nofollow 是什么意思

2013年3月28日 3 条评论

nofollow是什么意思?

nofollow是html标签的一个属性值,Google推荐使用nofollow,告诉机器(爬虫)无需追踪目标页,是指禁止蜘蛛爬行和传递权重,但是如果你是通过sitemap直接提交该页面,爬虫还是会爬取,这里的nofollow只是当前页对目标页的一种态度,并不代表其他页对目标页的态度。用法:rel=“nofollow”,最初是为了减少垃圾链接对搜索引擎的影响,因为在评论留言页面留下的链接,站长不确定链接指向何处,不知道是不是垃圾链接,所以一般用rel=“nofollow”阻止蜘蛛爬行。

nofollow的使用

nofollow有两种用法:
1.用于meta元标签:

<meta name="robots" content="nofollow" />

告诉爬虫该页面上所有链接都无需追踪。
2.用于a标签:

<a href="login.aspx" rel="nofollow">登录</a>

告诉爬虫该页面无需追踪。

阅读全文…

人生就如做项目

2013年3月28日 没有评论

从项目管理角度看人生,人生其实就如做项目,从项目立项到整个验收的整个全过程
人生就如做项目
阅读全文…

PMP证书领取操作流程

2013年3月26日 没有评论

打开外专局网站

网站地址:http://exam.chinapmp.cn/
外专局网站

阅读全文…

通过日志分析搜索引擎蜘蛛爬虫的行为

2013年3月24日 没有评论

简要说明

做好百度和谷歌优化的第一步就是蜘蛛的抓取,下面的Linux命令可以让你清楚的知道蜘蛛的爬行情况。这里请首先看看日志大小,如果很大(超过50M)建议别用这些命令分析,因为这些命令很消耗CPU,或者抓下来放到分析机上执行,以免影响网站的速度。这些命令都是Linux下的shell命令,在/var/log/apache2/下面可以找到日志文件。access.log这个文件记录的应该是最近一天的日志情况。

阅读全文…

PMP考前必读经验

2013年3月23日 没有评论

下面的是gary老师总结的PMP考前必读经验,希望对参加PMP考试的同学们有所帮助。

PMP考前经验

windows下开启PHP mb_String方法

2013年3月23日 1 条评论

背景

最近一直负责公司的产品研发工作,前几天在整理B2C产品功能列表的时候,为了参考一些成熟的B2C的平台,就在网上下载了两个PHP的版本,结果放在Apache下运行时报错了,说不支持mb_String扩展,最后网上查了下开启方法,挺简单的,就将其整理处理和大家进行分享。

开启方法

1.确保你的Windows/system32下有php_mbstring.dll这个文件,如果没有就从你Php安装目录ext里拷入Windows/system32里面。
2.在windows PHP安装目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll
然后将前面的;号去掉,打开对组件的支持即可
3.重启PHP服务就行