自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(154)
  • 收藏
  • 关注

原创 ActiveMQ消息主体

消息主体消息主体包含了消息的核心数据。JMS 定义了5中消息类型: TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage选择最合适的消息类型可以使JMS最有效 的处理消息。TextMessage(文本消息)将数据作为简单字符串存放在主体中(XML就可以作为字符串发)

2014-03-22 15:50:12 11617

原创 windows下安装RabbitMQ消息服务器

RabbitMQ是什么 ? RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。1:安装RabbitMQ需要先安装Erlang语言开发包。下载地址 http://www.erlang.org/download.html 在win7下安装Erlang最好默认安装。      配置环境变量 ERLANG

2014-03-09 11:56:51 30794 10

原创 Java多线程总结之线程安全队列Queue

在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全的类 ,指的是类内共享的全局变量的

2014-03-02 22:20:32 169516 3

原创 spring 3.1.0.M 注解MVC + filter + AOP + memcache + C3P0

spring 3.1的包全导了 + 依赖包 commons-logging-1.1.1.jar  +  servlet-api.jarAOP需要的几个包 aopalliance.jar  +  aspectjrt.jar  +  aspectjweaver.jar  +  cglib-nodep-2.1_3.jarmemcache 需要的包   java_memcached-relea

2014-02-27 17:42:36 2535

原创 squid缓存:refresh_pattern指令

refresh_pattern指令如下:看论坛有人出现一个问题,就是当 Expires 设置为 60 秒以内时都不会 Cache ,但当设置成 61 秒时就能 Cache。其实这不是个问题,在 Squid 中有这样一行配置 minimum_expiry_time 默认值是 60 。所以只需要修改这个值.就能实现 60 秒以内 Cache 了.注意了,这个参数不要修改

2014-01-23 19:19:15 9672

原创 简单的Nginx+Squid+Tomcat架构

配置细节:1. #Ninx Confuser  nobody nobody;worker_processes 10;error_log  /usr/local/nginx/logs/nginx_error.log  crit;pid        /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile

2014-01-22 22:53:54 3234

原创 SQL Server与MySQL数据库对比

Microsoft SQL Server 2008作为一个数据库平台在所有重要商业领域都胜过MySQL。它提供了一个大型的资源网络、行业领先的性能和企业级的可扩展性、最高级的安全性、一个广泛的商业智能平台——以一个较低的总体拥有成本(TCO)提供所有这些。  · 合作伙伴系统   · 可扩展性   · 安全性   · 高有效性   · 商业智能

2014-01-21 16:57:08 25763

原创 提高开发效率的vim常用命令

基本命令:e filenameOpen filename for edition:wSave file:qExit Vim:q!Quit without saving:xWrite file (if changes has been made) and exit:sav filenameSaves

2013-11-11 18:06:50 1012

原创 POST同时上传多个文件

含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造 1、概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议添加了这个功能。客户端的浏览器,如 Microso

2013-11-07 14:54:44 14231 1

原创 Openstack命令收集

查看rabbitmq 队列rabbitmqctl list_queues 查看keystone的用户keystone user-list查看keystone endpoint keystone endpoint-list查看keystone的rolekeystone role-list 查看keystone 服务keystone service-list

2013-08-30 15:17:18 838

原创 DB2完全卸载(AIX)

如果你是已经成功安装过db2,在/.profile中进行了配置,那么在再次安装的时候可能会不成功,需要到/.profile配置进行还原。您必须具有 root 权限才能卸载DB2。1、删除数据库 su - db2inst1 (这里db2inst1为实例用户) db2 list db directory (查看所有数据库列表) db2 connect to db

2013-08-12 14:40:02 2933

原创 OpenStack云计算快速入门之三:OpenStack镜像管理

第三部分 OpenStack镜像管理一、简介很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack。不过如果是为生产环境进行部署的话,您一定需要构建含有定制软件或配置的镜像文件。不要着急,本章将引领您完成几种较为流行的Linux发行版镜像,最后也将制作一份Windows的镜像。由不同的Linux发行版制

2013-07-31 15:56:40 1668

原创 OpenStack云计算快速入门之二:OpenStack安装与配置

一、引言本章内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1、Server2和Client1,之后的各章也是如此。Server1承载着Nova、Glance、Swift、Keystone及Horizon(OpenStack的Web UI)服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几

