自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 nginx处理HTTP header问题

由于80端口需要root用户才能使用,所以tomcat都是root用户管理的,为了安全起见昨天安装了一个nginx作为反向代理,tomcat改为8080端口。但测试发现有几个接口一直报错,几个HTTP头取不到值,比对其他请求发现是包含了下划线。在百度和stackoverflow上查找问题发现,要求配置一下nginx,支持HTTP Header name支持下划线:[quote][b...

2014-07-10 12:46:50 617

原创 gradle 使用技巧一(jetty jndi,多环境配置)

之前使用过几次maven,真正使用发现有点麻烦包括XML的繁冗,不够灵活,学习曲线陡峭。因为对grails和groovy很熟悉,发现gradle是个很合适的构建工具。gradle是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具,从maven转到gradle非常简单。 但使用gradle要解决几个问题,我是这么解决的 一、环境区分问题...

2013-01-30 12:52:55 184

原创 安装linux后无法启动windows 7 解决方法

前几天因为笔记本有点慢,心血来潮想试着换成ubuntu操作系统试试。于是试着在家里台式机安装,按着网上的教程安装成功,启动菜单出现双系统,进入ubunt,就以为安装成功了。第二天老丈人说电脑用不了,一看果然windows 7进不去了。 再网上找了各种资料尝试,下了各种windowPE制作中U盘启动盘进行修复也没成功。想想算了还是研究一下原理,把这几天的研究记录一下。 grub2do...

2012-11-24 11:32:57 627

原创 使用highcharts实现实时监控曲线图

最近一段时间由于服务器响应有些异常,所以花了半天做了一个简单实时监控页面。如下图[img]http://dl.iteye.com/upload/attachment/0071/7199/f6ba9e59-de73-3f72-a569-4095a725dfb1.png[/img][img]http://dl.iteye.com/upload/attachment/0071/72...

2012-08-06 12:57:20 937

原创 使用visualvm工具分析Ehcache缓存中内存回收机制

这几天发现现网几台服务器的应用有内存泄露的现象,对其中缓存中各个对象数据进行检查,发现ehcache对象数量是2万多个,查询业务表中发现商用状态的业务数据还不到1万。自己就写一段代码使用visualvm工具。对Ehcache中对象回收机制进行分析 [code="java"] BufferedReader reader = new BufferedReader(new Input...

2012-07-11 14:12:36 215

原创 使用maven实现单元测试和集成测试

单元测试是对最小单元即方法的测试,要隔离对他模块的依赖,一般采用stub和mock两种方式 集成测试是对功能的测试,对于大部分web模块来说需要启动web容器,进行集成测试 maven生命周期中已经包含测试(test)和集成测试(integration-test),但未对两种测试代码做区分,需要自己解决启动web容器和代码区分问题。 首先配置maven jet...

2012-05-16 15:39:49 563

原创 ArrayList,LinkedList使用场景及性能说明

Java面试中关于容器类List,Set是必问题目。但在我的面试经历中很难遇到满意的答复。大部分只能了解其大概使用方法,对其内部结构缺乏了解,错误的使用方式会导致性能大幅下降。 首先介绍ArrayList,顾名思义内部数据结构是数组[code="java"] private transient Object[] elementData; private int s...

2012-05-14 15:20:15 79

groovy 模板引擎实现原理分析

groovy的SimpleTemplateEngine实现了模板功能,类似于jsp。那就分析groovy是如何实现模板的。使用模板[code="java"]Template template = new SimpleTemplateEngine().createTemplate( new StringReader("\n" + "Hello !...

2012-01-19 15:29:29 266

mysql数据导入oracle

步骤: 1、从mysql导出数据文件[code="sql"]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 statusfrom tb_sms_token where last_lo...

2012-01-06 13:36:52 309

jdbc数据库连接丢失或未释放情况跟踪

忙碌的工作让我很久没有写过博客了,另外技术上也没有明显的进步,也缺乏兴奋点。项目正式上线很长时间,随要访问压力的增大,每天PV差不多有500万。这时出现了一些问题,主要的是访问响应慢,程序中未发现异常。错误日志有数据库连接的错误,怀疑是数据库连接丢失或有某些请求会锁表。因此写一段代码跟踪数据库连接获取和释放的情况。 原理很简单,拦截DataSource的getConnnection方法...

2011-12-03 00:35:43 796

Tomcat连接池配置以及连接失效问题解决

在tomcat的conf目录下添加文件context.xml,这个文件中的配置会在所有的应用中生效。 添加JNDI连接池配置以mysql为例:[code="xml"][/code]其中[color=orange]validationQuery[/color]属性表示在每次从连接池中获取数据库连接时,连接池都会使用此sql语句校验连接是否有效,若使用oracle可以...

2010-05-07 16:34:14 699

java与C++的DES加密与解密

DES(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。一般密码长度为8个字节,其中56位加密密钥,每个第8位都用作奇偶校验。 [b][color=orange]DES的几种工作方式[/color][/b] [color=orange][u] 第一种电子密本方式(ECB)[/u][/col...

2010-04-28 13:01:49 458

Grails小技巧

Grails小技巧一、Controlller中paramsControlller中params是grails框架中的GrailsParameterMap类,继承自TypeConvertingMap,而不是一个简单的Map,除了支持普通的Map方法以外,还有其他几个方法非常有用[code] Integer int(String name); Long long(String ...

2010-04-15 11:31:05 92

逆波兰表达式解决四则运算

逆波兰表达式又叫做后缀表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式,解决了四则运算中括号改变运算符优先级的问题。四则运算的表达式一般都是中缀表达式如 1+2*(3-4)+5,即操作符在两个操作数之间。四则运算需要两个步骤,一是把中缀表达式转为后缀表达式,二是由后缀表达生成结果 [color=orange][b]中缀表达式转为后缀表达式算法描述:[/b][...

2009-09-19 15:56:59 397

原创 要学的东西很多,离自己的目标还有很长的一段路

技术方面: 工作流jBPM,OSWorkflow,用户权限Acegi和OSUser,ajax框架smartClient,java开发框架JBoss Seam,规则引擎JBoss rules。有空再读读grails和spring的源码。系统设计: 设计中需要的各种文档,UML各种概念和UML工具Visio,Jude的使用项目管理: 项目配置管理中各种概念基线、里程碑、...

2009-08-07 18:11:51 96

grails中RequestDispatch的forward终极解决方法

在使用grails中发现,controller本身没有提供转发请求的方法,之后查看源码后发现按照grails的DispatchServlet的格式即/grails/controllerName/actionName.dispatch这样的URI,是可以转发的。但发现如果在gsp或jsp中调用request.getRequestDispatcher(uri).forward(request,...

2009-01-13 17:09:32 194

grails基本框架

使用grails开发已经有一段时间,中间遇到不少问题,由于grails本身提供的文档有点简单,某些功能实现还须参考其源码。在分析过程中逐渐了解其运行构架,稍做介绍。grails框架是根据约定优于配置这条原则搭建,MVC部分是基于Spring MVC,持久层是基于hibernate。查看打包后的文件目录,找到WEB-INF/web.xml,可以发现核心的几个配置[code="xml"]...

2009-01-09 16:45:36 500

groovy闭包嵌套的小陷阱

groovy的闭包特性极大的方便了程序开发,不过在嵌套闭包要稍微小心一点先认识一下Groovy闭包中有几个隐含变量 it:默认的参数名,[color=blue]如果没有传参数,it为null,如果自定义了参数名,那就不存在it的定义了[/color] this : 跟Java一样,是定义闭包所在类的一个引用,不管有多少层闭包嵌套,this指向的都是最上层的类。 owner : 封...

2008-12-26 11:29:20 743

grails可配置数据源(datasource)

grails默认提供的是在conf/DataSource.groovy中配置数据源,不同环境配置在environments闭包中。但对于某些项目数据源的配置不是由程序开发人员负责的,有专门的部署人员。不可能让部署人员去修改DataSource.groovy,然后再编译发布,所以必须找到一个更灵活的配置方式。[list][*]方法一:在conf/spring目录下添加一个resour...

2008-11-12 17:41:57 362

grails源码分析---之Filters机制(2)

我们写一个Filters跟踪分析一下Filters是如何变化加入到CompositeInterceptor的handlers成员 [code="java"] class TestFilters { def log ={ before = { println "Before Filter" } } ...

2008-11-11 17:29:59 117

grails源码分析---之Filters机制(1)

grails提供了两种对请求的拦截机制,一是在Controller中定义beforeInterceptor和afterInterceptor两个方法,分别在执行action之前和之后调用,具体实现代码是在SimpleGrailsController和SimpleGrailsControllerHelper中,不再赘述。 还有一个是Filter,即在grails-app/conf目...

2008-11-11 14:55:50 179

原创 grails的requestDispatcher的forward问题

java web开发关于请求的处理转发有两种方式, [list][*]一是redirect ,返回302状态和一个新Location给浏览器,让浏览器重新请求[*] 二是requestDispatcher,可以用forward方法把请求转发给目标处理器。grails 1.03现在的controller只提供了redirect方法,没有提供forward方法。即使自己使用...

2008-11-07 15:43:39 323

答复: 现在用grails来做项目是不是太激进

[quote="robbin"]我不喜欢Grails的一个比较重要的原因是:Grails不是一个完全自己造轮子的框架!事实上Grails的底层封装了Hibernate/Spring,因此本质上程序运行还是依赖Hibernate/Spring。这就会带来一个问题:当你深入开发、调试代码的时候,无法回避Hibernate/Spring。那么这种隔了一层的做法在某些需要深入定制的地方会给你带来很大的麻烦...

2008-10-26 13:37:54 110

grails开发小贴士

--系统参数配置1、grails提供了conf/Config.groovy,可以把系统参数写在里面如user.charge.max.times=5在Controller/Taglib中使用grailsApplication.config.user.charge.max.times方式访问在Service或其他模块中使用ConfigurationHolder.config.user....

2008-09-11 14:12:15 65

简化grails打包部署

  最近使用grails开发了一个小模块,总共就五个表不到10功能,如果使用熟悉的spring+hibernate估计一两天就能完成,使用grails缺花了我一个星期。毕竟学习新东西还是要花一点时间,一边看文档一边写代码,又走了一点弯路。再加上不知道如何使用grails支持apache的AJP协议,自己写了一个支持AJP协议的Jetty服务。不过通过这段时间的使用感觉grails开发还是比较方便,...

2008-09-11 13:51:00 704

使用Spring的Log4jConfigListener注意修改webAppKey

  在使用spring先后开发了两个模块,单独测试都正常。也先后上线运行,之后发现有个模块在启动Tomcat后总是初始化失败,必须到tomcat管理控制台手动启动。找了半天也没发现原因。后来管理员在每次重启Tomcat后这个模块没有运行导致一堆问题和麻烦,今天特意查看了其他的tomcat日志文件,终于发现了问题所在,原来是Log4jConfigListener。使用它是为了随时调整打印日志的级别而...

2008-08-13 15:11:22 115

JMS Apache ActiveMQ使用(3)

:) 还有工作就是如何接受JMS Message并进行处理了,spring中也有现成的框架进行处理MessageListenerAdapter和DefaultMessageListenerContainer,我们只要写一个普通类编写处理消息的逻辑,具体如何接收消息都由Spring完成。spring-listener-jms.xml[code="xml"] ...

2008-06-26 17:11:10 60

JMS Apache ActiveMQ使用(1)

:) 现在的系统业务是每人开发一个模块,然后用HTTP接口访问。由多个用个用户注册的入口,用户注册事件处理也分布到不同的代码里。看起来相当不舒服,所以决定使用JMS来处理事件触发后的逻辑,降低系统的耦合,也方便开发修改代码。 :) 以前也只是听说过MQ,但一直也开发过这方面的程序,趁此机会正好学习一下。由于现在开发的也不是什么大型系统,采用Apache的ActiveMQ就足够了。网...

2008-06-26 16:57:22 64

JMS Apache ActiveMQ使用(2)

:) 下面就进行程序开发,没得说,当然是spring了 :) 使用spring开发JMS比较简单,直接使用的是JmsTemplate,需要几个相关对象。[list]ConnectionFactory:创建与ActiveMQ连接的工厂类Destination:目标Topic或QueueMessageConverter:在Java POJO和JMS Message进行转换[/...

2008-06-26 16:56:44 83

HibernateTemplate使用之手工管理Session和Transaction

大多数人在第一次使用HibernateTemplate时都很好奇,不需要自己关闭Hibernate Session。如果在需要使用事务的情况一般使用spring配置TransactionProxyFactoryBean用AOP方式实现,还有就是使用HibernateTemplate的execute(HibernateCallback action)方法,构造一个匿名类实现HibernateCall...

2008-06-04 16:57:15 150

快学Scala pdf

以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读,包括文法解析和Actor示例

2018-08-09

产品开发计划书模板

产品开发计划书模板,可以据此编写项目或产品开发计划

2015-12-15

空空如也

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

TA关注的人

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