自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qunqin的专栏

前方大道靠自己奋斗

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 myibats原理深入理解总结

1.MyBatis初始化的过程,就是创建 Configuration对象的过程MyBatis的初始化可以有两种方式:基于XML配置文件:基于XML配置文件的方式是将MyBatis的所有配置信息放在XML文件中,MyBatis通过加载并XML配置文件,将配置文信息组装成内部的Configuration对象基于Java API:这种方式不使用XML配置文件,需要MyBatis使

2015-05-31 21:53:58 2626

转载 java常见基础面试题

问题:如果main方法被声明为private会怎样?答案:能正常编译,但运行的时候会提示"main方法不是public的"。问题:Java里的传引用和传值的区别是什么?答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。问题:如果要重写一个对象的equals方法,还要考虑什么?答案:hashCode。问题:Java的"一次编写,处处运行"是如何实

2015-05-25 20:46:36 649

原创 myibats知识理解

1.MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀的持久层框架,它消除了几乎所有的JDBC代 码、对参数的手工设置以及对结果集繁琐的处理,使用简单的XML或注解(annotation)用于配置和映射,将接口和POJO(Plain Old Java Object)映射成数据库中的记录。2.mybatis以一个SqlSessionFactory对象的实例为核心,SqlSess

2015-05-13 21:11:05 1843

转载 Struts1、Struts2和SpringMVC剖析

前段框架用了不少,今天就来做个总结。网上关于Struts1、Struts2、SpringMVC的文章有很多,这里的内容就是基于它们,来做个比较。这三个框架是按照上面的顺序,依次出现的,它们都是对MVC模式的实现。为什么会出现这三个、甚至更多的MVC框架呢?他们都是为了将URL世界映射到Java世界。尽管它们它们内部的实现思路不同,有着各自的优缺点,但是它们都做到了个自己的使用目的。

2015-04-19 18:35:48 1007

原创 ZooKeeper 基本介绍

Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。1  Zookeeper基本框架Zookeeper集群主要角色有Leader,Learner(Follower,Obser

2015-03-10 18:51:03 11750 1

原创 Zookeeper那些事之初步了解zookeeper知识

在分布式高并发应用中,普通的锁并不能保存数据的一致性,使得程序访问数据不一致。而zookeeper能够保证可靠的,可扩展的,分布式的,可配置的协调机制来保证数据同一状态。         Zookeeper中最基础的数据节点为znode,各种znode组合成一个tree,同linux目录结构类似,znode中保存该节点数据,zookeeper通过维持该tree来保存数据的一致性;     

2015-01-11 17:39:54 1649

原创 Spring MVC那些事之JdbcTemplate的使用总结

jdbctemplate主要使用的方法:1.execute方法:用于执行任何SQL语句,一般用于执行DDL语句,例如:jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100)) "); 2.update及batchupdate方法:update用于执行新增,修改和删除等语句,batchupda

2014-11-16 18:22:20 1535

原创 Spring MVC那些事之ApplicationContext使用

ApplicationContext 是 BeanFactory 接口的子接口,它增强了 BeanFactory 的功能,处于 context 包下。很多时候, ApplicationContext 允许以声明式方式操作容器,无须手动创建。可利用如 ContextLoader 的支持类,在 Web 应用启动时自动创建 ApplicationContext。当然,也可以采用编程方式创建 Applic

2014-11-02 21:21:44 6111

原创 Spring MVC那些事之环境的搭建

刚入职工作,分配的项目组中需要用到Spring MVC,以前用的比较多的是简单的Servlet方式,有时候会用到SSH2框架等,所以对此方面的知识还比较欠缺,搭建环境还是耗费了一段时间。   Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,以此来简

2014-10-30 22:18:31 872

转载 关于学习Hadoop中未总结的资料

1)Cygwin相关资料  (1)Cygwin上安装、启动ssh服务失败、ssh localhost失败的解决方案  地址:http://blog.163.com/pwcrab/blog/static/16990382220107267443810/  (2)windows2003+cygwin+ssh  地址:http://wenku.baidu.com/view