2013-07-31 15:52:29 1561

原创 OpenStack云计算快速入门之一:OpenStack及其构成简介

一、云计算    云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。因需而定、提供方便、动态改变和无限的虚拟化扩展能力是云计算的几个重要特征。不同的“云”对应着不同的基础设施。下面是三种广义的“云”:l 基础设施即服务(IaaS)l 平台即服务(PaaS)l 软件即

2013-07-31 15:49:32 1513

原创 以公司实际应用讲解OpenStack到底是什么

可能很多人从Ubuntu和HP的新闻当中听说过OpenStack,知道它跟云计算相关,可是OpenStack究竟是做什么的,可能不少人还只有比较模糊的感觉。而在之前一篇《OpenStack实践之旅:安装配置篇》发布之后,有读者询问有没有具体的应用。那么接下来,本文将以公司实际应用场景为例,介绍OpenStack能用来做什么。  OpenStack是一个云平台管理的项目,它不是一个软件。这个

2013-07-31 15:15:54 3647

原创 Spring ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别

spring通过在web.xml 中配置ContextLoaderListener 来加载context配置文件,在DispatcherServlet中也可以来加载spring context配置文件,那么这两个有什么区别呢。ContextLoaderListener中加载的context成功后,spring 将 applicationContext存放在ServletContext中ke

2013-05-29 12:54:17 17360 2

原创 Maven项目搭建及常用包添加

Maven作用大家可以自己查下,java用它来搭建感觉还是很不错的。最近用了一段时间,写点东西留下。我不习惯使用命令式的,所以我的Maven用的是Eclipse插件,插件地址:http://m2eclipse.sonatype.org/sites/m2e安装以后,就可以用它来建立项目了。一、首先新建一个 Maven project,在Next中选择Create a simple pro

2013-05-27 16:30:09 1453

原创 用artifactory搭建maven2内部服务器

访问http://www.jfrog.org/sites/jfrog/index.html下载最新的zip包(内置jetty)  下载和解压artifactory。目录结构如下:    这些目录是:    backup —— 仓库的备份,可以使用cron表达式设置备份策略,quartz定时调度程序在指定的时间里运行备份任务,备份时间间隔在‘ARTIFACTORY

2013-05-22 17:59:56 12671

原创 Maven安装配置及其插件m2e(Eclipse Indigo 和 MyEclipse8.5)的安装配置

系统:Windows7 使用软件: Maven3.0.3 + Eclipse Indigo JEE 安装Maven 1. 下载解压缩Maven3.0.3,放在某一个目录下 我的目录为:D:\study\greensoft\apache-maven-3.0.3 2. 确认JDK环境已经配置好,JAVA_HOME环境变量配置好。 3. 配置环境变量M2_HOME为M

2013-05-22 15:37:42 10240

原创 gson的@Expose注解和@SerializedName注解

gson的@Expose注解和@SerializedName注解  @Expose标签的2个属性.   1.1 deserialize (boolean) 反序列化 默认 true    1.2 serialize  (boolean) 序列化 默认 true    使用 new GsonBuilder().excludeFieldsWithoutExposeA

2013-05-16 15:17:39 2982

原创 使用maven2 打ear包

xml version="1.0" encoding="UTF-8"?>project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

2013-04-24 16:21:08 1792

原创 ConcurrentLinkedQueue的实现原理分析

1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下Doug Lea是如何使用非阻塞的方式来实现线程安全队列Concurren

2013-04-18 17:44:45 784

原创 apache digester简介

digester简介Digester本来仅仅是Jakarta Struts中的一个工具,用于处理struts-config.xml配置文件。显然,将XML文件转换成相应的Java对象是一项很通用的功能,这个工具理应具有更广泛的用途,所以很快它就在Jakarta Commons项目(用于提供可重用的Java组件库)中有了一席之地。 如今Digester随着Struts的发展以及其的公用性而被

2013-04-16 14:54:29 2189 1

原创 keystore提取私钥和证书

keytool -genkey -alias test -keyalg RSA -keystore c:/key.store生成keyStoreRSA是一个既能用于数据加密也能用于数字签名的算法。DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验

2013-03-15 14:18:33 38316 3

原创 关于Nginx的一些优化(突破十万并发)

