摘要: 1.背景Spring-amqp是Spring为了方便开发RabbitMQ程序而做的一个第三方类库。Amqp全名Advanced Message Queuing Protocol,即高级消息队列协议。旨在提供一种跨平台跨语言的消息服务,AMQP是一种应用层协议,不同于JMS(API接口),目前实现AMQP的开源项目包括RabbitMQ, Aman Gupta等,RabbitMQ是应用最广泛的AMQP的实现,使用erlang开发使其具有了较高的读写性能。RabbitMQ官方提供了Java,.NET,erlang版本的客户端,提供了基本的消息操作实现。2.相关概念AMQP中的基本概念:Queue:队 阅读全文
posted @ 2013-01-13 12:10 琥珀光 阅读(1536) 评论(0) 推荐(0) 编辑
摘要: 第一章:Crl+F5不缓存重新请求URL,CDN缓存技术。第二章:同步异步,阻塞非阻塞第三章:乱码本质:用不正确的编码解码,byte[]无编码,char[]有编码第四章:词法分析=>语法分析=>语义分析=》字节码生成第五章:JavaClass字节码操作分析第六章:全路径+classloader才能确定一个java对象实例第七章:Java栈与线程关联,堆内存对象本尊第八章:jmap,jstat,堆,栈,方法区,jvm状态分析,OutOfMemory表示堆内存不够用或内存泄露,StackOverFlow表示栈大小分配的不够或者无限迭代,堆外内存第九章:握手型交互式,ServletCon 阅读全文
posted @ 2013-01-06 23:27 琥珀光 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 项目中用到了zookeeper做分布式锁,每次去看zookeeper内容的时候总是要登到服务器上查看,不太方便,于是自己做了一个管理zookeeper内容的小工具。GitPath:https://github.com/ryuubaishi/zookeepercontroller界面比较粗糙,不过功能还够用。主要有以下功能:1.管理连接:不同的连接串会显示为根节点。如上图的zeus:2181,一般格式为host:port[,...host:port].2.管理节点:增删节点,修改节点内容主要的使用步骤:1.部署/dist/ZooKeeperController.war到任意J2EE容器2.访问h 阅读全文
posted @ 2012-12-02 15:40 琥珀光 阅读(3145) 评论(0) 推荐(1) 编辑
摘要: 最近整理一下自己出道以来接触到的JAVA技术,发现真的什么都有,比较杂。 阅读全文
posted @ 2012-11-18 19:53 琥珀光 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 近日对MongoDB比较感兴趣,在linux下部署了一套LAMP,想把MongoDB加进来,下面进入正题:1.确保安装好LAMP环境,假设php安装目录:/usr/local/php52.下载https://github.com/mongodb/mongo-php-driver/downloads,我下载的是mongodb-mongo-php-driver-1.3.0beta2-112-g0878db0.tar.gz 传到服务器上3.到服务器上,解压mongodb-mongo-php-driver-1.3.0beta2-112-g0878db0.tar.gz,进入目录,执行命令:/usr/lo 阅读全文
posted @ 2012-10-05 22:36 琥珀光 阅读(2239) 评论(0) 推荐(0) 编辑
摘要: Jetty 版本信息 Jetty7 - 此插件更名为jetty-maven-plugin,以便更符合maven2的协定。为了在Web应用做快速应用开发做准备,详见多Web应用源目录。 为了在Jetty里运行一个Web应用,你如果按照Maven默认的做法构造(resources文件存放,${basedir}/src/main/webapp下Classes文件存放在${project.build.outputDirectory}下,web.xml的配置描述${basedir}/src/main/webapp/WEB-INF/web.xml),你不需要配置任何其它东西。只需输入:mvn jetty: 阅读全文
posted @ 2012-09-25 12:29 琥珀光 阅读(6144) 评论(0) 推荐(0) 编辑
摘要: 一、Memcache内存分配机制 关于这个机制网上有很多解释的,我个人的总结如下。Page为内存分配的最小单位。Memcached的内存分配以page为单位,默认情况下一个page是1M,可以通过-I参数在启动时指定。如果需要申请内存 时,memcached会划分出一个新的page并分配给需要的slab区域。page一旦被分配在重启前不会被回收或者重新分配(page ressign已经从1.2.8版移除了) Slabs划分数据空间。Memcached并不是将所有大小的数据都放在一起的,而是预先将数据空间划分为一系列slabs,每个slab只负责一定范围内的数据存储。如下图,每个sla... 阅读全文
posted @ 2012-09-09 23:42 琥珀光 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 作用:通过一个Nginx分发器,使请求均衡的分发到不同的realServer上从而达到负载均衡优势:1,可依据七层信息分发,如可将.html后缀的静态页面和.php的动态页面分发给不同的服务器从而达到性2,可以根据不同来源将访问调度给不同的realserver,类似于DNS的视图功能特点:Nginx 分发器无需开启转发,realserver也无需指网关。Nginx 分发器实质是一个代理服务器,而不是一个更改数据包包头信息的转发器。这点与lvs有很大差别缺点:基于七层分发,且是用户软件,不嵌入内核,所以速度比lvs慢案例:要求客户端对动态页面的请求直接发到web服务器上,对静态页面的请求发到两台 阅读全文
posted @ 2012-09-09 23:06 琥珀光 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 1. IDEA内存优化先看看你机器本身的配置而配置.\IntelliJ IDEA 8\bin\idea.exe.vmoptions------------------------------------------Xms64m-Xmx256m-XX:MaxPermSize=92m-ea-server-Dsun.awt.keepWorkingSetOnMinimize=true查询快捷键CTRL+N查找类CTRL+SHIFT+N查找文件CTRL+SHIFT+ALT+N查 找类中的方法或变量CIRL+B找变量的来源CTRL+ALT+B找所有的子类CTRL+SHIFT+B找变量的 类CTRL+G定位 阅读全文
posted @ 2012-09-06 10:04 琥珀光 阅读(312) 评论(0) 推荐(0) 编辑
摘要: http://seeglow.iteye.com/blog/366755集群概念1. 两大关键特性 集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:· 可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。· 高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实 阅读全文
posted @ 2012-08-28 00:13 琥珀光 阅读(135) 评论(0) 推荐(0) 编辑