经验
文章平均质量分 52
kanpiaoxue
这个作者很懒,什么都没留下…
展开
-
编程黄金法则
1、黄金法则:使其工作,使其更好,使其更快2、优化程序与良好的编码风格的选择 如果不是特别需要的话,就不要在精巧的算法或者漂亮的优化技巧上有过多的担心。 如果程序已经足够快了,那么干净、简单并且易读的代码的价值比稍微快一点的程序要高得多。 毕竟,几个月之后,更快的硬件也就出炉了。3、第二系统综合症 你希望第二个版本变得更好,结果却永远无法完成。 4、持续...原创 2011-08-22 10:29:10 · 215 阅读 · 0 评论 -
双击/单击Ext.grid.GridPanel的行
Ext.grid.GridPanel rowdblclick(单击)+ rowclick(双击)1、双击 var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行;否则只能选择一行 }); var alarmGrid = new Ext.grid.G...原创 2012-04-23 16:58:15 · 320 阅读 · 0 评论 -
python FAQ 问答题集锦(一)
自己写了几个常用的python小函数,用于练习和日常使用:(Python版本:python2.7) 0、文件的编码:很多初学python的朋友,经常遇到文件编码问题。处理不当,会出现乱码,严重的,会因为在文件内写入不同格式的编码python代码,造成python无法编译。这里给出解决的方法:推荐大家使用utf-8编码,它不仅包含了西欧的字符集,还包含了亚洲等地区的字符集。在p...原创 2012-05-02 14:05:24 · 397 阅读 · 0 评论 -
Python变量名解析:LEGB原则
---- 来源于《Python学习手册》Page 419Python的变量名解析机制称为:LEGB法则。L:本地作用域;E:上一层结构中def或lambda的本地作用域;G:全局作用域;B:内置作用域LEGB作用域查找原则:当引用一个变量时,Python按以下顺序依次进行查找:从本地变量中,在任意上层函数的作用域,在全局作用域,最后在内置作用域中查找。第一个能够完成查找的就算成功。变量在代...原创 2012-05-06 20:18:59 · 698 阅读 · 0 评论 -
python通用的列表解析结构
通用的列表解析结构如下:[expression for target1 in iterable1 [if condition1] for target1 in iterable2 [if condition2] for target1 in iterable3 [if condition3] for target1 in iterable4 [if cond...原创 2012-05-09 11:34:45 · 136 阅读 · 0 评论 -
python FAQ 问答题集锦(二)
1、python 操作excelexcel是人们日常惯用的电子文档格式,所以python对excel的操作显得格外重要。用到python的excel库 xlutils,资源地址:http://www.python-excel.org/例子:公司对游戏内数据的销售物品的汇率进行上传操作,每次上传之前需要对数据的格式进行验证。上传的文件就是excel。该excel共6个列,具体...原创 2012-05-09 17:43:01 · 158 阅读 · 0 评论 -
Linux后台运行程序
在Linux上面运行程序,不能因为窗口关闭就退出程序,而是需要将程序放入后台。例子如下:nohup java -jar test.jar&nohup python test.py&上面两个例子,分别演示了Java和python的程序运行,并放入后台。nohup 将程序放入后台& 将控制权返还给用户 上面的命令运行任务之后会把标准输出(1)和错...原创 2012-02-14 15:21:30 · 88 阅读 · 0 评论 -
java ping 服务器
如果用1.5以上版本,有一个简单的方法 String host = "192.168.1.181"int timeOut = 3000;boolean status = InetAddress.getByName(host).isReachable(timeOut); 关于上面的实现,发现还是存在一定争议的。该如何实现,应该根据情况来具体实现,请参考下面的文献: 原...原创 2013-05-09 15:09:51 · 167 阅读 · 0 评论 -
SpringMVC中创建新线程引起的Null错误
今天在一个现有的SpringMVC的Web程序中添加新功能,引起了NullPoint的错误。看了代码,找到了错误的发生点,怎么看,代码都是正确的。不知道为啥?起因是这样的:我在SpringMVC中添加到了controller,然后写了service类。里面涉及了同事的dao类。在service类中的一个查询方法中,调用了2个dao中的查询数据的方法。因为数据量大,为了加快程序的运行速度...原创 2013-11-18 14:54:33 · 273 阅读 · 0 评论 -
Eclipse远程调试
目前经常开发java的J2EE程序放到Linux上面运行,或者开发可运行的jar放到Linux上面运行。很多的情况下,java的运行内容包含了操作系统的资源,在本地的Windows的环境下很难调试。这样就需要远程调试。eclipse提供了远程调试的功能。我写了一个简单的remoteDebug.jar,对它进行debug。在Linux上面配置的运行参数如下: java -Xdebug...原创 2013-01-13 13:13:18 · 140 阅读 · 0 评论 -
spring batch(二):核心部分(2)Spring batch的启动
chapter 4、Running batch jobs 1、Spring Launch API:它的核心就是 JobLauncher 接口。JobLauncher 的接口:public interface JobLauncher { public JobExecution run(Job job, JobParameters jobParameters) throws (…...原创 2013-01-16 23:51:14 · 942 阅读 · 0 评论 -
spring batch(二):核心部分(1):配置Spring batch
chapter 3、Batch configuration1、spring batch 的命名空间spring xml中指定batch的前缀作为命名空间。示例: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"...原创 2013-01-16 23:52:43 · 667 阅读 · 0 评论 -
缺失数据的修复
我们在做页面的数据表的时候,经常会遇到这样的问题:要显示一个起始日期到一个结束日期的时间段的所有的数据。但是,往往因为各种各样的原因,造成数据缺失。比如:远程的log服务器损坏,网络突然中断造成数据丢失,等等。我们一般会这样处理:对缺失的数据,进行补 0 操作。方法论:全集与子集的关系。我们可以找到一个全集 A,那么我们要修补的数据,就应该是该全集A的一个子集B。该子集B的元素数量&...原创 2013-11-21 09:37:32 · 496 阅读 · 0 评论 -
动态生成table的数据
我们在实际工作环境中,经常遇到下面的场景:我们的数据的列根据页面查询条件的不同,是动态变化的。行数也是变换的。我们最熟悉的莫过于列的数量是固定不变的,行的数量是动态改变的。这种情况,我们只有写一个SQL就能完成一切:select name,age,address from person;然后把上面SQL的查询结果,写到页面<table>或者拼接成JSON返回给页面就可以...原创 2013-11-22 16:05:28 · 299 阅读 · 0 评论 -
Java并发编程实战
import com.wanmei.parallel.concurrency.help.NotThreadSafe;import com.wanmei.parallel.concurrency.help.ThreadSafe;/** * <pre> * @author kanpiaoxue * Date 2013-11-25 * * 第一部分:...原创 2013-11-25 15:30:14 · 110 阅读 · 0 评论 -
Java中equals和== 的区别
很新手都困惑在equals和== 这个2个比较操作上面。在《Java编程思想(第四版)》里面对这2个操作符有详细的论述。我这里呢,写出了自己给出的一个例子,实在懒得看书的,可以看看。public class TestEquals { /** * <pre> * 这里的例子给出了 equals() 和 == 的区别 * 阐述如下: * 1、 ...原创 2013-11-27 15:13:25 · 77 阅读 · 0 评论 -
eclipse 快捷方式小结
收集网上很多好的关于eclipse快捷方式的文章,放在这里,供以后参考: 1、Eclipse全键盘编码攻略之引子2、Eclipse全键盘编码攻略之一——入门3、Eclipse全键盘编码攻略之二——天下无鼠4、Eclipse全键盘编码攻略之三——辟邪剑谱5、Eclipse快捷键 10个最有用的快捷键 ...原创 2013-01-30 00:40:59 · 93 阅读 · 0 评论 -
ForkJoin的RecursiveAction应用
RecursiveAction的应用//通用 divide-and-conquer 并行算法的伪代码。 // PSEUDOCODEResult solve(Problem problem) { if (problem.size < SEQUENTIAL_THRESHOLD) return solveSequent...原创 2013-11-29 11:20:54 · 250 阅读 · 0 评论 -
Spring jdbctemplate 得到SQL的元数据
public static void testFind() { DataSource dataSource = getDataSource(); JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); String sql = "select * from (select * from qpf_data_source...原创 2013-12-17 15:22:56 · 491 阅读 · 0 评论 -
Spring 下载地址
spring 3.× 开始采用Maven进行管理和构建。而我没有使用maven,也不想用maven来下载。这里给出spring的下载地址:在浏览器URL里面输入,就可以浏览各个文件夹,进行下载。 http://maven.springframework.org/release/org/springframework/...原创 2013-12-25 13:08:28 · 79 阅读 · 0 评论 -
Builder构建者模式,多参数构造函数的替代
/** * <pre> * BuilderExample.java * @author kanpiaoxue<br> * @version 1.0 * Create Time 2014年7月13日 上午9:56:24<br> * Description : Builder Example * </pre> */p...原创 2014-07-13 10:16:32 · 291 阅读 · 0 评论 -
如何修改java程序在任务管理器的映像名字呢
没有很好的办法。我们使用java.exe来执行的jar的程序,在Windows的任务管理器里面显示的都是java.exe的映象名称。有个取巧的办法,如下:copy一个完整的jre放在我们运行程序的目录下面,修改jre的bin里面的java.exe为你想要的程序名称。比如,我有个程序叫做“hello”,我想在Windows的任务管理器里面看见的进程名称是“hello.exe",就去修改jr...原创 2014-07-16 17:52:50 · 1220 阅读 · 0 评论 -
OFFICE OUTLOOK 2007 如何设置开机自动启动
第一步:让Outlook2007最小化时在系统托盘 打开Outlook2007,在系统托盘的Outlook图标上右键,选中“最小化时隐藏”。第二步:让Outlook2007开机启动 找到Outlook2007的快捷图标,复制。点击“开始/所有程序/启动”,在启动上右键,选择“打开”,粘贴。第三步:让Outlook2007开机启动时最小化 在所有程序菜...原创 2014-04-21 18:49:43 · 107 阅读 · 0 评论 -
alt+shift+a 百度HI热键和eclipse热键冲突
今天用Eclipse的列模式的快捷键 alt+shift+a 发现居然是截屏的功能。一定是什么程序的快捷键和Eclipse的冲突了。我装了百度HI,查看了一下它的快捷键设置,真的冲突了。在这里设置一下就好了。...原创 2014-04-24 09:28:32 · 684 阅读 · 0 评论 -
java语言时间表达式引擎
自己用的一个需要解析时间格式表达式的小工具类: /** * <pre> * Copyright CDC [2000-2015] * </pre> */package org.kanpiaoxue.commons.utils;import org.apache.commons.lang3.StringUtils;import org...原创 2015-06-04 20:07:47 · 409 阅读 · 0 评论 -
java判断是否Linux操作系统,判断OS操作系统类型工具类
/** * <pre> * @return 是否Linux操作系统 * </pre> */ public static boolean isLinux() { return !System.getProperty("os.name").toLowerCase() ...原创 2014-09-18 11:26:08 · 414 阅读 · 0 评论 -
基于base64的简单加密/解密程序(不安全,因为base64是通用的)
我们在WEB程序中经常会用到加密解密一些内容。下面给出一个简单的加密解密程序。不安全,因为base64是通用的。但是对于简单的混淆是可以使用的。如果要高强度的加密,应该选择加密算法,如:DES 等。该程序使用了Google的Guava框架。https://code.google.com/p/guava-libraries/ import com.google.common....原创 2014-09-20 10:17:02 · 1638 阅读 · 0 评论 -
简单的filter过滤实现类
/** * <pre> * Copyright kanpiaoxue.org [2000-2016] * </pre> */package org.kanpiaoxue.test;import org.apache.commons.lang3.StringUtils;import com.google.common....原创 2016-08-10 18:01:48 · 544 阅读 · 0 评论 -
备份指定的sql数据到文件中
--备份出指定的sql数据--mysql -h127.0.0.1 -P7018 -utest -ptest -e "select distinct ct_task_id from tb_test where task_type = 1" cdc_dmap > cdc_dmap.txt 出现乱码的解决方案,设置编码:set names utf8;--mysql ...原创 2016-08-29 14:46:29 · 132 阅读 · 0 评论 -
DateTime计算时间差
我们经常会计算2个时间之间的时间跨度,如:Date d1 = new Date();Date d2= new Date();DateTime dt1 = new DateTime(d1);DateTime dt2 = new DateTime(d2);Days.daysBetween(dt1, dt2).getDays();Hours.hoursBetween...原创 2016-09-01 23:25:12 · 4067 阅读 · 0 评论 -
安装MySQL Workbench 6.3.4 CE (winx64)报错KERNELBASE.dll的解决方案
在 oracle 的官网下载了 mysql-workbench-community-6.3.4-winx64-noinstall.zip 的压缩包,解压之后在 Windows 7 (64位) 机器上面运行,报错如下:报错信息 写道问题事件名称: APPCRASH 应用程序名: MySQLWorkbench.exe 应用程序版本: 6.3.4.0 应用程序时间戳: 55758818 ...原创 2015-10-09 10:42:54 · 397 阅读 · 0 评论 -
防止cmd/shell命令执行被IO阻塞卡死的程序
package org.kanpiaoxue.util;import org.apache.commons.io.IOUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.google.common.base.Preconditions;import com....原创 2015-10-14 20:07:41 · 1916 阅读 · 0 评论 -
调度系统设计要素
调度系统时间粒度:分钟、小时、日、周、月、季度、年依赖关系上下类型:时间粒度上大下小、时间粒度相等、时间粒度上小下大依赖关系分类:普通依赖(上下游)、截止依赖(累积性的任务,需要累计到某一天。周截止任务,会依赖于周一一直到现在的上游任务的数据)、自依赖(依赖于自身任务前面运行的结果)依赖关系的属性:偏移量、步长、左右补偿。 时序性:时序性很关键,尤其是对于累积性...原创 2015-10-16 14:41:33 · 177 阅读 · 0 评论 -
spring拦截器中的事务管理
引用自: http://janh.iteye.com/blog/71030 http://janh.iteye.com/blog/71030 写道探讨一下spring拦截器中的数据库操作和事务管理。 大家知道spring中的事务管理是通过AOP代理来实现的,对被代理对象的每个方法进行拦截,在方法执行前启动事务,方法执行完后根据是否有异常和异常的种类进行提交或回滚。 如果要...原创 2016-09-07 11:49:39 · 241 阅读 · 0 评论 -
Cookie长度超长的异常问题 net::ERR_EMPTY_RESPONSE
最近3个月发现一个问题。我设计的系统,我无法访问,其他人都可以。今天彻底的找了一下原因。原因如下:我是系统管理员,还是系统中每个团队的管理员。这些信息都被写到了cookie中,引起浏览器和服务器处理异常。错误信息如下:net::ERR_EMPTY_RESPONSE处理方案:将我从各个团队管理员里面删除,cookie变小,问题解决。 ...原创 2016-09-28 17:53:45 · 2011 阅读 · 0 评论 -
Unable to locate JAR/zip in file system as specified by the driver definition
在eclipse的“Data Source Explorer”弹出对话框中选一个driver,如果出现“Unable to locate JAR/zip in file system as specified by the driver definition: xxx.jar.”3 |: |% W) b! i& x0 d就要在“JAR List”选项卡中删除原有的驱动文件,重新加一下就好了...原创 2016-09-29 20:03:58 · 4973 阅读 · 1 评论 -
PowerMockit常用
文档: http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html 1、测试 void 方法@Autowired private JdbcTemplate jdbcTemplate; public static final String DELETE_INSTANCE_RELY...原创 2015-11-09 21:27:40 · 408 阅读 · 0 评论 -
查询mysql的表字典信息
SHOW TABLE STATUS LIKE '%tb_task%';原创 2015-11-19 16:54:15 · 309 阅读 · 0 评论 -
mysql bigint auto_increment超过最大数量之后的问题
今天看见我的一个程序的id到了1338497。超过10万了。突然我特好奇,我的id要是超过这个bigint 的最大程度会是什么样子。这里说明一下,我的数据库是mysql的,这个id字段设置为bigint auto_increment。然后我自己找了一下资料。如下:地址:http://bbs.csdn.net/topics/330220989 bigint unsigned 最...原创 2015-11-26 21:10:35 · 4136 阅读 · 0 评论 -
如何计算一个方法调用超时?
在日常的编程中我们经常会为一些特别消耗资源的动作添加一些限制,比如:timeout,超时。当超过这个时间的时候,我们应该采取某些措施。该如何验证这个方法已经超时了呢?我们可以参考一下apache的做法。代码如下:/* * ==================================================================== * License...原创 2016-11-09 16:04:59 · 513 阅读 · 0 评论