- 浏览: 131601 次
最新评论
-
xiaoqiS:
请问这个类"com.viva.server.mess ...
JMS Apache ActiveMQ使用(2) -
shanbaooo:
学习了,向楼主致敬
使用Spring的Log4jConfigListener注意修改webAppKey -
lscguhuo:
这篇文章还是很有用的,为什么没人顶呢,不厚道哦~
java与C++的DES加密与解密 -
allenny:
这个怎么能算陷阱呢,这个在初学Groovy的时候,文档教程上都 ...
groovy闭包嵌套的小陷阱 -
bloodwolf_china:
1楼的兄弟:好像俺没去过苏州啊,那里的人名就知道我了?
2楼 ...
Grails小技巧
文章列表
由于80端口需要root用户才能使用,所以tomcat都是root用户管理的,为了安全起见昨天安装了一个nginx作为反向代理,tomcat改为8080端口。但测试发现有几个接口一直报错,几个HTTP头取不到值,比对其他请求发现是包含了下划线。在百度和stackoverflow上查找问题发现,要求配置一下nginx,支持HTTP Header name支持下划线:
引用
underscores_in_headers on | off;
Default:off
Context:http, server
Enables or disables the use of underscores ...
之前使用过几次maven,真正使用发现有点麻烦包括XML的繁冗,不够灵活,学习曲线陡峭。因为对grails和groovy很熟悉,发现gradle是个很合适的构建工具。gradle是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具,从maven转到gradle非常简单。 但使用gradle要解决几个问题,我是这么解决的
一、环境区分问题
gradle本身不提供类似maven profile机制,但想自己实现非常简单。主要是资源及配置问题,要区分开发环境、测试环境、验收环境和商用环境,每个环境中的配置有相同的地方,也有不同的地方。所有要 ...
前几天因为笔记本有点慢,心血来潮想试着换成ubuntu操作系统试试。于是试着在家里台式机安装,按着网上的教程安装成功,启动菜单出现双系统,进入ubunt,就以为安装成功了。第二天老丈人说电脑用不了,一看果然windows 7进不去了。
再网上找了各种资料尝试,下了各种windowPE制作中U盘启动盘进行修复也没成功。想想算了还是研究一下原理,把这几天的研究记录一下。
grub2dos:linux下开源多系统引导程序
grldr:grub的主引导程序,按照menu.lst配置引导系统
bootmgr:windows7(NT6.1)的主引导程序,按照boot/bcd配置引导系统
...
最近一段时间由于服务器响应有些异常,所以花了半天做了一个简单实时监控页面。如下图
基本原理如下:
1、使用Filter拦截请求,采集服务器响应数据。
若是要收集响应状态码注意构造新的HttpServletResponse
package com.cmgame.ecms.statistic
import javax.servlet.http.HttpServletResponseWrapper
import javax.servlet.http.HttpServletResponse
/**
* 功能描述
* @author huzl
* @ver ...
这几天发现现网几台服务器的应用有内存泄露的现象,对其中缓存中各个对象数据进行检查,发现ehcache对象数量是2万多个,查询业务表中发现商用状态的业务数据还不到1万。
自己就写一段代码使用visualvm工具。对Ehcache中对象回收机制进行分析
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
CacheManager cacheManager = CacheManager.getInstance();
long startTime = ...
单元测试是对最小单元即方法的测试,要隔离对他模块的依赖,一般采用stub和mock两种方式
集成测试是对功能的测试,对于大部分web模块来说需要启动web容器,进行集成测试
maven生命周期中已经包含测试(test)和集成测试(integration-test),但未对两种测试代码做区分,需要自己解决启动web容器和代码区分问题。
首先配置maven jetty插件在集成测试阶段自动启动
<plugin>
<groupId>org.mortbay.jetty</groupId>
...
Java面试中关于容器类List,Set是必问题目。但在我的面试经历中很难遇到满意的答复。大部分只能了解其大概使用方法,对其内部结构缺乏了解,错误的使用方式会导致性能大幅下降。
首先介绍ArrayList,顾名思义内部数据结构是数组
private transient Object[] elementData;
private int size;
public ArrayList(int initialCapacity){
}
在增加元素时,若容量不足进行扩充
public void ensureCapacity(int min ...
groovy的SimpleTemplateEngine实现了模板功能,类似于jsp。那就分析groovy是如何实现模板的。
使用模板
Template template = new SimpleTemplateEngine().createTemplate(
new StringReader("<% // This is a comment that will be filtered from output %>\n" +
"Hello <%out.println(name);%> !")
...
步骤:
1、从mysql导出数据文件
select sender,imsi,random_code,date_format(token_create_time,'%Y%m%d%H%i%s'),date_format(last_login_time,'%Y%m%d%H%i%s'),1 as status
from tb_sms_token where last_login_time is not null
into outfile '/home/mysql/TB_GH_WLAN_TOKEN.dat'
FIELDS
TERMINATED BY '$'
ESCAPED BY '\\ ...
jdbc数据库连接丢失或未释放情况跟踪
- 博客分类:
- Spring
忙碌的工作让我很久没有写过博客了,另外技术上也没有明显的进步,也缺乏兴奋点。项目正式上线很长时间,随要访问压力的增大,每天PV差不多有500万。这时出现了一些问题,主要的是访问响应慢,程序中未发现异常。错误日志有数据库连接的错误,怀疑是数据库连接丢失或有某些请求会锁表。因此写一段代码跟踪数据库连接获取和释放的情况。
原理很简单,拦截DataSource的getConnnection方法,把当前Connection和调用堆栈保存到连接列表;拦截Connection对象close方法,把Connection从连接列表中删除。
直接上代码:
package com.emagsof ...
在tomcat的conf目录下添加文件context.xml,这个文件中的配置会在所有的应用中生效。
添加JNDI连接池配置
以mysql为例:
<Resource
name="jdbc/gamehall2"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql ...
DES(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。一般密码长度为8个字节,其中56位加密密钥,每个第8位都用作奇偶校验。
DES的几种工作方式
第一种电子密本方式(ECB)
将明文分成n个64比特分组,如果明文长度不是64比特的倍数,则在明文末尾填充适当数目的规定符号。对明文组用给定的密钥分别进行加密,行密文C=(C0,C1,……,Cn-1)其中Ci=DES(K,xi),i=0,1,…..,n-1。
第二种密文分组链接方式(CBC)
在CBC方式下,每个明文组xi在加密 ...
Grails小技巧
一、Controlller中params
Controlller中params是grails框架中的GrailsParameterMap类,继承自TypeConvertingMap,而不是一个简单的Map,
除了支持普通的Map方法以外,还有其他几个方法非常有用
Integer int(String name);
Long long(String name);
Double double(String name);
Short(String name);
List list(String name);
若需要得到数值类型的参数就非常方便了
in ...
逆波兰表达式又叫做后缀表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式,解决了四则运算中括号改变运算符优先级的问题。
四则运算的表达式一般都是中缀表达式如 1+2*(3-4)+5,即操作符在两个操 ...
- 2009-09-19 15:56
- 浏览 4784
- 评论(0)
技术方面:
工作流jBPM,OSWorkflow,用户权限Acegi和OSUser,ajax框架smartClient,java开发框架JBoss Seam,规则引擎JBoss rules。有空再读读grails和spring的源码。
系统设计:
设计中需要的各种文档,UML各种概念和UML工具Visio,Jude的使用
项目管理:
项目配置管理中各种概念基线、里程碑、分支等等,svn的使用,了解一下需求管理,学习使用JIRA
- 2009-08-07 18:11
- 浏览 1202
- 评论(0)