- 浏览: 15464 次
- 性别:
- 来自: 上海
最新评论
文章列表
一个基于RSA算法的Java数字签名例子
- 博客分类:
- java
一、前言:
网络数据安全包括数据的本身的安全性、数据的完整性(防止篡改)、数据来源的不可否认性等要素。对数据采用加密算法加密可以保证数据本身的安全性,利用消息摘要可以保证数据的完整性,但是还有一 ...
java中使用公钥加密私钥解密原理实现license控制现在很多J2EE应用都采用一个license文件来授权系统的使用,特别是在系统购买的早期,会提供有限制的license文件对系统进行限制,比如试用版有譬如IP、日期、最大用户数量的限制等。而license控制的方法又有很多,目前比较流行,只要设计的好就很难破解的方法就是采用一对密匙(私匙加密公匙解密)来生成License文件中的Sinature签名内容,再通过Base64或Hex来进行编码。比如原BEA公司现在是Oracle公司的WebLogic就采用的是这种方法来设置License文件。 这里只进行一个比较简单的实现: 一共三 ...
构建高性能web站点
- 博客分类:
- java
起因
大概花了一个月不到的时间,看完了这本400页不到的书《构建高性能web站点》,不得不说这是我第一次真正意义上完全看完一本书,尽管曾经看过许多技术类的书。其中一个原因,就是大部分的技术类书籍偏向枯燥,即使是本着某种虔诚的目的和愿望去阅读,仍然很容易中途放弃。但是这本书却不同,它十分能吸引我的阅读愿望,几乎在所有的环节上能够引起我的共鸣思考,于是便快速的阅读了一遍此书。
作者主要以典型的LAMP为例子,我几乎没有接触过这方面,但是相信思想是一致的,学思想打基础才是关键。因此,本文是以概要性的总结为主。
概览图
下面这张图我花了比较长的时间绘制,提炼了书中关于基础架构设计方面 ...
作为软件工程师,你必须知道的20个常识
- 博客分类:
- java
作为一名优秀是软件开发工程师,以下的这些常识你知道吗?在实际工作中有没有总结过呢?小编就带大家一起分享这20个软件开发常识。
1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发,简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。
2.软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深刻的理解这一点。
3.数据结构与算法:深刻理解像数组,列表,栈,树,图,集合等这样的基本数据结构,并在软件开发过程的关键部分使用好的算法。这样整个软件逻辑就会很清晰了。
4.Big-O符号来标记算法复杂度:在开发过程中,请务必使用Bi ...
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:
#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …#配置日志信息输出目的地Appenderlog4j.appender.appenderName = fully.qualified.name.of.a
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
log4j--log for java (java的日志)
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log ...
Dom4j也可以很方便完成XML文档的创建、元素的修改、文档的查询遍历等,但dom4j稍比jdom复杂一点,不过在大片文档的情况下dom4j的性能要不jdom好。
# 准备
首先,提供相关的jar包
Dom4j jar包下载:
http://sourceforge.net/projects/dom4j/files/dom4j-2.0.0-ALPHA-2/
jaxen jar下载:
http://repo1.maven.org/maven2/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar
和dom4j依赖或相关的jar:
http://dom4j.s ...
Spring集成ActiveMQ配置
- 博客分类:
- java
1. 集成环境
Spring采用2.5.6版本,ActiveMQ使用的是5.4.2,从apache站点可以下载。本文是将Spring集成ActiveMQ来发送和接收JMS消息。
2. 集成步骤
将下载的ActiveMQ解压缩后文件夹如下 activemq-all-5.4.2.jar是activemq的所有的类jar包。lib下面是模块分解后的jar包。将lib下面的
Java代码
用maven构建项目
- 博客分类:
- java
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图:
安装成成之后我们在Eclipse菜单栏中点击File->New->Other,在弹出的对话框中会看到如下图所示:
2. 构建Maven项目
以eclipse3.6为例
1)创建简单Maven项目
点击 ...
common-lang (2.1)
ArrayUtils
常量中包含了基本类型(及其相对应类)的空数组。
提供向数组增加元素(包括增加单个元素或是整个数组),删除元素,翻转元素排列次序
克隆数组(基本类型)
查找数组中的元素(是否包含,返回索引)
获得数组长度(null
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。我选了一些比较常用的项目做简单介绍。文中用了很多网上现成的东西,我只是做了一个汇总整理。 一、Commons BeanUtils http://jakarta.apache.org/commons/beanutils/index.html 说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。 使用示例:功能有很多,网站上有详细介绍。一个比较常用的功能是Bean Copy,也就是copy bean的属性。如果做分层 ...
中文简体转化繁体中文
- 博客分类:
- java
public class Encoding {
// Supported Encoding Types
public static int GB2312 = 0;
public static int GBK = 1;
public static int HZ = 2;
public static int BIG5 = 3;
public static int CNS11643 = 4;
public static int UTF8 = 5;
public static int UNICODE = 6;
public s ...
java中equals和==的区别
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为true时,==不一定为true;
一、String中的equals和==1、public class TestString { public s ...
最近在修改一个Web Service项目,该项目是用Axis 1.X 版本写的。当我调试该项目时,发现代码中凡是出现“oper.setStyle(org.apache.axis.enum.Style.RPC);”和“oper.setUse(org.apache.axis.enum.Use.ENCODED);”的地方MyEclipse都对其进行了报错。经网上查实,得出分析结果如下:
问题原因: 在JDK 1.5及其以上版本中,enum都会被JDK认为是系统关键字,不能作为自定义变量使用。而我的JDK是1.6版本的,因此项目在编译时始终无法通过。
准备工作:到网站”http:// ...
回顾2011 展望2012
- 博客分类:
- 随笔
转眼间2011已过去,2012已来到;回顾2011很多人很多事都已经悄悄改变着;自己也在改变,为了某些人辞掉了上海的工作来到了深圳;远离了上海几年相处的朋友,虽然有点舍不得但是还是离开了;为了另一个目标;直到现在上海的朋友们都过的不错;工作上很顺利,有些也已经找到了自己的另一半,甚至有的朋友已经结婚了;在这里祝福他们,虽然由于种种原因没亲自恭喜,但是通过各种方式已经送上了祝福;祝你们幸福快乐。来深圳也有大半年了,这里的一切都和上海不一样;重新开始自己的生活。在这里,没有了大上海的闹市和小资,没有了冬天的寒冷,没有了老朋友下班后围坐看篮球的热闹,更没有了异地恋。现在多了更多二人世界;新的环境,新的 ...