2014-05-14 17:01:22 961

转载 Windows下安装Hadoop

台式机i5-2400 3.1G,2G内存,操作系统Win7,JDK1.6.31,推荐学习这篇文章。1.下载Cygwin,运行Setup.exe,记得安装Sed、Openssh、Openssl,安装目录为d:\cygwin。2.安装JDK,设置Windows环境变量,添加JAVA_HOME,值为java安装目录,添加CLASSPATH,值为.[plain] view pl

2014-04-30 16:47:13 633

原创 一些面试题

腾讯面试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?答accept发生在三次握手之后。第一次握手:客户端发送syn包(syn=j)到服务器。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。三次握手完成后,

2013-09-12 21:33:38 5967 1

原创 操作系统

1、进程是并发过程中程序的执行过程2、进程的特征:结构特征动态性并发性独立性异步性3、临界区指在每个进程中访问临界资源的那段代码4,现在操作系统中申请资源的基本单位是进程,在CPU得到执行的基本单位是线程,进程是由程序段、数据段、PCB组成的5,对临界资源应采取互斥访问方式来实现共享6,P.V操作是一种低级进程通信原语7,对于记录性信号量,在执行一次P操作时,信号量的值应当

2013-09-11 23:27:11 1511

转载 图算法总结

图的定义:       很简单,G(V,E), V、E分别表示点和边的集合。       图的表示:       主要有两种,邻接矩阵和邻接表,前者空间复杂度,O(V2),后者为O(V+E)。因此,除非非常稠密的图(边非常多),一般后者优越于前者。图的遍历:       宽度遍历BFS(start):    (1) 队列Q=Empty,数组bool visited[V]

2013-04-08 16:32:28 775

原创 最近的点点滴滴

研二下学期,一转眼就要找工作了,心情也开始慢慢紧张起来。最近一直在烦恼着毕业设计题目的问题,总感觉没有灵感,都不知道要做什么方面的题目。对于要做的题目感到很迷茫,常常怀疑自己到底能做吗?自己有这个能力把他做好吗?这一串串的问题都会冒出来,让我一再的犹豫不觉,感觉自己挺不相信自己的。   题目算是基本定下来了,接下来就是开始准备开始动手做了,一年的时间,我的毕业设计能做成什么样子,一年后就知道了

2013-04-05 22:57:53 609

原创 并查集简单题-pku1611

题目链接:http://poj.org/problem?id=1611代码:#includeint father[30001];int count[30001];int i,m,n,first,a,b;void setfather(int n) //初始化,将各自fahter设置为本身{ for(i=0;i<n;i++) { father[i]=i; count[

2013-03-30 11:40:11 1101

转载 牛人博客收集

【Android】(1)Android UI(2)Android(3)从零学Android(4)Android透明菜单制作(5)Android 高仿【优酷】圆盘旋转菜单的实现(附代码)(6)Android JQuery(7)Android游戏开发专栏(8)Android小知识  【Java】 (1)java多线程网络数据采集  【面试】

2013-03-25 16:41:26 776

转载 POJ题目分类

OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328 F,poj2109 F,poj2586 F)(3)递归和分治法.(4)递推.(5)构造

2013-03-24 20:51:36 737

原创 各种内部排序方法的分析比较

1.时间复杂度  ① 直接插入、直接选择、冒泡排序算法的时间复杂度为(n2);  ② 快速、归并、堆排序算法的时间复杂度为O(nlog2n);  ③ 希尔排序算法的时间复杂度很难计算,有几种较接近的答案:O(nlog2n)或O(n1.25);  ④ 基数排序算法的时间复杂度为O(d*(rd+n)),其中rd是基数,d是关键字的位数,n是元素个数。2.稳定性  ①

2013-03-12 22:30:47 952

