- 浏览: 58040 次
- 性别:
- 来自: 上海
最新评论
文章列表
一、JVM配置参数中文说明:
1、-Xmixed mixed mode execution (default)
混合模式执行
2、-Xint interpreted mode execution only
解释模式执行
3、-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
设置zip/jar ...
分布式服务框架之NIO(一)
- 博客分类:
- 编程工匠之所想
NIO在实现分布式服务框架中非阻塞高并发的服务器端功能十分有用。抽空学了下,下面的学习过程中接触到的代码示例,这些代码基本演示了NIO的最基本的一些特性。
(一)Buffer:
代码一:演示直接缓冲区的使用
import java.nio.ByteBuffer;
public class ByteBufferDemo01 {
public static void main(String[] args) {
//直接缓冲区
ByteBuffer buf = ByteBuffer.alloca ...
Spring声明线程池配置示例
- 博客分类:
- 编程工匠之所想
<bean id="***TaskExecutor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="5" />
<property name="maxPoolSize" value="50" />
...
HTTPS下载的问题
- 博客分类:
- 编程工匠之所想
遇到一个很恶心的问题,开发以及测试环境是http协议,下载功能是OK的
线上环境是HTTPS的协议,在firefox下下载是OK的,但是一转到IE下就不明不白的下载不了。看日志也不报错。
后来搜索了老半天,发现是需要手动开启IE的缓存权限,如下两行代码搞定:
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "max-age=30");
神啊,程序员真折磨人啊
注 ...
实现自己的csv文件解析引擎
- 博客分类:
- 编程工匠之所想
前言:
这里仅仅支持Excel文件导出的CSV文件,解析的核心是一个正则表达式,这个正则表达式取自<精通正则表达式>一书中,感谢作者。
1、解析引擎结构图
2、很懒很懒,直接上代码了
/**
* CSV 文件解析
*
* @param <T>
* @param xmlInputStream
* @param clazz
* @param file
* @return
*/
protected <T> List ...
今天项目中遇到一个小问题,类似的代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
*
* @author liyebing
* @version $Id: TestError.java, v 0.1 2011-7-20 下午10:59:59 liyebing Exp $
*/
public class TestError {
...
通用的excel报表生成工具类
- 博客分类:
- 编程工匠之所想
下面这个工具类是今天半天的劳动成果。
以后自己也可能用得到。在此做一个记录。涉及公司的信息的代码以及注释已经删除。哈哈。。。。
依赖了开源的POI工具包,网址:http://poi.apache.org/
这个工具类自己还没经过严格测试,简单测了一下,大体差不多是OK 的。
源码中注释掉的部分即为测试代码
上源码罗:
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
imp ...
正则表达式元字符总结
- 博客分类:
- 编程工匠之所想
正则表达式元字符总结如下:
点号(.):任何单字符的通配符
反斜杠(\):在任何元字符前面加上反斜杠,它会失去元字符的特殊作用
星号(*):用来匹配前面的内容出现零次或者多次
加号(+):加号匹配前一个条目一次以上
问号(?):前一个条目是可有可无的,也即,前一个条目可以不出现或者出现一次
竖线(|):择一匹配。意思是左边匹配或者右边匹配都行
字符集:一串可能出现的字符集合,通过写在方括号([])内来表示。它只匹配单个字符,但可以是字符集里列出的任何一
个, 可以使用连字符(-).例如:[a-zA-Z]
脱字 ...
在企业开发中,常常会遇到这样的需求:通过一个唯一标识将一个线程(或者一个客户端)从开始进入系统一直到退出该系统完整的系统调用路径产生的所有日志串联起来。
这样做带来的一个明显的好处就是:通过命令 grep 唯一标识 *.log 可以获取该线程(客户端)本次调用的所有日志。这对于排查系统问题是有莫大好处的。下面列举两种解决方案:
在处理之前,必须整理出所有系统调用的入口点。比如系统A,有三个入口点,分别是通过页面访问,外部系统调用A系统发布出去的WS服务,A系统接收外部系统发送的消息。
方案一:通过埋点或者拦截器在系统入口方法调用之前设置本地线 ...
windows下perl开发环境搭建
- 博客分类:
- 编程工匠之所想
1、下载并安装ActivePerl,貌似不需要额外的配置,一步一步按照提示安装完毕即可
2、安装UltraEdit,在这里打算用这个文本编辑器作为perl学习的IDE,配置 高级--->工具配置,如下图所示:
配置好之后,可见在高级菜单下生成子菜单“perl编译以及运行”,可直接在UltraEdit里运行perl程序
3、在UltraEdit中新建文件stdin.pl,代码如下:
#!/user/perl/bin/perl
$line=<STDIN>;
if($line eq ...
要在命令行下跳转到某个嵌套很深的目录下时,使用cd命令等比较麻烦,如果在鼠标右键上添加一个菜单“cmd here”,那么可以直接跳转到该文件所在的目录,进而可以对其进行命令行操作。
步骤:
1、创建一个记事本文件,将以下文字复制进去,然后保存。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\cmdhere] @="Cmd&Here"[HKEY_CLASSES_ROOT\*\shell\cmdhere\command] @="cmd.exe /c start cmd.e ...
一、常用关键字
one 期望调用执行一次且仅一次
exactly(n).of 期望调用执行n次。注意:one其实是exactly(1)的简写
atLeast(n).of 期望调用执行至少n次
atMost(n).of 期望调用执行至多n次
between(min,max).of ...
大约有两类情况:
1、一个程序代码块同一时刻只允许一个线程或者用户进程访问。
解决方案:单独创建一个用来锁表的表table1,利用
select * from table1 where lockType=? for update
或者
select * from table1 where lockType=? for update nowait
2、表table2中的数据行在一个代码块执行期间不允许其他代码对其进行修改
select * from table2 where id=? for update
当然,这行锁表语句与该代 ...
最近一个项目出了大量的BUG,很是惭愧,有没有可以尽量规避BUG的良方呢?可能没有,但总有尽量减少BUG出现几率的方法论吧
我个人觉得在企业应用开发中,BUG大致可以分为如下三类:
一、程序本身语义上的BUG。运行时BUG。比如NP之类的。
二、需求理解方面的差异导致的BUG。简单说,就是程序本身语义没有问题,但是程序实现的需求和客户要求的需求不吻合
三、可降级的BUG。即这类BUG不会影响到程序的主流程。主要是客户体验类的问题。
这三类BUG的解决之道个人认为可以分别从下面几个方面解决:
一、单元测试覆盖
二、透彻理解需求+全面的集成测试
...