- 博客(35)
- 资源 (6)
- 收藏
- 关注
原创 编程之美:从无头单链表中删除节点,讨论
1.问题描述 假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个),请将该节点从单链表中删除。 如下图所示: 这种情况大家都知道,将下一个节点的data和next拷贝到当前节点,并将当前节点的next设置为下下个节点,然后释放下一个节点所占内存(free), 如果红字条件去掉: 还用上面的方法就有问题,一般上面方法的
2014-09-18 17:23:47 1113
原创 nssm将MyCat作为windows服务启动
由于每次启动MyCat都要重复打命令,不如直接将其作为一个windows服务随开机启动。 尝试使用sc create "D:Mycat/bin/mycat.bat" 虽然安装成功,但是无法启动,原因在于sc无法将bat或者 老式exe注册为windows服务。 然后发现了一个小工具nssm,可以满足需求:http://nssm.cc/download nssm使用方法,以管理员身份运行cmd
2014-04-08 20:37:41 2921
原创 BIO,NIO,AIO
Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。 Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。 Java AIO(N
2014-04-08 15:21:03 1312
原创 cobar搭建的简单例子
cobar下载地址:https://github.com/alibaba/cobar 下载好了的代码是没有.project文件的,只有java文件,如果你直接运行cobar-master\server\assembly\bin目录下的startup.bat是不会成功的,应该缺少lib文件以及class文件。在MyEclipse中以maven项目形式导入,然后Update Dependencies
2014-04-01 22:47:49 2302
转载 session设置
(1)在主页面或者公共页面中加入: session.setMaxInactiveInterval(900); 参数900单位是秒,即在没有活动15分钟后,session将失效。 这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。 (2)也是比较通用的设置session失效时间的方法,
2014-03-05 12:37:45 810
转载 Nodejs为代理npm设置代理
转自:http://ipjmc.iteye.com/blog/1566775 为npm设在代理 npm config set proxy="http://192.168.1.1:8080" 为npm默认选择http方式,不选用https npm config set registry http://registry.npmjs.org
2014-01-16 14:11:35 13282
原创 关于CENT的利润
国内与国外差价居然是100倍,http://bter.com/trade/CENT_cny和https://www.cryptsy.com/markets/view/118 2014-1-6,前者兑换人民币的价格是0.00002184 后者是0.00000001XPM=0.00000025元 令人发指啊!还以为发了横财,结果bter.com居然暂停了CENT的转账,MLGB!转个1万元的CEN
2014-01-06 23:22:55 662
转载 Hibernate整合C3P0实现连接池
转自:http://www.cnblogs.com/best/archive/2013/05/09/3069839.html Hibernate中可以使用默认的连接池,无论功能与性能都不如C3PO(网友反映,我没有测试过),C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spri
2014-01-06 21:16:24 578
原创 将 expression 转换为数据类型 int 时出现算术溢出错误
发现一个隐藏在项目里面的bug,项目一直都是正常的,突然某个月的月报出现问题,后来发现时select sum(test)这个函数sum里的数字越界了,利用cast进行类型转换即可解决问题, select sum(cast(test as bigint))......这样就没问题了。
2013-12-24 22:34:22 10795
原创 ActiveX,DirectX,DirectShow
Previous versions of the DirectShow SDK were included in the DirectX SDK. The last version of the DirectX SDK to include DirectShow was DirectX 9.0 SDK Update - (February 2005) Extras. After this ve
2013-12-20 21:42:20 1358
原创 LeetCode正则表达式-Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input st
2013-12-01 21:45:00 1084
原创 LCA(最近公共祖先)问题的新老解法对比
LCA(Least Common Ancestors)问题描述:找出给定二叉树中的两个指定节点的最近公共祖先。 本文给出两种方法,一种是网上看到的,代码很简洁,另外一种是我自己优化过的,思路上更简单易懂。 第一种: Node *LCA(Node *root, Node *p, Node *q) { if (!root) return NULL; if (root == p
2013-11-29 22:09:07 1896
转载 TCP连接建立过程中为什么需要“三次握手”
传输控制协议(Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。互联网络与单个网络不同,因为互联网络的不同部分可能有着截然不同的拓扑、带宽、延迟、分组大小和其他参数。TCP的设计目标是能够动态的适应互联网络的这些特性,而且当
2013-11-26 22:49:19 973
原创 利用ADO.NET处理数据的简单之处
由于项目需要,要往数据库中导入一些历史数据,而这些历史数据都是线下人工记录的,所以有很多不规范的地方,比如:同一个公司的名称在不同的记录中可能相差那么几个字,而且每条数据不是每个字段都是完整的,等等诸如此类的不规范问题。如何规范化,并且将这些若干excel表格的数据切分并且导入到数据库中的若干表中,并且这些表之间有着一对一或者一对多等关系,识别这些关系仅仅靠SQL是不行的,存储过程我也不了解,不知道能否满足需求。但是用c#操作SQLServer还是很方便的,所以就决定使用C#。 下面列出一些比较常用的而且很
2013-11-21 00:59:01 1950
原创 从事务隔离级别谈到Hibernate乐观锁,悲观锁
先提一下基础知识,数据库事务的4个基本特性: 1.Atomic(原子性) 事务中包含的操作被看成一个逻辑单元,这个单元要么全部完成,要么全部没做。 2.Consistency(一致性) 隔离执行事务时(在没有其他事务并发的情况下)保持数据库的一致性。举例说明:A转账给B,那么此事务执行前和执行后A账户和B账户的总和是不变的。 3.Isolation(隔离性) 尽管多个事务可能并发执行,但是系统保证,对于任一事务Ti和Tj,在Ti看来,Tj或者在Ti开始之前已经完成执行,或者在Ti完成之后开始执行的。这样,每
2013-11-20 21:27:02 7680 1
原创 page、request、session和application有什么区别
1.简单说 page指当前页面。在一个jsp页面里有效 。 2.request 指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。 3.Session 有效范围当前会话。 4.application它的有效范围是整个应用。 作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以
2013-11-15 00:56:13 3577 1
原创 onclick、onsubmit、submit集合函数之间的关系和区别
这几个函数的调用顺序如下: onclick->onsubmit->submit 只要 onclick 未 return false 那么就继续执行 onsubmit 只要 onsubmit 未return false 那么表单就被提交出去了 另外一点写法上注意一定要 “return X();” 才能取得函数的返回值,否则只是调用函数,返回值未被传递
2013-11-15 00:38:19 1954
原创 SSH框架后台往页面传递信息
如果前台页面触发了一个action,大部分情况下,下一步是导向另外一个action或者另外一个页面。 如果我们需要在触发action之后返回文本信息给前台页面,例如登陆时密码错误,或者用户名不存在,就可以如下处理: 第一种方案: 在action中嵌入javascript代码,获取response然后write: 而获取request和response有不同的方式,我知道的就有两种, 第一
2013-11-15 00:22:05 6878 1
原创 Struts2+Spring+Hibernate整合的一个小问题
MyEclipse8.5中整合Struts2+Spring+Hibernate后会出现一个常见的问题,每次整合都会遇到这个问题,今天又遇到了,居然又google了半天才解决。其实以前已经遇到过此问题: java.lang.reflect.InvocationTargetException ....... java.lang.NoSuchMethodError: antlr.col
2013-11-14 23:14:14 1446
原创 在浏览器中直接调用webservice的正确写法
此文章针对webwork+spring+hibernate的工程,对于其他框架应该一样适用,首先在wsdd文件中找到所需webservice的名称,例如以下写法: 而在web.xml中可以查看配置: AxisServlet Apache-Axis Servlet org.apache.axis.transport.http.Axis
2013-11-14 14:59:08 23145
原创 对于C++中的const用法的总结
C++中由于有指针的存在,所以const的限定就不仅仅是对于一个普通变量的值的限定了。个人总结如下: const int bufSize = 1024; 上述语句是定义了一个int类型的变量bufSize,并且bufSize的值固定为1024,不能改变了。 对于一个非const变量,假设已经做了合适的声明,就可以在另外的文件中使用这个变量,代码来自C++ Primer中文版第四版
2013-11-02 23:08:23 1109
原创 写判断语句的好习惯
以下代码: int a=0; ... if(a==0) { do something... } 这里如果万一打错了,少写一个=: int a=0; ... if(a=0) { do something... } 还是会通过编译,最好的习惯是:将0放在左边 int a=0; ... if(0==a) { do something... } 这样
2013-11-02 18:12:21 786
原创 浅谈单例模式
单例模式在很多场景下都有应用,例如数据库连接池,日志,等。当系统对于某一个类只需要一个实例的时候,如果能产生两个或更多实例只会带来麻烦和错误,好比两个程序如果操作的不是同一块内存,那么两个程序所有的操作也不会达成一致,或者在同步的过程就会出错。 所谓单例模式,我觉得从内存角度来看,就是多个线程共享一块内存,而这块内存就只是一个类的实例。而使用单例模式最简单的方式就是饿汉式单例模式: public class Single{ private static Single current = new Si
2013-11-02 13:31:09 1398 1
原创 LeetCode-Median of Two Sorted Arrays,找出两个排好序的数组的中位数
在leetcode上看到的一道题目: 给定两个数组,排好了序,可能是降序也可能是升序,求两个数组所有数字的中位数,这里的中位数是如下定义的:如果总个数为偶数那么就 double findMedianSortedArrays(int A[], int m, int B[], int n) { if(m==0&&n!=0) { return n%2 == 1
2013-10-31 19:04:07 1464
原创 git stash笔记
日常工作中经常会需要放下手头上的工作,转而去修改之前的某一个bug,此时就需要将现有的改动添加到staging area git add . 然后将这些改动暂时放入一个stack中: git stash 这样就可以切换到另外一个分支,而不需要提交当前未完成的代码了: git checkout branch_another 等到解决了紧急的事情,就可以切换回到之前的branch,并将st
2013-10-30 10:44:48 1458
原创 SQLServer2008中datetime类型不加引号所引发的问题
我写了一条如下的SQL语句: update tb_cf_constructionreg set finishDate = 2013-10-10 where ConstructionRegId = 49 结果运行完对应的finishDate字段变成了:1905-06-17 00:00:00.000 不是我想要的2013-10-10,回头一看只是由于没有给2013-10-10加单
2013-10-28 22:12:32 2483 2
原创 动态磁盘转换
推荐一个好用的工具:动态磁盘转换器,下载链接:http://www.disktool.cn/ddc.html 在安装windows和ubuntu双系统的时候,如果需要自己分区安装ubuntu,那么就必须将动态磁盘转换成基本磁盘才能安装, 怎么做到不损坏任何数据的情况下转换磁盘类型呢?动态磁盘转换器就可以很好地支持这一点,十几秒就可以搞定,没有 任何数据损失。推荐大家使用。
2013-10-28 16:33:18 832
原创 SQLServer的sql语句中有非法的空格问题
今天执行一条SQL语句,发现报错了:' ' 附近有语法错误。我没太理解这是什么错误,后来将这个空格去掉重新输入了一个空格,就没错误了。最后尝试切换到全拼,然后在全拼下加一个空格,再次执行SQL,果然又报了这个错误,确认了罪魁祸首就是全拼空格的问题。
2013-10-21 22:27:14 1936
原创 SQLServer编辑模式删除数据速度非常慢
不要在SQLServer Management Studio的编辑界面大量删除数据,能用数量较少的sql搞定的删除操作就用较少的sql完成。比如:delete * from table1 where col1>100 类似的操作,如果在编辑模式下面使用shift选中大量数据,然后在右键弹出菜单中选择“删除”会导致界面卡住,并且非常耗时。 个人猜测,使用shift选中,然后右键删除会生成大量sql
2013-10-21 01:53:28 3500
原创 windows8下U盘安装ubuntu,非wubi安装,遇到的问题以及解决方案
之前一直是在vmware workstation里装ubuntu的虚拟机,或者用wubi安装ubuntu,都是比较傻瓜化的安装,也没遇到过什么大问题。这两天突然心血来潮,想从u盘安装ubuntu13.10,非wubi安装。中间遇到了很多奇葩的问题,花了我不少心血,现在整理了一下整个过程,大家以后如果遇到类似问题可以借鉴一下。 1.下载ubuntu13.10的iso文件(64位)。
2013-10-19 17:02:19 4875
原创 SQLSERVER2008安装以及配置过程中的问题
我是在win7上面安装的SQLSERVER2008,版本是developer版,安装过程中遇到的兼容性问题,全部无视,在中间有一个步骤让你选择SQLServer的版本的时候,有Enterprise版和Express版供选择,我第一次选择的是Enterprise版,后来安装失败了。 紧接着,我在程序与功能的列表里,把刚刚安装的各种环境全部卸载干净,然后第二次安装,这次选择的是Express版,然后
2013-10-18 21:34:37 1745
原创 关于栈指针的简单笔记
栈是包含数据的一块连续内存区域,SP(stack pointer)指向栈的顶部,栈的底部是一个确定后不可更改的地址,栈的大小在运行时被kernel动态调整,栈的POP和PUSH操作由CPU实现。 当调用一个函数的时候,一个逻辑栈帧(logical stack frame)被构造,函数退出时,这个逻辑栈帧就释放。一个逻辑栈帧包含指向函数的指针,包括函数里的局部变量,和可以恢复到上一个栈帧的数据等。
2013-09-05 20:39:53 1122
原创 Android框架源代码下载与调试技巧
由于对Android底层框架源代码比较感兴趣,所以想自己下载底层代码然后进行Debug,主要参照http://source.android.com/source/building.html进行整理。 相关环境:Windows8, VMware Workstation9.0.2, Ubuntu 12.04.3, 注意:如果实在虚拟机上跑ubuntu,至少需要16GB ram/
2013-09-05 20:25:34 1306
原创 Apache,PHP,MySql,WordPress初次安装的过程以及遇到的问题
首先去Apache HTTP Server的官网下载httpd-2.2.22-win32-x86-openssl-0.9.8t.msi安装包,这个是包含openssl模块的版本,然后去php官网下载php-5.3.21-Win32-VC9-x86.msi,mysql用的mysql-installer-community-5.5.28.2.msi。然后各自安装成功。 接着配置PHP,在PHP的安装
2013-01-29 13:59:21 996
原创 N皇后问题
暑假闲来无聊,于是想到将本科四年的一些作业和项目稍加整理,加以总结写到博客中,以便日后查阅,也可以和大家互相学习进步。 第一篇就是大一刚学c++时候的作业-八皇后问题,然后深入考虑n皇后问题。 当时的代码如下: #include #include #include #include #include using namespace std; int result[1000];
2012-08-06 13:33:23 1059
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人