原创 展望---后续计划

研一结束了,等待我的是研二的到来。对于暑假之后后续的计划,自己应该好好的整理一下,毕竟研究生阶段主要是靠自己。暂定的后续计划如下:         1.七月份开始到中兴实习,慢慢在物色其他的企业;         2.开始准备毕业设计相关事务;         3.继续算法相关学习;          4.每个星期都要有相应的总结以及收获,进行整理;         5.继续l

2012-06-26 17:53:10 750

原创 堆排序算法及其应用

堆积排序是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。         堆可以被看成是一棵树,结点在堆中的高度可以被定义为从本结点到叶子结点的最长简单下降路径上边的数目;定义堆的高度为树根的高度。我们将看到,堆结构上的一些基本操作的运行时间至多是与树的高度成正比,为O(lgn)。       堆排序的算法代码实现(最大堆实现):

2012-06-12 15:52:33 2853 1

原创 linux学习之who命令学习

在linux中,who用于显示用户相关的信息,该信息包含在结构体utmp中,包含用户名,用户的登录时间等相关信息。     在编写who命令的c语言实现中,需要注意时间的显示格式,使用ctime获取时间的一般格式;     其具体代码如下:     //实现who功能函数void whoread(){ struct utmp current_utmp;//用户相关的结构

2012-05-22 15:10:41 1320

原创 【每日面试题】字符串的顺序变化

