- 博客(39)
- 收藏
- 关注
原创 Redis快速入门:安装、配置和操作
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 如何安装Redis? Redis的官方下载站是http://redis.io/download,可以去上面下载最新的安装程序下来,我写此文章时的的稳定版本是2.2.1...
2013-04-26 15:01:24
203
原创 非对称加密
非对称加密 非对称加密有一对密钥,公钥和私钥。可以用公钥加密,也可以用私钥加密。不过,公钥加密必须用私钥解密,私钥加密必须用公钥解密。如果不对应,则会报这样的异常javax.crypto.BadPaddingException: Data must start with zero 代码如下: Java代码 import java.secu...
2013-03-21 21:19:49
225
原创 java处理加密文件---数字证书文件格式(cer和pfx)的区别
java处理加密文件中常见的两种数字证书文件格式(cer和pfx)数字证书文件格式(cer和pfx)的区别 1.带有私钥的证书由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。2.二进制编码的证书证书中没有私钥,DER 编码二进制格式的证书文件,...
2013-03-21 21:10:57
427
原创 linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastle
linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法 这是因为加入了jdk的第三方安全库,需要额外配置1.查看/etc/profile下JAVA_HOME配置路径, 如果不存在,使用whereis java命令你会看到java: /usr/...
2013-03-21 21:09:24
342
1
原创 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类
老帖了,但是还是想自己收录一下。最后也把自己对于这个问题的一些粗糙的理解记录下来。 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面...
2012-07-25 22:18:45
175
原创 php cannot load php5apache2_2.dll
故障现象: 在命令符方式下启动Apache时提示错误信息“Syntax error on line 122 of D:/Apache/conf/httpd.conf: Cannot load D:/PHP/php5apache2_2.dll into server”,导致Apache无法启动。 Apache的配置文件D:/Apache/conf/httpd.conf第122行内容为:...
2012-06-12 10:44:13
141
原创 解决ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
今天刚在一台服务器上安装好mysql,对mysql进行安全加固之后,一刷新权限,结果报错,说mysql.servers表不存在.mysql> flush privileges;ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist既然不存在那就创建一个,当然要先use mysql才行,不然直接创建会报错.CREATE TABLE...
2012-05-24 17:54:31
3273
原创 shell获取进程ID的方法
shell获取进程ID的方法:我知道和实践过的有这么三种: ps -A |grep "cmdname"| awk '{print $1}' pidof "cmdname" pgrep "cmdname"这三种在bash和busybox ash里面的运行结果稍有不同,第一种完全相同,但是因为调用命令次数较多,性能上是不行的。第二种: pidof 只能获取...
2012-05-17 15:15:44
1589
原创 更新Maven插件后启动报Could not calculate build plan
Could not calculate build plan: Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.4.3 from http://mvn.hz.netease.com/artifactory/repo was cached in the local repository, reso...
2012-05-10 11:52:29
171
原创 在apache上通过mod_ssl配置https
1.编辑/usr/local/apache2/conf/httpd.conf#Include conf/extra/httpd-ssl.conf 去掉#号或者最后添加一行 2.编辑/usr/local/apache2/conf/extra/httpd-ssl.conf 添加SSLRandomSeed startup builtinSSLR...
2012-05-02 17:55:44
483
原创 jboss数据池不稳定问题
现在的问题是,jboss一启动的时候,第一次连接会报这种异常,然后第二次的时候就没有了,服务跑上1两天就会出现这种异常,最下面的那种,很奇怪,不稳定,oracle10, ojdbc14.jar, jboss.4.2.2GA linux 10:29:13,497 WARN [JBossManagedConnectionPool] Throwable while attempting to...
2012-04-26 11:37:48
463
原创 SOA架构设计概要
主要内容也是来自《SteveY对Amazon和Google平台的长篇大论》1. 通过服务接口提供全部数据和操作我们理解的SOA必然是通过接口的方式将数据与功能开放出来的,但要想要往平台方向发展,必须保证用且仅用服务接口的形式提供数据和服务:团队间的程序模块的信息通信,都要通过这些接口;除此之外没有其它的通信方式。其他形式一概不允许:不能直接读取其他团队的数据库、不能使用共享内存模式、不能使...
2012-04-25 11:51:13
119
原创 服务管理框架
使大型分布式系统大型服务化之后足高可用及低运营成本,新的系统架构需要满足以下条件:1. 服务管理框架需要具备的功能1.1. 容错性failover:客户端容错支持,并支持自动失效探测及恢复调用;failfast:快速失败。很多远程服务调用是在关键路径中,它可以容忍失败,但是不能容忍堵塞;failback:故障恢复。能够快速定位错误,进行reset来尝试恢复。1.2. 中心化的运营管...
2012-04-25 11:48:58
270
原创 网络应用系统设计的基本原则
系统功能KISS原则: keep it simple and stupid- 系统实现容错原则:Design with failure in mind因为没有无故障的软件也没有无故障的硬件,所以,没有无故障的系统。过犹不及原则:Just in time . 设计够用就好 . 部分重构优于整体重构和前面的KISS原则可以接合着一块用。另外8020原则也差不多是这个意思...
2012-04-25 11:02:41
312
原创 请求通过F5转发后如何获取客户端真正的IP地址
F5是硬件负载均衡器,如果使用request.getRemoteAddr()来获取的话,得到的是F5的IP地址,那么如何才能真正获取客户端的IP地址呢?首先需要在F5上配置 X-Forwarded-For,然后可以通过request.getHeader("x-forwarded-for");来获取客户端的IP地址。具体参考官方文档https://...
2012-04-01 14:24:14
6933
原创 Linux下Oracle日志工具Log4plsql的安装配置
1、下载Log4plsql # wget http://prdownloads.sourceforge.net/log4plsql/Log4plsql.zip 2、解压Log4plsql# unzip Log4plsql.zip 3、为了便于管理,把Log4plsql移动Oracle安装主目录,在我的机器上是/db/oracle# mv Log4...
2012-03-28 23:41:18
277
原创 Linux内存cached过大的原因以及出现java.lang.OutOfMemoryError问题
最近进行上线前的压力测试,突然有天早上上班来,发现测试服务器JAVA进程挂掉了,查找原因发现:A fatal error has been detected by the Java Runtime Environment:## java.lang.OutOfMemoryError: requested 4092 bytes for char in /BUILD_AREA/jd...
2012-03-28 23:15:38
1315
原创 Nginx下400 Bad Request The plain HTTP request was sent to HTTPS port的原因
upstream payment443{ server 10.11.157.111:443 backup; server 10.11.157.222:443 weight=1; } Location ~ /payment/ { ssi on; proxy_pass http://pa...
2012-03-28 23:06:14
4507
搭建jboss集群共享session
最近公司项目需要搭建一个jboss集群,同时研究了一下jboss集群下session一致性的问题,解决方法有两种,一种是Session Sticky的方式,另一种采用jboss replicaton 。 技术方案如下: 技术方案1:采用Nginx Session Sticky...
2012-03-28 21:18:45
818
原创 Jconsole远程连接JBOSS监控运行情况
修改jboss的run.conf文件在JAVA_OPTS=后面添加-Djava.rmi.server.hostname=10.11.200.11 -Dcom.sun.management.jmxremote.port=8950 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmx...
2012-03-28 20:31:25
357
原创 怎样用Java运行64位程序
32位下JVM最大可用内存<4g$ java -showversion -Xmx4g HelloWorldInvalid maximum heap size: -Xmx6gThe specified size exceeds the maximum representable size.Could not create the Java virtual machine...
2012-02-16 18:09:49
471
原创 nginx配置详解
Nginx 配置文件详解 user nginx ; #用户 worker_processes 8; #工作进程,根据硬件调整,大于等于cpu核数 error_log logs/nginx_error.log crit; #错误日志 pid logs/nginx.pid; ...
2012-02-10 15:51:23
115
原创 tomcat的maxThreads、acceptCount(最大线程数、最大排队数)
tomcat 6的Connector配置如下<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads...
2012-02-10 15:44:51
544
原创 jboss 启动停在Initializing Spring root WebApplicationContext 的问题
最近在装IDC机房的新机器,JBOSS启动的时候一直停止在Initializing Spring root WebApplicationContext这个位置,在测试服务器上好好的,自己检查了好半天,以为那里配置错误了,后来好到原因,是因为数据库无法连接上,导致spring一直停在那里加载。因为数据库连接配置的还是测试数据库地址,IDC机房的机器与测试服务器是无法互通的,造成无法连接到...
2012-02-10 11:15:04
331
原创 Linux普通用户如何使用80端口启动程序
大家都知道默认情况下Linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常。 解决办法有两种: 1.使用非80端口启动程序,然后再用iptables做一个端口转发。 2.假设我们需要启动的程序是nginx,那么这么做也可以达...
2012-02-02 16:09:02
710
原创 Red Hat Nginx Init Script
Should work on RHEL, Fedora, CentOS. Tested on CentOS 5. Save this file as /etc/init.d/nginx #!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfi...
2012-01-16 17:58:11
118
原创 Linux 下 strace 命令用法总结
Linux 下 strace 命令用法总结(一)1 功能说明strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括系统调用名称, ...
2012-01-16 17:56:51
162
原创 J2SE5.0中的注解
一、什么是注释 说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源代码的。在J2SE5.0中可以自定义注释。使用时在@后面跟注释的名字。 ...
2011-12-26 12:07:36
84
原创 failed to lazily initialize a collection of role:no session or session was close
解决方法(延迟加载问题)把fetch= FetchType.LAZY 改成 fetch = FetchType.EAGER1、OpenSessionInView模式:以下有2种方法,第1种是结合SPRING,第2种是采用了拦截器Spring+Hibernate中, 集合映射如果使用lazy="true", 当PO传到View层时, 出现未初始化session...
2011-12-21 18:49:02
226
原创 JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat(转载)
jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hun...
2011-12-05 18:26:27
112
原创 Java性能 - Java Programming Guidelines
这一部分包含了Java编码和性能方面的问题, 这个guidelines不是专门针对应用服务器的,但这是一些在很多情况下的偶通用的规则,如需了解Java coding最佳实践的完整分析探讨,请参考 Java Blueprints.避免序列化(Serialization)和反序列化(Deserialization)序列化和反序列化一个对象都是非常消耗CPU (CPU-intensiv...
2011-12-02 18:43:05
133
原创 SNA -- Shared Nothing Architecture研究
现在我们的项目用户session都存放在每个web server中ThreadLocal还保存,如果是多个服务器部署的web app的话,需要每台服务器同步共享Session。<?xml version="1.0"?> <jboss-web> <replication-config> <replication-trig...
2011-12-02 11:37:13
152
原创 Struts2 Result-type(封装Action层到View层的跳转逻辑)
Struts2将Result列为一个独立的层次,可以说是整个Struts2的Action层架构设计中的另外一个精华所在。Result之所以成为一个层次,其实是为了解决MVC框架中,如何从Control层转向View层这样一个问题而存在的 在struts2-core.jar/struts-default.xml中,我们可以找到关于result-type的一些配置信息,从中可以看出stru...
2011-11-29 18:19:02
100
原创 struts2中result的type跳转类型
原文http://www.javaeye.com/topic/305413chain 用来处理Action链 com.opensymphony.xwork2.ActionChainResult dispatcher 用来转向页面,通常处理JSP org.apache.struts2.dispatcher.ServletDispatcher...
2011-11-29 17:54:27
101
原创 struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)(转载)
dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 :<result name="success">/main.jsp</result> <result name="success">/main.jsp</result> 以上写法使用了两个默认,其完整的写法为: <result name="s
2011-11-29 17:51:41
230
原创 Yslow前台页面优化
减少HTTP请求次数合并图片、CSS、JS,改进首次访问用户等待时间。 使用CDN就近缓存==>智能路由==>负载均衡==>WSA全站动态加速 避免空的src和href当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。测试 为文件头指定Expires使内容具有缓存性...
2011-11-25 18:16:50
140
原创 JBoss中Connector中HTTP与AJP区别
JBoss服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把JBoss服务器的响应结果发送给客户。默认情况下,JBoss在server.xml中配置了两种连接器:<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> <Conn...
2011-11-11 12:37:25
613
原创 大流量网站的底层系统架构分析
动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等 服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通 常与数据库系统、缓存系统、分布式存储系统等密不可分。大型动态应用系统平台主要是针对于大流 量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证...
2011-11-03 11:35:37
116
原创 使用Callable返回结果
本文是Sun官方以Blog形式发布的Java核心技术窍门(JavaCoreTechTip)中的一个。本文主要介绍了Callable及其相关接口和类的使用,篇幅不长且易于理解,故翻译在了此处,相信对于准备或刚接触java.util.concurrent的朋友会有所帮助。 自从Java平台的最开始,Runnable接口就已存在了。它允许你定义一个可由线程完成的任务。如大多数人所已知的那样,...
2011-11-02 18:41:12
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人