- 博客(96)
- 资源 (4)
- 收藏
- 关注
原创 用Spring写系统日志(AOP技术)
<br />url:http://blog.sina.com.cn/s/blog_4f9ce8f30100k3dn.html<br />导论:为了系统维持和排查错误的需要,有时我们需要程序自动的写日志,将用户的操作记录下来。在这里,可以使用Spring的AOP技术。我们可以写一个切面,并且指定切入的范围(切入点),当系统运行后,日志信息将可以自动记录在指定的文件或数据库中。<br /><br />流程:<br />1、定义切面(Log4jHandlerAOP类,它包含记录信息的内容)--->
2010-09-30 10:18:00 1361
转载 关于IoC的介绍
<br /><br />TraceBack:http://www.blogjava.net/cmzy/archive/2008/07/15/214971.html<br />我的书中的一段,贴出来。呵呵。大伙儿拍砖哦!by:张勇<br /><br /><br /> IoC即Inversion of Control,控制反转。它不是一种编程技术,而是一种设计模式。利用它,可以促进应用程序组件或类之间的松散耦合。一般的情况下,我们需要自己创建对象的实例,比如在Computer类中创建一个打印机的实例:1P
2010-09-30 10:07:00 719
原创 字符串逆转(不使用临时变量)
<br />实际上还是那个XOR的操作:<br />void exchange(char *str){ int i=0,j=0; for(i=0,j=strlen(str)-1;i<j;i++,j--){ str[i]^=str[j]; str[j]^=str[i]; str[i]^=str[j]; }}int main(){
2010-09-30 09:44:00 1000
原创 itoa与atoi的实现
<br />// my_itoa.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>//字符转化成整数int my_atoi(char s[]){ //确定符号 int i=0; for(i=0;is
2010-09-29 21:17:00 635
原创 最多的字母
<br />给你一个字符串,包含了空格等标点符号,要你计算出出现次数最多的字母和该字母出现的次数。<br />/* ============================================================================ Name : mostLetters.c Author : Version : Copyright : Your copyright notice Description :
2010-09-29 17:58:00 1042
原创 C语言实现bitmap,取两个数组的交集等操作
<br />bitmap的基本操作:<br />#include <stdio.h>#include <stdlib.h>#define WORD 32#define SHIFT 5 ////移动5个位,左移则相当于乘以32,右移相当于除以32取整#define MASK 0x1F //16进制下的31#define N 10000000/* * 置位函数——用"|"操作符,i&MASK相当于mod操作 * m mod n 运算,当n = 2的X次幂的时候,m mod n =
2010-09-29 17:30:00 4502
原创 C实现bitmap位图
<br /> 事实上,我们是用每一个元素表示一个32位的二进制字符串,这样这个元素可以保留相邻32个号码是否存在的信息,数组范围就下降到10000000/32了.例如对于号码89256,由于89256 mod 32=2789…8,这样我们应该置a[2789]中32位字符串的第8位(从低位数起)为1.<br />基本的操作:<br />#define WORD 32#define SHIFT 5 ////移动5个位,左移则相当于乘以32,右移相当于除以32取整#define MASK 0
2010-09-29 17:08:00 8259 2
原创 位图排序
<br />1.位图的理解 <br />我们都明白图形格式中位图储存方式,其实就是以象素为单位的小方块,一格一格的纵横累积起来. 每一个小方块代表一种颜色,当然,如果对于黑白的二色图来说更加简单,只需要一个bit位即可表示. 这和我们的数据在计算机中的存储格式是相似的,内存条的也像是一格一格的bit位纵横交错而成. 因为这样的启发,我们发现一个个bit位象列队一样排列着,顺序相当严谨,如果我们的数据能够通过一种转换方式(逻辑上)能有序的和bit位一一对应起来的话,那么我们按照bit位的顺
2010-09-29 16:01:00 1640
原创 mergesort归并排序
<br />#include <stdio.h>#include <stdlib.h>#include "common.h"#define UNLIMIT 65555void merge(int *array,int p,int q,int r){ int n1=q-p+2; int n2=r-q+1; int *left=(int*)calloc(sizeof(int),n1); int *right=(int*)ca
2010-09-29 11:05:00 832
原创 Cassandra的编译以及使用
<br />1.下载源代码:<br /> 可以采用最新版的源代码(当前是0。6。5),也可以采用git或者svn进行源代码的获取,这个是最新的源代码库。下载完以后,如果是在windows下,需要设置ant的路径到path;而一般在linux下已经安装了ant,所以不需要进行设置。切换到cassandra,执行ant命令,然后调用ivy下载依赖库,需要很久的时间。。然后会自动编译源代码,会发现自动生成gen-java文件夹,里边是根据Cli.g声称的parser和lexer。之前使用IDE的时候发现无法
2010-09-28 21:52:00 2627
原创 quicksort快速排序
<br />#include <stdio.h>#include <stdlib.h>void exchange(int *a,int *b){ int tmp; tmp=*b; *b=*a; *a=tmp;}int partition(int* array,int s,int e){ int x=*(array+e);//最后的值 int i=s-1;//较慢 in
2010-09-28 11:28:00 838
原创 爱因斯坦出的题目,你能答出来吗
<br />1. 在一条街上有5座房子,喷了5种颜色.<br />2. 每个房里住着不同国籍的人.<br />3. 每个人喝不同的饮料,抽不同的品牌的香烟,养不同的宠物.<br />4. 英国人住红房子.<br />5. 瑞典人养狗.<br />6. 丹麦人喝茶.<br />7. 绿色房子在白房子的左面.<br />8. 绿色房子的主人喝咖啡.<br />9. 抽Pall Mall 香烟的人养鸟.<br />10. 黄色房子的主人抽Dunhill香烟.<br />11
2010-09-27 21:37:00 1389
原创 虚析构函数
<br /> 虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。 <br /> 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明虚析构函数。 抽象类是准备被用做基类
2010-09-27 20:26:00 719
原创 Spring,struts,hibernate常见的面试笔试题汇总(3)
<br />JAVA相关基础知识 <br />1、面向对象的特征有哪些方面 <br />1.抽象: <br />抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 <br />2.继承: <br />继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承
2010-09-27 00:30:00 940
原创 Spring,struts,hibernate常见的面试笔试题汇总(2)
<br />1.Struts中Action是线程安全的吗?如果不是,请说出理由.在Struts可以定义静态变量吗?<br />参考答案: <br />Servlet是在多线程环境下的。即可能有多个请求发给一个servelt实例,每个请求是一个线程。 <br />struts下的action也类似,同样在多线程环境下。可以参考struts user guide: http://struts.apache.org/struts-action/userGuide/building_cont
2010-09-27 00:29:00 754
转载 Spring,struts,hibernate常见的面试笔试题汇总(1)
<br />该帖子收集了SSH常见的面试题,仅供大家参考。<br />Spring,hibernate,struts的面试笔试题<br />1、Hibernate工作原理及为什么要用? <br />原理: <br />1.读取并解析配置文件 <br />2.读取并解析映射信息,创建SessionFactory <br />3.打开Sesssion <br />4.创建事务Transation <br />5.持久化操作 <br />6.提交事务 <br />7.关闭Sessi
2010-09-27 00:28:00 1846
原创 strncpy的源代码实现
<br />#include <stdio.h>#include <stdlib.h>char* strncpy(char *dest,char *src,unsigned int n){ char *strRtn=dest; while(n && (*dest++=*src++)){ n--; } printf("n:%d/n",n); if(n) {
2010-09-26 23:47:00 6171
转载 AWK命令详解(大全)
<br />什么是awk?<br /><br />你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。事实上,awk是三个人名的缩写,他们是:Aho、(Peter)Weinberg和(Brain)Kernighan。正是这三个人创造了awk---一个优秀的样式扫描与处理工具
2010-09-26 17:15:00 942
原创 Linux面试题大全
<br />一.填空题:<br />1. 在Linux系统中,以 文件 方式访问设备 。<br />2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。<br />3. Linux文件系统中每个文件用 i节点 来标识。<br />4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。<br />5. 链接分为: 硬链接 和 符号链接 。<br />6. 超级块包含了i节点表 和 空闲块表 等重要的文
2010-09-26 16:45:00 1151
原创 从M个不同字符中任取N个字符的所有组合
<br />#include <string.h>//组合问题(从M个不同字符中任取N个字符的所有组合) void combine(char *source,char *result,int n){ if (1==n) { while (*source) { printf("%s %c/n",result,*source++); } printf("-------------------------------/n"); }else{ int i
2010-09-26 16:06:00 3321 2
原创 递归实现判断一个数是否是回文数
<br /> 递归实现判断一个数是否是回文数<br />#include <string.h>//递归实现判断一个数是否是回文数int find(char *str,int n){ if (n<=1) return 1; else if(str[0]==str[n-1]){//递归 return find(str+1,n-2); } else return 0;}int main(int argc, char* argv[]){ cha
2010-09-25 21:52:00 4538 1
转载 性能测试总结之内存泄露和内存溢出
<br />刚刚做完了一个项目的性能测试,“有幸”也遇到了内存泄露的案例,所以在此和大家分享一下。<br /> 主要从以下几部分来说明,关于内存和内存泄露、溢出的概念,区分内存泄露和内存溢出;内存的区域划分,了解GC回收机制;重点关注如何去监控和发现内存问题;此外分析出问题还要如何解决内存问题。<br /> 下面就开始本篇的内容:<br />第一部分 概念<br /> 众所周知,java中的内存java虚拟机自己去管理的,他不想C++需要自己去释放。笼统地去讲,java的内存分配分为两个部分,一个是数
2010-09-25 20:37:00 808
原创 面试经典对话
<br />问题1 你为什么觉得自己能够在这个职位上取得成就?<br /><br /> 分析:这是一个相当宽泛的问题,它给求职者提供了一个机会,可以让求职者表明自己的热情和挑战欲。对这个问题的回答将为面试人在判断求职者是否对这个职位有足够的动力和自信心方面提供关键信息。<br /><br /> 错误回答:我不知道。我擅长做很多事情。如果我能得到并且决定接受这份工作,我确信自己可以把它做得相当好,因为我过去一直都很成功。<br /><br /> 评论:尽管表面上听起来这种回答可以接受
2010-09-24 23:44:00 960
转载 如何使用泛型模擬virtual
<br />网上一道金山的面试题:<br />http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html<br />请分别用C++的面向对象和泛型机制,编写实现Template Method模式的示例代码,并比较两种方式各自的优缺点。<br /><br />用虚函数实现Template Method的方式就不多说了。用泛型的方式实现多态在ATL里面有大量的用到!<br />泛型的优势就在于其执行效率高
2010-09-23 23:18:00 746
原创 巧妙分盐
<br />有7公斤、2公斤的砝码(数量不限)和一架天平(没有刻度),只准使用三次天平,把140公斤的盐分成90公斤和50公斤。请问要如何使用天平?<br />答案:<br />第一次用天平把140公斤分成两个70公斤;第二次把其中一个70公斤分成两个35公斤;第三次把其中一个35公斤分成15公斤和20公斤(利用两个砝码,使天平一边是7公斤的砝码,加上15公斤的盐共22公斤,另一边是2公斤的砝码和20公斤的盐共22公斤)。然后把未分的70公斤盐和最后一次分出的20公斤盐加在一起就是90公斤,剩余的盐
2010-09-23 23:00:00 944
原创 过桥问题
<br />有A、B、C、D四个人准备过桥,他们的重量完全相同。A只需要一分钟便能过桥,B要二分钟,C要五分钟,D要十分钟。由于天色已黑,他们过桥时必需携灯。这道桥最多只可负荷两个人和一盏灯的重量。他们只有一盏灯,因此每两个人携灯过桥后,必须有其中一人把灯带回去。怎样才能用十七分钟时间使四个人过到桥的另一方呢?(注意:因过桥的二人也需要灯,若A和D一起过桥时,A需与D同行,所以所需时间也是十分钟。)<br /> <br />1. A 和 B 过桥, 2 分钟<br />2. A 回程(或 B
2010-09-23 22:50:00 1162
转载 猴子背香蕉问题
<br />一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走<br />1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。(提示:他可以把香蕉放下往返的走,但是必须保证它每走一米都能有香蕉吃。也可以走到n米时,放下一些香蕉,拿着n根香蕉走回去重新搬50根。)<br /> <br />解析:这种试题通常有一个迷惑点,让人看不懂题目的意图。此题迷惑点在于:走一米吃一根香蕉,一共走50米,那不是把50根香蕉吃完了吗?如果要回去搬另外50根香蕉,则往回走
2010-09-23 22:14:00 2064
原创 Python生成的排序算法图
#!/usr/bin/env python""" Some of these algorithms are all rather literally from Knuth - as a consequence they're not very Pythonic, and not terribly readable. In some cases I've modified the algorithm to make sure that all items are p
2010-09-23 11:20:00 1639
转载 Linux下的Python脚本编程
<br />TraceBack:http://blog.seety.org/everydaywork/2008/4/9/1012/<br />撰写Linux使用的 Pythonscript<br />这篇文章写于两年前,主题锁定在以Python写Linux的script。讨论了Python script.的惯用写法、字符串处理、字符编码、档案与目录处理、呼叫外部程序,以及利用内建链接库进行网络通讯。1 Linux、指令稿与Python2 Python指令稿的格式3 字符串
2010-09-22 11:38:00 31636
原创 JSON与XML的区别与联系
◆可读性 JSON(Java Object Notation) 和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。 ◆可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。 ◆编码难度 XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
2010-09-22 10:54:00 1220
原创 简历的加分点与失分点
<br />今天 @janlay 在Twitter上说道简历加分点:Gmail 邮箱、139手机号、PDF简历、未毕业参与商业项目、美女附照片;扣分点:263/sohu邮箱、联通手机号、51job模板、“精通”出现频率、北大青鸟、“尊敬的领导” <br /><br />我我觉得扣分点还应该包括“当当网商城程序,学籍管理系统”等。 <br />
2010-09-21 21:23:00 773
原创 程序员是怎么读简历的
<br />程序员是怎么读简历的 by 酷壳 - CoolShell.cn <br /><br />人事部门是这样阅读简历的 <br /><br />* (+15分)如果简历中说到了和工作职位相符的技能超过5次以上。 <br />* (+8分)如果简历中说到了和工作职位相符的技能3次到5次。 <br />* (+4分)如果简历中说到了和工作职位相符的技能1次到2次。 <br />* (+4分)Cover Letter(“求职信”或“自荐信”)提到了招聘人员。 <br />* (+2分)简历中有Cover L
2010-09-21 21:22:00 837
原创 最长回文子串
<br />import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * 基本思路:将原始串翻转,然后计算这两个串的最长公共子串即为最大的回文数 * * @author qibaoyuan * */public class LongestPalindrome { /** * @param args */ public static void
2010-09-21 20:56:00 710
原创 大链表数据的排序
<br />typedef struct _node_t{ int a; struct _node_t* next;}node_t;node_t* Mergesort(node_t* L,int count) //链表头及要链表元数个数{ if(count==1) return L; int count1=count/2; int count2=count-count1; node_t* p=L; int i; for(i=0;i<
2010-09-20 23:15:00 768
原创 海量数据处理[3]
<br />1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?<br />方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。<br />s 遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。<br />s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记
2010-09-19 11:41:00 548
原创 海量数据处理---题目
<br />问题实例:给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。如果是三个乃至n个文件呢? <br />根据这个问题我们来计算下内存的占用,4G=2^32大概是40亿*8大概是340亿,n=50亿,如果按出错率0.01算需要的大概是650亿个bit。现在可用的是340亿,相差并不多,这样可能会使出错率上升些。另外如果这些urlip是一一对应的,就可以转换成ip,则大大简单了。 <br />问题实例: <br />1).海量日志数据,提取
2010-09-19 11:39:00 682
原创 C语言的谜题【2】
<br />/* ============================================================================ Name : CPuzzle-1.c Author : Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ======================
2010-09-19 00:16:00 572
原创 判断整数序列是不是二元查找树的后序遍历结果
<br />题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。<br />例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:<br /> 8<br /> //<br /> 6 10<br /> / / / /<br /> 5 7 9 11<br />因此返回true。<br />如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。<
2010-09-18 23:34:00 702
原创 在O(1)时间删除链表结点
<br />题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:<br />structListNode<br />{<br /> int m_nKey;<br /> ListNode* m_pNext;<br />};<br />函数的声明如下:<br />voidDeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);<br />分析:这是一道广为流传的Google面试题,能有效考察
2010-09-18 23:15:00 859
p6spy改造去掉resultset和添加每日归档
2013-07-31
僵尸网络研究
2008-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人