将java对象存储到redis数据库(使用序列化和反序列化) Redis不支持直接将Java对象存储到数据库中,所以需要将java对象进行序列化得到字节数组,然后将字节数组存入到redis中,需要数据的时候就从redis数据库中取出字节数组,再经过反序列化将自己数组转换成对象使用(jdk序列化性能比谷歌公司的Protobuf序列化性能要差一些,而且序列化后的字节长度要也会长一些,所以推荐使用Protobuf,Protobuf如何进行序列化请看我的另一篇帖子)
Hibernate与 MyBatis的比较 http://blog.csdn.net/firejuly/article/details/8190229最近做了一个hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.NET,现在已经成为Jboss的一部分。 Mybatis 是
Java中的集合关系图及常见操作 下面是一张下载的Java中的集合类型的继承关系图,便于正确的理解和使用相应的集合类型。 有序否允许元素重复否Collection否是List是是SetAbstractSet否否Ha
Nginx+Tomcat+Redis (负载均衡+session共享)完整案例 今天整合了一些资源,做了一个Nginx+Tomcat+Redis的案例,使部署的web项目能够承载较大的访问压力,Nginx实现负载均衡,并使用Redis实现session共享;如下拓扑图:各版本如图所示========================================开启项目说明:操作系统:win7_64反向代理:Nginx_1.4.7Tomca
windows7 下nginx1.8.1(稳定版本) 启动、停止和重新加载配置 在windows7 系统中使用ngingx ,我们需要了解一下nginx 的一下基本操作指令,比如:nginx 启动,nginx 停止,重新载入nginx 等常用的指令,本篇文章参考:nginx 开发者文档(nginx 官网)1、nginx启动方式如下截图:注意:建议使用第二种启动nginx 方式,第一种方式会使你的cmd窗口一直处于执行中,不允许其他命
基于Dubbo框架构建分布式服务【续】 上面调用了DubboServer类的静态方法startServer,如下所示:01public static void startServer(String config) {02 ClassPathXmlApplicationContext context = new ClassPathXml
基于Dubbo框架构建分布式服务【未完待续】 Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选
基于Dubbo的Hessian协议实现远程调用 Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务,限制了服务调用方。同时,使用Dubbo的Hessian协议实现提供方服务,而调用方可以使用标准的Hessian接口来调用,原生的Hessian协议已经支持多语言客户端调用,支持语言如下所示:
Dubbo实现RPC调用使用入门 使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian、HTTP、RMI、Memcached、Redis、Thrift等等。由于Dubbo将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,只需要在配置中指定使用的协议即可,从而保证了服务提供方与服务消费方之间的透明。另外,如果我们使用Dubbo的服务注册中心组件,这样服务提供
Dubbo架构设计详解 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。
ZooKeeper-3.3.4集群安装配置 ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在
ZooKeeper应用案例 我们通过学习借鉴,哪些项目或应用都使用了ZooKeeper,可以了解我们的应用使用ZooKeeper是否能真正地带来价值,当然,有些项目可能也未必非常适合使用ZooKeeper,我们要批判地学习、借鉴和吸收。下面是一些使用了ZooKeeper实现的案例:HDFS HA(QJM)Hadoop 2.x之前的版本,HDFS集群中Namenode是整个集群的中央元数据存储和服务
ZooKeeper架构设计及其应用要点 ZooKeeper是一个开源的分布式服务框架,它是Apache Hadoop项目的一个子项目,主要用来解决分布式应用场景中存在的一些问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置管理等,它支持Standalone模式和分布式模式,在分布式模式下,能够为分布式应用提供高性能和可靠地协调服务,而且使用ZooKeeper可以大大简化分布式协调服务的实现,为开发分布式应用极大地降低了成本。
基于RPC原理的dubbo 在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团
MongoDB GridFS java存取文件 GridFS首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。"fs.files"怎么知道它对应的文件二进制数据在哪些块呢?那是因为在"fs.chunks"中有个"files_id"键,它对应"fs.
面过10000人,我想和所有面试者说6句真心话 我是一个在人力资源领域厮混很久的老HR,工作7年,不敢说阅人无数,但一两万人还是面过的,1分钟差不多能看出你是什么样的人,5分钟基本上能判断你是否有机会通过面试,经常被朋友调侃看人很准,眼光毒辣。面试不是面基,你以为光带张脸来就行了?今天我就从HR的角度,教教面试者,如何在面试中“好好做人”,不一定能让你成为面霸,但能帮你在面试时更好地表达。
前16名Java实用工具类 今天跟大家分享一下最常用的Java实用工具类类及其最常用的方法。类列表和方法列表都按人气排序。数据基于从GitHub随机选择的50,000个开源Java项目。1. org.apache.commons.io.IOUtilscloseQuietly ( )toString ( )copy ( )toByteArray ( )wr
从经典面试题看java中类的加载机制 1.概述类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。