自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

转载 让 Tomcat 7 按固定顺序部署 Web 工程(独立 Context 配置文件方式)

一、背景 为什么要固定部署顺序呢? 由于目前的工程越来越复杂,Web 工程间也存在依赖关系。如果存在 a,b,c 三个工程(同 Tomcat),a 启动时需要访问 b,c 的 RESTful 接口才可以正常部署(a 启动时要访问某些业务)。这时就有出现部署顺序的问题。 T...

2015-03-17 13:12:00 287

转载 使用 docx4j 将 Web 页面转换为 DOCX 与 PDF 格式

一、背景 项目中需要将某数据显示的内容,提供一个下载 DOCX 与 PDF 功能。在分析阶段发现docx4j(http://www.docx4java.org/trac/docx4j)提供了转换功能。在调试开发时遇到了 HTML 格式兼容,样式丢失,PDF 中文字体等问题。 ...

2015-03-12 16:36:00 1117

转载 Maven 环境下使用 proguard-maven-plugin 插件混淆你的源码

一、场景介绍 两个工程 Project1,Project2(将被混淆的工程)。Project1 将通过 Maven 依赖配置的方式引用混淆后的 Project2。后面我会详细介绍 pom.xml 的配置。 二、Maven 配置 1、Project1 的 pom...

2014-08-20 15:23:00 3437

转载 为程序块增加超时限制功能(修正2)

一、背景 在做产品时发现在某一逻辑中需要加入超时的限制,但原有程序块并不支持也不能修改。所以我需要在外部包装一层,加入超时逻辑。 二、分析(修正2) 想控制一段代码段的执行,我们可以采用开启新线程(Thread)的方式来控制。判断线程超时有多种方式,为了降低编码...

2014-07-16 12:18:00 237

转载 j-interop-code-148-trunk (3.0.0) Maven 打包 POM 文件

一、下载 SVN 上的源码 j-interop-code-148-trunk.zip http://sourceforge.net/p/j-interop/code/148/tree/trunk/ 二、放置三个 POM 配置文件 目录结构 -- pom.x...

2014-06-19 13:34:00 413

转载 加密云存储中的文件,保护你的隐私

一、背景 前几天一个硬盘坏了(SSD),数据无一幸免。还好我有一定的数据备份。新硬盘到了,我想的是不能再这样下去了。我需要利用现有云存储(Dropbox,xx快盘等),实时备份我的重要数据。问题也来了,云存储安全吗?不会出xx门吧? 二、分析 云存储安全从本质上来说肯定...

2014-03-06 13:31:00 565

转载 为程序增加处理速度的限制

一、背景 有些人可能不太明白为什么要限制,原因也很直白“因为程序处理不过来”。编写数据处理的程序时,程序写的再好也会有处理速度的瓶颈。所以当压力持续增加时,会导致数据处理程序直接崩溃,这个结果是我们不想看到的。我们希望看到的是可以处理不了并丢弃,但程序不能死。 二、分析 ...

2014-02-03 11:06:00 231

转载 Spring中使用SpEL动态选择加载Bean

一、背景 我的组需要开发一个公共基础Spring配置,来完成多个工程所需的共性配置与功能。但带来的问题则是Spring配置扩展问题,公共的Spring配置固然好,但如果需要扩展某个Bean就有问题了。列举一个典型的例子,如公共模块中LocalSessionFactoryBea...

2013-12-17 22:15:00 600

转载 让Tomcat7识别War包的Class-Path(MANIFEST.MF)属性动态加载类路径

一、背景 几个Web项目需要打包到一个发布包中,问题是War包都各自包含了自己的WEB-INF/lib,其中不少依赖Jar有重复。所以希望把War包的所有的lib都放到外部的一个公共目录减小总工程大小。但放在一个目录,以目录方式加载到全局Classpath就会产生类库冲突问题,如:w...

2013-11-01 18:02:00 1262

转载 扩展PropertyPlaceholderConfigurer对prop文件中的属性加密(修正1)

一、背景 处于安全考虑需要对.properties中的数据库用户名与密码等敏感数据进行加密。项目中使用了Spring3框架统一加载属性文件,所以最好可以干扰这个加载过程来实现对.properties文件中的部分属性进行加密。 属性文件中的属性最初始时敏感属性值可以为明文,程序第...

2013-09-24 02:41:00 129

转载 Java控制台输入选择超时处理方式(修正1)

一、背景 写个程序我需要一种场景,在程序启动时在控制台进行主动询问。如果输入为'y'则执行逻辑A,如果输入为非'y'或当等待输入时间大于3秒时执行逻辑B。 二、问题分析 采用System.in.read来截获键盘输入比较常见,但想做到自动输入超时,好像并没有原生...

2013-08-27 00:49:00 589

转载 生成Base58格式的UUID(Hibernate Base64格式的UUID续)

一、背景 前一篇博文(Base64压缩UUID长度替换Hibernate原有UUID生成器)已经阐述了如何用Base64格式来生成UUID,达到减小UUID的字符串长度的目的。前段时间无意中了解到了Base58,分析后发现比Base64更适合做为UUID主键的编码方式。 二、...

2013-08-21 15:09:00 260

转载 DocBook5中文样式整理(XSL)

一、背景 我比较喜欢采用DocBook5的方式编写文档。其好处就是在编写时,编写的重点在内容而非样式,后期统一进行格式处理转为docx(虽然扩展名也叫docx,但其实是Office Open XML,是MS Word 2007及以上支持的格式)。再转为标准Word或PDF模式。 ...

2013-08-07 15:09:00 606

转载 Ubuntu下快速搭建DLNA服务

1、背景 希望在电视上看电脑中的电影,但又不想每次都抱着笔记本接线看。再加上新装备的MiBox(小米盒子),所以急需Ubuntu下提供DLNA服务。 2、安装配置minidlna a、使用apt-get安装 sudo apt-get install minidln...

2013-07-29 00:53:00 922

转载 在Ubuntu下开启Chrome的WebGL功能(开启GPU加速)

一、问题背景 研究WebGL时发现自己机器的Chrome不支持(Ubuntu)。感觉不应该,毕竟Chrome是对新标准支持比较快的浏览器。 二、问题分析 上网查找资料后发现确实别人也有碰到这个问题。WebGL需要显卡硬(GPU)加速,Linux下可能没有默认开启。 ...

2013-07-21 23:45:00 3465

转载 以Jar形式为Web项目提供资源文件(JS、CSS与图片)

一、背景 最近正在编写TagLib,在开发的过程中遇到一个资源文件引用问题。因为我开发的TagLib最终是以Jar包的形式提供给项目来用的,所以Jar包中必须包含我开发TagLib所需的JS、CSS与图片等资源。问题就是Tag是在项目的Web工程中运行,如何访问到jar中的资源。 ...

2013-06-27 00:53:00 153

转载 Base64压缩UUID长度替换Hibernate原有UUID生成器

1、背景 在采用Hibernate做对象映射时,我一直都采用UUID来做主键。由于Hibernate的UUID需要占用32位的字符,所以一般都会让人感觉响效率且增加存储占用。 我在查看公司项目时发现了一种比较好的生成UUID的方法,就是将UUID数据进行Base64化。觉得比较...

2013-05-20 23:03:00 198

转载 当单例(Singleton)爱上多线程——重复初始化问题

一、问题背景 单例,大家都应该清楚,面试时也经常被问到,大家也都会写。但就是这个最常规的东西,让我有了新的认识。 问题是这样的,我正准备做一个不同情况时的性能测试。Bean的生成方式就是单例,getInstance()。测试时需要测试并发下代码的正常执行,所以采用多线程方式来调...

2013-04-28 22:50:00 267

转载 用Java(JUnit4)对JavaScript(含Ajax)脚本进行单元测试

一、背景 因为原来采用过Rhino(JS解析引擎,新版JDK中也默认包含另外一个解析引擎)来在Java环境中解析JavaScript并运行其中的方法。最近看到有人在问题里提问,模拟Ajax请求的问题。所以就想看看有没有方法通过Rhino来实现Ajax请求的模拟。 二、分析 ...

2013-04-09 02:38:00 213

转载 Google Reader停止服务了,用Feedly替代

1、背景 我知识的重要来源之一Google Reader马上就要Over了,痛心啊。默哀~ 2、解决方式 http://www.feedly.com提供了比较好的阅读模式与Google Reader的很多功能相似。并支持自动导入Google Reader中的数据,无缝迁移。...

2013-03-14 22:24:00 149

转载 Java序列化与JSON序列化大比拼2(alibaba/fastjson)

一、背景 前面发了一篇引起了一些争论(http://my.oschina.net/noahxiao/blog/112759),有人建议alibaba/fastjson不错,我还是继续上次的测试程序加入了alibaba/fastjson的测试实现,来测一测。 二、测试方式 同...

2013-03-11 13:36:00 183

转载 Java序列化与JSON序列化大比拼

一、背景 有项目需要传输Map结构的数据,有人倾向用Java序列化来做,有人倾向用JSON的序列化来做。所以我们还是比比吧。 Java观点:Object2Object,使用时简单快速。 JSON观点:JSON格式与语言无关,扩展性强,速度也应该不慢。 大家可能对Jav...

2013-03-10 16:35:00 543

转载 解决Linux下编译Java产生 illegal character: \65279 错误的问题

1、问题背景 由于项目开发需要,从svn中checkout代码下来,用ide打开设置为UTF-8编码进行编译。结果却产生了illegal character: \65279 错误,搞得一头雾水。 2、分析问题 开始以为是编码没有选对,调整了并询问原开发人员确认是UTF-8...

2013-02-27 01:00:00 257

转载 ReentrantLock可重入锁的使用场景

摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a、用在定时任务时,如果任务执行时间可能超过下次计划执行时间,确保该有状态任务只有一个正在执行,忽略重复触发。 b、用在界...

2013-01-11 14:28:00 77

转载 Wicket按Session加密URL请求,让你的Web应用更安全

1、问题背景 由于使用Wicket框架,自带了做请求url做加密的功能,意思很简单就是让生成的action url不可理解。 只需要在主Application中的init方法中加入以下内容(官方样例) IRequestMapper cryptoMapper = new Cry...

2012-12-28 00:25:00 124

转载 Everpad,Ubuntu下的Evernote客户端

1、Evernote Evernote(http://evernote.com/)是一个在线笔记服务,支持文本,图片,语音,手写,附件等。 同时也有终端软件,Win、Mac、iOS、Android等就是没有官方的Linux版,抑郁~ 当然在中国有它的中国版叫印象笔记。我用的是E...

2012-12-26 13:54:00 103

转载 获得Ubuntu系统的安装时间

1、问题背景 今天要填写一个表格,需要输入系统的安装时间。这谁记得啊,无奈查看了一些系统文件时间。有的是出厂时间,有的是软件更新时间,并没有找到好的标杆。 2、分析解决 上网检索后发现Ubuntu系统并没有明确提出这样的指令与接口。不过我们还是可以通过其它的两个途径...

2012-12-25 12:00:00 5038

转载 Ubuntu下/tmp采用tmpfs提升临时文件处理速度并增加安全性

1、问题背景 Ubuntu版本:12.10 64bit 其实刚开始并不是从提升速度的角度来考虑采用tmpfs的,而是我需要让/tmp更安全。 有一次博文提到了Ubuntu文件的安全删除(http://my.oschina.net/noahxiao/blog/77261),但无法解...

2012-12-19 13:44:00 1193

转载 使用Linux下Shell脚本切换Maven的settings.xml文件

一、问题背景 由于在公司与在家都有单独的maven配置,所以需要经常修改settings.xml中的activeProfile来切换profile。感觉还是太麻烦所以打算自己写了一个Shell来解决这个问题。 二、分析解决 a、首先把settings.xml复制两份 ...

2012-12-05 08:57:00 402

转载 解决使用Artifactory仓库时无法下载snapshot包的问题

1、问题背景 新搭建了一个Artifactory环境大体上都没有什么问题。但就是在执行mvn指令时无法获取通过mvn deploy部署到Artifactory的snapshot包。 2、分析解决 a、并没有下载有时间后缀的文件jar maven下载时直接下载1.0-S...

2012-11-28 15:43:00 768

转载 Ubuntu 12.10下用Pidgin(pidgin-lwqq)登录QQ

1、问题背景 因为我用Linux系统(Ubuntu),所以登录QQ一直我的难题。WebQQ确实不错,但我还是想要pidgin与empathy那样的风格。把多个im整合在一起。 上次我介绍了(http://my.oschina.net/noahxiao/blog/88687)emp...

2012-11-13 02:38:00 89

转载 Ubuntu 12.10下用Empathy(pidgin-lwqq)登录QQ

1、问题背景 因为我用Linux系统(Ubuntu),所以登录QQ一直我的难题。WebQQ确实不错,但我还是想要pidgin与empathy那样的风格。把多个im整合在一起。 新的Ubuntu 12.10启用的Online Accounts概念导致pidgin的插件用起来还要多一...

2012-11-12 14:41:00 82

转载 dom4j解析国际化(xml:lang)XML文件

1、问题背景 由于老项目需要进行国际化(翻译英文),其中一些xml内容也需要进行翻译。但这时问题就来了,英文版是有了中文怎么办? 存两个xml?abc.xml,abc_zh_CN.xml。这也是个方法但这就需要修改读写xml的模块,让它像properties一样可以支持按语言读取...

2012-10-29 13:44:00 288

转载 Windows8(64位)下解决QQ2012无法启动问题

1、问题背景 装了个win8(64bit)玩(cn_windows_8_x64_dvd_915407),在安装完qq2012正式版后发现无法正常启动。 2、解决 缺少vc(32位)运行库导致。安装Microsoft Visual C++ 2005 SP1 Redistributable ...

2012-10-03 21:04:00 165

转载 Word文档VBA读写Properties文件,让文档动起来

1、问题背景 由于最近写Word文档比较多,发现文档中很多内容有重复。当然常用手法就是Ctrl+V、Ctrl+C,开始可能还行。但随后客户提出修改要求时就疯了。 Word中为啥没有个变量? 我开始只知道Word有域的概念,但在界面上操作时遇到了困难,很难定义。 2、分析解决 首先有一个...

2012-09-20 13:47:00 663

转载 onejar-maven-plugin把java类与lib打包为一个可运行jar

1、问题背景 我们有时要开发一个Java Application,就是main来直接运行的那种,虽然有好多工具可以帮助我们打为jar。 但会有以下两个问题: 第一种是需要lib目录依赖一起来运行。(需要依赖文件,一个jar不可以运行) 第二种就是是把其它依赖的jar解开和你的类放在一个j...

2012-09-12 23:23:00 140

转载 解决Ubuntu中Document Viewer看中文PDF问题

1、问题 Ubuntu或Mint(我用的就是)下用Document Viewer需要打开中文PDF(无内嵌字体)的中文无法正常显示。 2、解决 Ubuntu的Document Viewer的用是Evince。看PDF用的是poppler库。 安装poppler-da...

2012-09-10 14:26:00 513

转载 Linux Mint Xfce 安全删除文件(secure-delete)

1、问题背景 大家都知道,系统的删除操作其实并没有把真实的数据抹掉。只是标记为删除,就可当空资源使用了。 只要真实内容没有被占用就可以用一些恢复工具来恢复这些文件。 但这时就出现了一个问题,对于有较高保密要求的文档来说存在风险。怎样才能保证数据的安全? 方法其实就是把文件的内容所占空间...

2012-09-07 09:57:00 359

转载 通过javamelody监控web应用的性能指标

1、问题背景 为了提升应用的性能我们可能需要做很多分析和优化。但具体从哪里优化,优化的效果是多少就难以判定了。 javamelody用嵌入式的监控方式,实时监控性能指标。如:页面相应时间,spring bean方法调用时间,sql语句执行时间等很多指标。我在这就不一一列举了。 我感觉比较...

2012-08-29 18:30:00 66

转载 100%纯java调用windows的wmi获取监控数据

纯java主要体现在可以跨平台调用com。所用的是j-Interop,它是100%纯java实现的com的调用 1、环境准备 a、windows要开启Remote Registry与Windows Management Instrumentation服务 b、修改安全策略 我系统是...

2012-08-16 18:17:00 290

空空如也

空空如也

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

TA关注的人

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