worker_processes 8;nginx进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。

2013-03-11 17:02:16 8065

原创 图片存储架构学习:独立的图片服务器,给爱一个独立的空间

前言去年我凭着对网站架构的浓厚兴趣陆陆续续给大家分享了不少大型网站架构的经典案例,但是大部分都只是介绍了大概,并没有深入地研究,有兴趣的朋友可以去我博客的网站架构分类下学习讨论。今年我打算继续学习网站架构方面的知识,并对此作更加深入地分析与实践,当然学习成果会及时和大家分享和交流,希望今年自己的能力可以更上一层楼吧。这几天我一直在关注大型网站中图片存储方面的相关问题,通过了解和实践,体会颇

2013-03-08 16:29:53 15097 2

原创 三大WEB服务器对比分析(apache ,lighttpd,nginx)

一.软件介绍(apache  lighttpd  nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth,输出压缩(output compress), URL重写, Alias等重要功能

2013-02-05 16:51:11 2357

原创 JAVA缓存技术

最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考。此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-ehcache介绍 JNotify:http://jnotify.sourceforge.net/,通

2013-02-04 17:55:21 65317 8

原创 亿万用户网站MySpace的成功秘密

高速增长的访问量给社区网络的技术体系带来了巨大挑战。MySpace的开发者多年来不断重构站点软件、数据库和存储系统,以期与自身的成长同步——目前,该站点月访问量已达400亿。绝大多数网站需要应对的流量都不及MySpace的一小部分,但那些指望迈入庞大在线市场的人,可以从MySpace的成长过程学到知识。MySpace开发人员已经多次重构站点软件、数据库和存储系统,以满足爆炸性的成长需要,但此工

2013-02-04 16:43:11 1633

原创 高性能的3Par InServ存储服务器

Priceline.com是一家以销售空座机票为主的网络公司,客户数量多达680万。该公司近期正在内部实施一项大规模的SAN系统整合计划,一口气购进了5套3PARdata的服务器系统,用以替代现有的上百台Sun存储阵列。如果该方案部署成功的话,将有望为Priceline.com节省大量的存储管理时间、资本开销及系统维护费用。  Priceline.com之前一直在使用的SAN系统是由50台光纤

2013-02-04 16:28:08 1425

原创 Web缓存服务器:使用Varnish代替Squid

简介Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了C

2013-02-04 16:03:09 2022

原创 JAVA内存溢出解析

内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规律,查看日志或查看数据库也不能定位出问题的代码。更严重的是内存溢出与数据库锁表在系统开发和单元测

2013-01-29 14:03:45 3090

原创 filter结合gzip 解决web应用中网络传输数据量大的问题

过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,INCLUDE或FORWARD或REQUEST或ERROR该元素位于filter-mapping中。一、批量设置请求编码Java代码public class En

2013-01-22 18:13:12 1384

原创 存储过程编写经验和优化措施

在网友的博客中看到这编文章不错,就记了下来。供大家参考,在写存储过程时的经验之谈1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。2、开发人员在提交SP前,必须已经使用set showpla

2013-01-14 17:52:31 3555

原创 SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I

2013-01-14 17:33:07 618

原创 聚簇索引与非聚簇索引的区别

在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式因为如此,所以一个表最多只能有一个聚簇索引。不过这个定义太抽象了。在SQL Server中,索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。如下图

2013-01-11 16:48:03 865

原创 大型网站架构技术方案集锦

1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish。这个站点提供 “Online Dating” 服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Markus

2012-12-18 10:16:08 3103

原创 for循环 增强for循环 iterator遍历集合的区别与用法

1.手先增强for循环和iterator遍历的效果是一样的,也就说 增强for循环的内部也就是调用iteratoer实现的,但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。 2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。 3.而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用 增强for循环,也

2012-12-13 15:23:08 4760

原创 spring 管理 memcached

spring配置Xml代码xml version="1.0" encoding="UTF-8"?>  beans   xmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="htt

2012-12-06 16:59:26 2255

转载 深入研究ReentrantLock(重入锁)

synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。1.某个线程在等待一个锁的控制权的这段时间需要中断 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程 3.具有公平锁功能,每个

2012-11-02 15:47:12 3740

空空如也

空空如也

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

TA关注的人

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