给定一个字符串,将其中的*提前,不改变字符串的顺序,如ab**cd**d,改变后的顺序****abcdd。代码如下:int findXing(char *str){ int len=strlen(str); int count=0; int i=len-1; int j=len-1; while(i>=0) { if(str[i]!='*') {

2012-05-14 22:23:11 815

原创 【每日面试题】字符串倒置的递归算法

给定一个字符串,使用递归的算法将其倒置。代码:void reserve1(char str[],int i,int h){ char t; printf("i=%d%d\n",i,h); if(i>h) return; else { reserve1(str,++i,--h); printf("i=%d\n",i)

2012-05-12 20:43:06 2439

原创 【每日面试题】随机数构成的数组中找到长度大于=3 的最长的等差数列

题目:求随机数构成的数组中找到长度大于=3 的最长的等差数列, 输出等差数列由小到大:如果没有符合条件的就输出格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]要求时间复杂度,空间复杂度尽量小。分析:首先对数组进行排序,然后在进行查找。代码:void longMin(int *a,int n){ if(n<=1) return; int l

2012-05-03 22:20:56 2260

原创 【每日面试题】使用递归方法判断数字是否是升序数组

题目:使用递归方法判断数字是否是升序数组代码:bool IsIncrease(int *a,int n){ static int i=0; if(n==0) return false; if(n==1) return true; if(i<n-2) { i++; IsIncrease(a,n); } ret

2012-05-03 21:14:23 1586

原创 【每日面试题】通过交换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=sum(a)-sum(b);i和j之间进行交换后:A'=sum(a)-a[i]+b[j]-(sum(b

2012-04-30 21:39:15 2415

原创 腾讯2012实习生笔试题

一、单项选择题1) 给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()Int a1=x+y-z; int b1=x*y/z;Int a2=x-z+y; int b2=x/z*y;Int c1=x>z; int d1=x&y|z;Int c2=x>>za1一定等于a2b1一定定于b2c1一定等于c2d1一定等于d22) 程序的完整编译

2012-04-25 18:43:11 1984

原创 【每日面试题】2012年腾讯暑期实习生招聘笔试附加题1

两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)。 代码如下:void qupdate(int *a,int *b

2012-04-20 21:06:50 1201

原创 【每日面试题】矩阵的螺旋输出

输入一个m*n的矩阵,将其螺旋输出,如下图:代码如下://矩阵螺旋输出#define max 100int data[max][max]={0};int Output(int m,int n,int &x,int &y,int cnt,int total){ if(m==1&&n==1) { data[x][y]=cnt++; pri

2012-04-18 21:55:41 991

原创 nginx源码那些事之array结构分析

对于nginx来说,包含很多结构体,array便是其中之一。       array结构体声明如下: struct ngx_array_s { void *elts; //分配元素首地址 ngx_uint_t nelts;//当前使用数 size_t size;//分配元素大小 ngx_uint_t nallo

2012-04-17 21:24:42 1121 2

原创 nginx源码那些事之内存管理模块一

nginx主要使用内存池进行内存管理,nginx中从内存池中分配内存的大小为NGX_MAX_ALLOC_FROM_POOL,为ngx_pagesize - 1,其中ngx_pagesize的大小在操作系统中为4095.        nginx中主要的内存管理函数:        1.创建内存池(ngx_create_pool() )           调用ngx_memalign(

2012-04-16 22:10:15 2052

原创 【每日面试题】字符串通配符匹配问题

题目:在一篇英文文章中查找指定的人名,人名使用二十六个英文字母(可以是大写或小写)、空格以及两个通配符组成(*、?),通配符“*”表示零个或多个任意字母,通配符“?”表示一个任意字母。如:“J* Smi??” 可以匹配“John Smith” .请用C语言实现如下函数:void scan(const char* pszText, const char* pszName);注:psz

2012-04-15 11:49:15 3124 1

原创 nginx源码那些事之----初认识

最近一段时间,在面试时,听过别人说为啥不在空闲的时间看看开源代码呢?作为学生就应该多看看别人写的代码,然后在在别人的代码上面写出一些应用。听过这些话后,感觉确实比较有感触,所以就开始慢慢的接触nginx方面的源码。做完自己的锻炼吧!        今天刚开始接触nginx内存池结构。         Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数。如果你

2012-04-14 21:52:53 1087

原创 二叉树两结点的最低共同父结点

题目:求二叉树两节点的最低共同父节点代码;//求node节点是否在head树中bool findNode(Tree* head,Tree* node){   if(head==null||node==null)         return false;   if(head==node)       return true;    if(!head->left)

2012-03-12 16:31:39 1099

原创 【每日面试题】求一个二叉树中任意两个节点间的最大距离

)求一个二叉树中任意两个节点间的最大距离,两个节点的距离的定义是这两个节点间边的个数,比如某个孩子节点和父节点间的距离是1,和相邻兄弟节点间的距离是2,优化时间空间复杂度。代码:void MaxDistance(Tree* root,int &deep,int & maxdis){  if(root)  {   deep=0;   maxdis=0;

2012-03-11 15:09:48 4967

原创 【每日面试题】在字符串中删除特定的字符

题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。代码:void DeleteString(char *str,char *des){ int phash[256]={0}; while(*des!='\0') {  pha

2012-03-10 20:20:00 706

原创 【每日面试题】找出数组中两个只出现一次的数字

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。代码:int firstNotDouble(int a[],int n){ if(n  return -1; int result=a[0]; for(int i=1;i  result^=a[i]; return r

2012-03-10 18:46:37 904

原创 【每日面试题】求一个矩阵中最大的二维矩阵(元素和最大)

题目:求一个矩阵中最大的二维矩阵(元素和最大)本代码所采用的是最土的一次求出值,然后比较大小//求一个矩阵中最大的二维矩阵(元素和最大).void sum1(int *a,int n,int m){   int max=0;   int first=0;   int second=0;    for(int i=0;i    {     int j=0;

2012-03-09 20:56:24 1196

原创 【每日面试题】输入n求和为m的所有组合

题目:输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.分析,由该题可知是典型的背包问题,根据该数是否加入进行递归运算。代码://典型背包问题void print(int n,int m,vector&list){ if(n==0) return; if(m==0) {  for(in

2012-03-09 19:57:46 3107 1

messagebroker_ESQL

为IBM的WMB开发中用到的ESQL技术文档,入门必读的经典书籍

2012-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除