自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 资源 (5)
  • 收藏
  • 关注

转载 Spring事务的传播行为 @Transactional

Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked如果遇到checked意外就不回滚。如何改变默认规则:1 让checked

2013-12-17 18:35:03 831

转载 Spring 之注解事务 @Transactional

@Transactionalspring 事务注解默认遇到throw new RuntimeException("...");会回滚需要捕获的throw new Exception("...");不会回滚// 指定回滚@Transactional(rollbackFor=Exception.class)     public void m

2013-12-17 18:34:22 673

原创 ubuntu无线网卡驱动安装

安装了ubuntu12.10后没有无线网络,查了下才发现原来是没有安装无线网卡驱动,网上也很多教程怎样安装驱动,比如使用windows的驱动如何如何,经过了一番折腾,其实并没有这么复杂,完全按照驱动安装说明即可完成安装。安装过程主要参考了这篇文章:http://blog.chinaunix.net/uid-25885064-id-3154645.html如果你的网卡

2013-12-14 00:49:30 25711 1

转载 内核模块相关命令:lsmod,depmod,modprob,insmod

lsmod功能:列出内核已载入模块的状态用法:lsmod描述:    lsmod 以美观的方式列出/proc/modules的内容。    输出为:    Module(模块名)    Size(模块大小)   Used by(被...使用) eg. ne2k_pci           8928               0     8390        

2013-12-08 13:08:36 756

转载 ubuntu升级后删除老版本的内核

命令如下:dpkg --get-selections|grep linux 此命令列出所有安装的内核版本sudo apt-get remove linux-image-2.6.24-12-genericlinux-image-xxxxxx-generic就是要删除的内核版本重启生效

2013-12-08 12:37:54 966

转载 ubuntu中软件安装卸载和查看(转)

一、Ubuntu中软件安装方法1、APT方式(1)普通安装:apt-get install softname1 softname2 …;(2)修复安装:apt-get -f install softname1 softname2... ;(-f Atemp to correct broken dependencies)(3)重新安装:apt-get --reinst

2013-12-08 12:25:55 665

原创 关于HTTP长连接

今天下午跟同事讨论起项目中客户端和服务端请求的问题,不经意讨论到http的连接问题了,发现大家对http长连接的一些点都不是太了解,于是在网上查了下资料,做个记录。首先,什么是http长连接?http长连接即持久连接是http1.1版本的一个特性,即一个http连接建立完成一个请求-回应后,可以不需要立刻关闭,可以重复使用,具体可以度娘下。这个连接是否一定是请求-回应-

2013-11-30 00:30:02 2359

原创 MySQL几个性能指标

近期参加了一个DBA MySQL的分享,主要从MySQL的性能指标分析、同步及运维三个方面分享一些经验,其中,一些经验值还是值得记录下来的:对于一个MySQL实例,CRUD上限经验值如下:Query:3w/sInsert:2w/sUpdate:8000/sDelete:8000/s这几个值是一个经验值,即观察MySQL的性能报表,如果长时间超过这些值,说明就是不合理

2013-11-22 15:23:25 6369

原创 Alpha、Beta、RC、GA版本的区别

Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。GA:General Availability,正式

2013-08-30 14:08:27 555

原创 Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/sc

今天搞了下maven搭建SSH,配置完后启动报了个错误:Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]开始以为url路径有误,直接访问http://www.springframework.org/schema/

2013-07-18 12:38:50 19009 1

转载 struts2.1.6中double为0或者0.0时候验证错误

struts2.1.6中double为0或0.0时验证错误,这是struts2.1.6中xworke-2.1.2包double类型转换的bug,他认为0小于最小值导致的.升级到Struts 2.1.8 (GA)版就可以解决改问题了.今天下载了Struts 2.1.8 (GA)版发现里面对应的freemarker和sitemesh及插件等都升级了.正好一并升级一下了.另外可以

2013-07-01 23:40:31 1577

原创 Java读取相片信息

经常看到我们用相机拍的相片在用图片浏览器查看,或者鼠标放在上面时,会显示出相片的信息,比如拍摄时间、拍摄相机型号,更有的光圈,曝光等都有,现在如果想通过程序读取这些信息要怎么实现呢?首先介绍一下EXIF这么个东西,EXIF是Exchangeable Image File的缩写,这是一种专门为数码相机照片设定的格式。这种格式可以用来记录数字照片的属性信息,例如相机的品牌及型号、相片的

2013-02-05 09:50:31 3670

原创 EasyMock初探

