- 博客(44)
- 资源 (39)
- 收藏
- 关注
转载 sql优化
SQL语句: 是对数据库(数据)进行操作的惟一途径; 消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低; 可以有不同的写法;易学,难精通。 SQL优化: 固定的SQL书写习惯,相同的查询尽量保持相同,存储过程的效率较高。 应该编写与其格式一致的语句,包括字母的大小写、标点符号、换行的位置等都
2012-10-30 14:15:22 435
转载 找出两个链表的第一个公共结点
分析:这是一道微软的面试题。微软非常喜欢与链表相关的题目,因此在微软的面试题中,链表出现的概率相当高。如果两个单向链表有公共的结点,也就是说两个链表从某一结点开始,它们的m_pNext都指向同一个结点。但由于是单向链表的结点,每个结点只有一个m_pNext,因此从第一个公共结点开始,之后它们所有结点都是重合的,不可能再出现分叉。所以,两个有公共结点而部分重合的链表,拓扑形状看起来像一个Y,
2012-10-29 16:13:14 531
转载 判断二叉树中两个节点的最低共同父节点
题目:二叉树的结点的定义如下:struct TreeNode { int m_nValue; TreeNode *m_pLeft; TreeNode *m_pRight;};输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。答:#include "stdafx.h"#include #include #inc
2012-10-29 16:03:09 861
转载 颠倒栈
题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。分析:乍一看到这道题目,第一反应是把栈里的所有元素逐一pop出来,放到一个数组里,然后在数组里颠倒所有元素,最后把数组中的所有元素逐一push进入栈。这时栈也就颠倒过来了。颠倒一个数组是一件很容易的事情。不过这种思路需要显示分配一个长度为O(n)的数组,
2012-10-29 15:31:58 587
转载 寻找丑数
1,题意: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。 返回第n个丑数. 2,分析: //类似于筛法寻找素数 创建一个数组,里面的数字是排好序的丑数。里面的每一个丑数是前面的丑数乘以2、3或者5得到的。 我们假设数组中已经有若干个丑数,排好序后存在数组中。现在我们来
2012-10-29 15:20:55 545
转载 通过交换a,b+中的元素,使[序列a+元素的和]与[序列b+元素的和]之间的差最小。
有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b 中的元素,使[序列a 元素的和]与[序列b 元素的和]之间的差最小。例如:var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];分析:假设序列a,b中元素的和为sum_a和sum_b。假设aa和bb分别为序列a,b中的元素,则交换aa,
2012-10-27 10:44:31 562
转载 字符串匹配算法总结
其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为?说实话,想到sunday算法的那个人,绝对是发散思维,绝对牛。当我在被KMP折磨的够呛的时候,我就琢磨,有没有别的好算法呢??琢磨了半天也没想出个所以然来。笨啊,脑子不够发散。下面贴上一位兄弟写的算法总结,很简单(建议KMP部分就不
2012-10-27 09:29:40 891
转载 在排序数组中查找和为给定值的两个数字
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和是不是等
2012-10-25 21:05:25 624
转载 查找最小的k个元素
题目:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。我们可以开辟一个长度为k的数组。每次从输入的n个整数中读入一个数。如果数组中已经插入的元素少于k个,
2012-10-25 20:57:43 942
转载 求二元查找树的镜像,循环和递归两种方式
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / / 6 10// //5 7 9 11输出: 8 / / 10 6// //11 9 7 5
2012-10-25 17:10:41 670
转载 翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。分析:由于编写字符串相关代码能够反映程序员的编程能力和编程习惯,与字符串相关的问题一直是程序员笔试、面试题的热门题目。本题也曾多次受到包括微软在内的大量公司的青睐。由于
2012-10-25 17:01:14 699
转载 判断整数序列是不是二元查找树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / / 6 10 / / / / 5 7 9 11因此返回true。如果输入7、4、6、5,没有哪棵树
2012-10-25 16:58:13 590
原创 使用NIO按行读写文件readLine、writeLine
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.chann
2012-10-24 17:32:20 7046
转载 Spring mvc 中MultiActionController的三种methodNameResolver
三种methodNameResolver分别为:org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolverorg.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolverorg.springframew
2012-10-22 01:26:22 1095
转载 WEB-INF 有关的目录路径问题总结
1、资源文件只能放在WebContent下面,如 CSS,JS,image等.放在WEB-INF下引用不了. 2、页面放在WEB-INF目录下面,这样可以限制访问,提高安全性.如JSP,html 3、只能用转向方式来访问WEB-INF目录下的JSP,不用采用重定向的方式请求该目录里面的任何资源.如图:index.jsp >> main.jsp 4、
2012-10-21 23:25:14 873
原创 Spring配置文件总结
首先来看一个标准的Spring配置文件 applicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframew
2012-10-21 20:45:44 737
转载 Spring访问会话session的四种策略
WEB 应用通常会引入 Session,用来在服务端和客户端之间保存一系列动作/消息的状态,比如网上购物维护 user 登录信息直到 user 退出。在 user 登录后,Session 周期里有很多 action 都需要从 Session 中得到 user,再验证身份权限,或者进行其他的操作。这其中就会涉及到程序去访问 Session属性的问题。在java中,Servlet 规范提供了 Http
2012-10-21 16:03:46 1184
转载 Spring Controller详解
MVC模型中的控制器负责解析用户的输入信息,并将之变换处理后传入一个model,而这个model则可能被呈现给发起请求的用户。Spring以非常 抽象的方式体现了控制器的理念,从而开发人员在创建controller时将有多种选择。Spring包含了3类controller:处理HTML表单 的controller,基于command的controller,和向导风格的controller。
2012-10-21 15:50:32 2102
转载 java 线程同步
下面是我原来在CSDN论坛上看到的一个贴子,涉及到同步,wait(),notify()等概念的理解,我试着根据原来的一些回复和Think in Java上的相关概念将wait()和notify()这两个方法剖析了一下,欢迎指教.问题如下:file://分析这段程序,并解释一下,着重讲讲synchronized、wait(),notify 谢谢!class ThreadA {
2012-10-18 23:30:38 417
转载 CAS 单点登陆
什么是单点登陆单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。单点登陆的技术实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据
2012-10-16 15:01:57 1298
原创 表格删除某行后行号不连续问题解决办法
ExtJS自带表格组件中的行号, new Ext.create('Ext.grid.RowNumberer',{'text':'行号',flex:1}),var tagGrid=Ext.create('Ext.grid.Panel',{ hidden:true, store:tagStore, viewConfig:{ columnsText: '列'
2012-10-15 14:26:11 3529
转载 syslog 作为日志系统
1. 为什么要用 syslog?使用 syslog 的最大理由就是可以集中处理日志,通常一个中小型的服务端10来台机器,如果日志集中到一台服务器处理起来就非常方便。其次,你可以很方便地利用 syslog-ng 这一类的服务器来对日志进行分流,在只需要跟踪某一种类型的日志时就比较方便。除此之外,用文件做日志在部署时总会出现目录不存在,目录没有权限的情况,而用 syslog 就
2012-10-11 15:04:38 874
转载 如何利用Log4j将不同级别,不同package中Log输出到不同的文件中
Log4j对我来说从来就是一笔糊涂账, 基本上就是从其他项目中, 或网上找一段下来依葫芦画瓢,反正都是无关痛痒的东西,从来没有仔细研究过。最近做了个小项目,客户把Log看的比业务都重要,不得已又要提高自己了,仔细研究了一下,终于从稀里糊涂里走出来了。本文不打算详细的介绍Log4j, 所以,诸如Log的 level(级别), Appender (输出目的地),Layout(输出格式)以及
2012-10-11 14:50:15 1598
转载 log4j 实例详解
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址:http://logging.apache.org/log4j/1.2/download.html 我们先看一个最简单的示例:【示例1】项目结构:【注:由于这里的多个项目公用
2012-10-11 14:27:20 826
转载 常见的Hash算法
简介哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量。一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision rate)。一般来说,对任意一类的数据存在一个理论上完美的哈希函数。这个完美的哈希函数定义是没有发生任何碰撞,这意味着没有出现
2012-10-10 22:57:13 669
转载 十道海量数据处理面试题与十个方法大总结
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几
2012-10-10 09:50:34 522
转载 从hadoop框架与MapReduce模式中谈海量数据处理
前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理。 由此,最近凡是空闲时,便在看“Hadoop”,“MapReduce”“海量数据处理”这方面的论文。
2012-10-10 09:47:35 480
转载 海量数据处理之Bloom Filter详解
前言 本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题。如果有任何问题,欢迎不吝指正。谢谢。一、什么是Bloom Filter Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的
2012-10-10 09:45:40 439
转载 教你如何迅速秒杀掉:99%的海量数据处理面试题
前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后
2012-10-10 09:41:37 431
原创 利用异或求解 N^N=0 N^0=N
1题:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现 一次。每个数组元素只能访问一次,设计一个算法,将它找 出来;不用辅助存储空 间,能否设计一个算法实现?显然已经有人提出了一个比较精彩的解法,将所有数加起来,减去1+2+...+1000的和。这个算法已经足够完美了,相信出题者的标准答案也就是这个算法,唯一的问题是,如果数列过大,则可能会导致
2012-10-10 09:25:28 1568
原创 java 实现的Dijstra算法
import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;public class Dijstra { private List arcs; private List vertexs; pri
2012-10-10 00:12:34 763
原创 网页中adobe PDF显示,js控制pdf页面滚动
在网页中使用PDF文档:用户可HTML 标记从 HTML 文档链接到PDF文档。当网络用户单击HTML 页上的该链接时,PDF 文档打开。该文档可充满整个浏览器窗口,或启动作为帮助应用程序的一个 Acrobat 阅读器,这取决于用户如何配置其网络浏览器 。以下例子使用 链接到一个 PDF 文档:您也可指定打开 PDF 文档后可对它执行的动作。例如,您可能想打开文
2012-10-09 16:28:17 5127 1
转载 Js 检测客户端是否安装Acrobat pdf阅读器
function isAcrobatPluginInstall(){//如果是firefox浏览器if (navigator.plugins && navigator.plugins.length) {for (x=0; x<navigator.plugins.length;x++) {if (navigator.plugins[x].name== 'Adobe Acrobat')ret
2012-10-09 10:05:02 1679
转载 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
1.首先整合Spring和Hibernate①引入jar包:hibernate核心安装包下的:hibernate3.jarlib\required\*.jarlib\optional\ehcache-1.2.3.jarhibernate 注解安装包下的lib\test\slf4j-log4j12.jarSpring安装包下的:
2012-10-08 20:29:18 602
转载 使用SiteMesh控制页面布
一、SiteMesh项目简介 OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration) 的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。 Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的
2012-10-07 10:42:28 581
转载 使用Freemaker的示例(和servlet的搭配使用)
总体目录结构如下:搭建完成后,效果和示例二是一样的。1.新建项目FreemakerS ,将freemaker.jar 拷入lib下;2.在新建com.shiryu.freeServlet.model包里新建以下文件:实体类Guestbook.javapackage com.shiryu.freeServlet.model;public class Guestbo
2012-10-07 10:14:04 1746
转载 使用FreeMarker模板生成java代码的例子
第一步.新建一个模板文件以.ftl结尾。IDAO.ftl [java] view plaincopypackage com.media.dao; import java.util.List; import com.media.bean.${model_name}; import com.media.excep
2012-10-07 09:53:13 1972
转载 表现层 freemaker学习3
4、杂项(1)用户定义指令l 宏和变换器变量是两种不同类型的用户定义指令,它们之间的区别是宏是在模板中使用macro指令定义,而变换器是在模板外由程序定义,这里只介绍宏l 基本用法Ø 宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量,下面是一个例子:greet> Hello Joe! Ø
2012-10-07 09:47:05 486
转载 表现层 freemaker学习3
3、模板(1)整体结构l 模板使用FTL(FreeMarker模板语言)编写,是下面各部分的一个组合:Ø 文本:直接输出Ø Interpolation:由${和},或#{和}来限定,计算值替代输出Ø FTL标记:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出Ø 注释:
2012-10-07 09:46:15 623
转载 表现层 freemaker学习2
2、数据模型(1)基础l 在快速入门中介绍了在模板中使用的三种基本对象类型:scalars、hashes 和sequences,其实还可以有其它更多的能力:Ø scalars:存储单值Ø hashes:充当其它对象的容器,每个都关联一个唯一的查询名字Ø sequences:充当其它对象的容器,按
2012-10-07 09:42:28 392
ssd3 practical quiz 10
2011-05-07
ssd3 practical quiz 8
2011-05-07
ssd3 practical quiz 7
2011-05-07
ssd3 practical quiz 6
2011-05-07
ssd3 practical quiz 5
2011-05-07
ssd3 practical quiz 3
2011-05-07
ssd3 practical quiz 2
2011-05-07
ssd3 practical quiz 1
2011-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人