尝试用EasyMock编写单元测试用例,确实挺好用的。这篇文章简要的介绍了Mock概念以及EasyMock的使用:https://www.ibm.com/developerworks/cn/opensource/os-cn-easymock/这篇文章对EasyMock的使用做了最基本的示例,比较好懂:http://www.cnblogs.com/yuxiaorong/arc

2013-01-30 17:26:20 424

原创 关于Java反射的一些事

一个类中,private的属性或方法,如何对这些属性进行读写操作或方法进行调用呢,答案就是反射。最近在写单元测试用例时,发现通过反射来测试一些private的方法或设置private的属性非常实用。先看定义一个类,其中有一个private的属性和一个private的方法,并且构造函数也是一个privatepublic class Context {private Strin

2013-01-24 17:25:09 680

原创 tomcat webdav文件上传读写冲突问题

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。T

2013-01-21 15:56:42 4048

转载 一些有趣的编程名言

以下内容收集自一些优秀的技术书籍章节开头的名言佳句,非常有意思,直接或间接反映了软件开发中的一些事情。生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya,Running Lean 作者如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,

2013-01-17 14:07:43 346

转载 JVM调优总结(五)--调优方法及反思

调优方法JVM调优工具Jconsole,jProfile,VisualVMJconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。如何调优

2013-01-17 13:57:16 2082

转载 JVM调优总结(四)--新一代垃圾回收算法G1

新一代的垃圾回收算法垃圾回收的瓶颈传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最

2013-01-17 13:54:27 1974

转载 JVM调优总结(三)--配置示例

典型配置举例以下配置主要针对分代垃圾回收算法而言。堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试

2013-01-17 13:52:40 564

转载 JVM调优总结(二)--垃圾回收

基本垃圾回收算法可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep):此算法执行分两阶段。第

2013-01-17 13:50:43 599

转载 JVM调优总结(一)--基本概念

一些概念数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddr

2013-01-17 13:48:57 479

原创 ant脚步执行JUnit测试用例

除了使用java来直接运行junit之外,我们还可以使用ant脚本,结合脚本执行junit用例,并生成测试报告,在进行每日构建等动作时非常有用。一个完整的例子:

2013-01-16 14:22:08 3381 1

转载 Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式

tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。 1)bio 默认的模式,性能非常低下,没有经过任何优化处理和支持. 2)nio 利用java的异步io护理技术,no blocking IO技术. 想运行在该模

2013-01-10 16:39:49 653

原创 AJP协议简介

AJP是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻

2013-01-10 16:36:20 1292

原创 java进程在但jconsole等监控工具无法连接问题

jps无法显示jvm进程本文转自http://trinea.iteye.com/blog/1196400 1、jps的作用jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command。 2、某个java进程已经启动,用j

2013-01-10 10:38:28 13781

原创 Digester及XML三种解析方式介绍

Digester基于规则的XML文档解析,主要用于XML到Java对象的映射。Struts就是用Digester来处理XML配置文件的。如今Digester随着Struts的发展以及其的公用性而被提到commons中独自立项,是apache的一个组件 apache commons-digester.jar,通过它可以很方便的从xml文件生成java对象。digester主页:http:

2013-01-09 11:17:50 2097

原创 更换class文件引发的问题

一直不提倡升级系统时直接更换class,但昨天还是这样做了一次,结果就是10分钟可以做完的事情花了两个多小时才弄好。。。过程是这样的:昨天下午需要对一个系统的已知bug进行升级修复,但是该系统对应的程序版本已经没有了(项目管理的问题,这里不讨论这个问题),因为只需要更换一个class,而且可以确认只对bug进行了修复,也就是一行代码的修改,于是很肯定的就拿了最新的class文件进行升级

2012-12-30 17:01:54 948

转载 枚举类型的单例模式(java)

枚举类型的单例模式(java)http://callmegod.iteye.com/blog/1474441 Inspired by Effective Java.Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective Java的时候》学到一种新的更好的方法(E):单元

2012-12-30 16:18:06 558

进程及资源查看软件

windows下进程和资源应用查看软件,可以查看当前系统每个进程资源使用情况,以及进程的调用树

2012-12-17

快速软件开发

通过一个个有趣的案例指出了项目开发中出现的问题,而这些问题与我们实际开发中遇到的问题是何其相似,会让人不自觉的想到,这不就是说的是我们团队吗? 非常有意思的一本书,建议可以当成是小说去看

2012-12-16

Expert One-on-One J2EE Design and Development

Expert One-on-One J2EE Design and Development 进阶架构师必读

2012-12-16

Effective_Java中文第二版

Effective_Java中文第二版

2012-12-16

空空如也

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

TA关注的人

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