自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是hibernate中默认的CacheProvider Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通

Ehcache最初是由Greg Luck于2003年开始开发。2009年,该项目被Terracotta购买。软件仍然是开源,但一些新的主要功能(例如,快速可重启性之间的一致性的)只能在商业产品中使用,例如Enterprise EHCache and BigMemory。,维基媒体Foundationannounced目前使用的就是Ehcache技术。

2017-04-18 17:16:40 1105

原创 【Spring】Spring MVC原理及配置详解

Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

2017-04-18 16:17:48 273

原创 JAVA 中 Redis与ehcache对比与使用

Redis:属于独立的运行程序,需要单独安装后,使用Java中的Jedis来操纵。因为它是独立,所以如果你写个单元测试程序,放一些数据在Redis中,然后又写一个程序去拿数据,那么是可以拿到这个数据的。

2017-04-18 16:16:27 434

原创 ZooKeeper的部署以及简单使用

要想使用ZooKeeper,首先就要把它部署在服务器上跑起来,就想Apache,Tomcat,FtpServer等服务器一样。ZooKeeper的部署方式主要有三种,单机模式、伪集群模式、集群模式。其实单机和伪集群都是集群模式的特殊情况。

2017-04-18 16:15:02 262

原创 深入理解Spring MVC 思想

Java世界的“面向接口编程”的思想是正确的,但在增删改查为主业务的系统里,Dao层接口,Dao层实现类,Service层接口,Service层实现类,Action父类,Action。再加上众多的O(vo\po\bo)和jsp页面。写一个小功能 7、8个类就写出来了。 开发者说我就是想接点私活儿,和PHP,ASP抢抢饭碗,但我又是Java程序员。最好的结果是大项目能做好,小项目能做快。所以“激进型”方案就出现了-----没有接口、没有Service层、还可以没有众多的O(vo\po\bo)。那没有Servi

2017-04-18 16:13:22 574

原创 分布式缓存Redis使用心得

网络模型:Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll、kqueue和select,对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。

2017-04-18 16:12:30 241

原创 分布式架构现在很火吗?zookeeper dubbo可以?

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。

2017-04-18 16:10:59 241

原创 zookeeper的工作原理

大部分分布式应用需要一个主控、协调器或者控制器来管理物理分布的子进程。目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用。所以说zookeeper是分布式应用的协作服务。

2017-04-18 16:08:58 255

原创 JAVA 中 Redis与ehcache对比与使用

Redis:属于独立的运行程序,需要单独安装后,使用Java中的Jedis来操纵。因为它是独立,所以如果你写个单元测试程序,放一些数据在Redis中,然后又写一个程序去拿数据,那么是可以拿到这个数据的。

2017-04-17 16:35:26 232

原创 【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(二)

Zookeeper(注册中心)部署到213的机子上,服务提供者和服务消费者均在215的机子上运行,当然我们也可以分别将服务提供者和服务消费者部署到不同的两台机子上。

2017-04-17 16:23:17 316

原创 Maven搭建SpringMVC+Mybatis项目详解

创建maven项目,详细见上一篇maven创建(http://blog.csdn.net/fengshizty/article/details/43019561),创建Maven Project时,将Filter选择为org.apache.maven.archetypes。

2017-04-17 16:20:56 342

原创 Spring MVC入门 —— SpringMVC

Flash 属性 和 RedirectAttribute:通过FlashMap存储一个请求的输出,当进入另一个请求时作为该请求的输入,典型场景如重定向(POST-REDIRECT-GET模式,1、POST时将下一次需要的数据放在FlashMap;2、重定向;3、通过GET访问重定向的地址,此时FlashMap会把1放到FlashMap的数据取出放到请求中,并从FlashMap中删除;从而支持在两次请求之间保存数据并防止了重复表单提交)。

2017-04-17 16:12:27 651

原创 测试 之 13.3 集成测试 ——学习spring3

业务逻辑层集成测试,目的同样是测试该层的业务逻辑是否正确,对于数据访问层实现通过Spring IoC容器完成装配,即使用真实的数据访问层实现来获取相应的底层数据。

2017-04-17 15:32:24 256

原创 MyBatis简介与配置MyBatis+Spring+MySql

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。

2017-04-17 15:30:06 312

原创 Redis快速入门

Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。 Redis有三个主要特点,使它优越于其它键值数据存储系统 - Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。 与其它键值数据存储相比,Redis有一组相对丰富的数据类型。 Redis可以将数据复制到任意数量的从机中。 Redis官方网网站是:http://w

2017-04-17 15:27:01 341

原创 dubbo与nginx都可以做负载均衡,然而哪个相对来说更优秀?为什么?

dubbo具备了server注册,发现、路由、负载均衡的功能,在所有实现了这些功能的服务治理组件中,个人觉得dubbo还是略微笨重了,因为它本身是按照j2EE范畴所制定的中规中矩的服务治理框架。

2017-04-17 15:24:11 8900 3

转载 Redis缓存技术学习系列之事务处理

在本系列的第一篇文章中,我们主要针对Redis中的“键”和“值”进行了学习。我们可以注意到,Redis是一个C/S架构的数据库,在我们目前的认知中,它是通过终端中的一条条命令来存储和读取的,即它是一个非常典型的“请求-响应”模型。可是我们知道在实际的应用中,我们要面对的或许是更为复杂的业务逻辑,因为Redis中不存在传统关系型数据库中表的概念,因此在使用Redis的过程中,我们要面对两个实际的问题

2017-04-17 09:53:53 281

原创 了解SpringMVC框架及基本工作流程

一个从大局上观看的基本流程大概就是如此,然而SpringMVC在具体的实现上远比这复杂许多,基本上在普通项目开发下我们在配置完SpringMVC要求配置环境后,所需要开发的地方就只有视图层和控制层,控制层里面的代码一般是有逻辑层和数据层的实现。

2017-04-17 09:51:48 367

原创 Dubbo框架应用之(四)--Dubbo基于Zookeeper实现分布式实例

主要包括了两大主要流程:日志收集并实时处理流程、调用读取实时计算结果流程,我们使用基于Dubbo框架开发的服务来提供实时计算结果读取聊天人数的功能。上图中,实际上业务接口服务器集群也可以基于Dubbo框架构建服务,就看我们想要构建什么样的系统来满足我们的需要。

2017-04-14 10:59:40 241

原创 Mybatis使用及原理解析

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJO(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录

2017-04-14 10:39:38 318

原创 [Java基础要义] Java语言中Object对象的hashCode()取值的底层算法是怎样实现的?

关于Object对象的hashCode()返回值,网上对它就是一个简单的描述:“JVM根据某种策略生成的”,那么这种策略到底是什么呢?我有一个毛病,遇到这种含糊其辞的东西,就想探个究竟,所以,本文就将hashCode()本地方法的实现给扒出来,也给大家在了解hashCode()的过程中提供一点点帮助吧。

2017-04-14 10:20:43 300

原创 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。

2017-04-14 10:16:52 256

原创 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(

2017-04-14 09:52:22 479

原创 SpringMVC+MyBatis(最新)

主流的Web MVC框架,除了Struts这个主力 外,还有Spring MVC,主要是由于Spring MVC配置比较简单,使用起来也十分明了,非常灵活,与Spring 集成较好,对RESTful API的支持也比struts要好。

2017-04-14 09:49:24 211

原创 ZooKeeper架构设计及其应用要点

ZooKeeper集群由一组Server节点组成,这一组Server节点中存在一个角色为Leader的节点,其他节点都为Follower。当客户端Client连接到ZooKeeper集群,并且执行写请求时,这些请求会被发送到Leader节点上,然后Leader节点上数据变更会同步到集群中其他的Follower节点。

2017-04-13 14:52:53 174

原创 深入浅出MyBatis-快速入门

SqlSessionFactory对象由SqlSessionFactoryBuilder创建。它的主要功能是创建SqlSession对象,和SqlSessionFactoryBuilder对象一样,没有必要每次访问Mybatis就创建一次SqlSessionFactory,通常的做法是创建一个全局的对象就可以了。SqlSessionFactory对象一个必要的属性是Configuration对象,它是保存Mybatis全局配置的一个配置对象,通常由SqlSessionFactoryBuilder从XML配置

2017-04-13 14:32:15 334

原创 SSM框架-----------SpringMVC+Spring+Mybatis框架整合详细教程

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Sp

2017-04-13 14:12:04 323

原创 Ehcache与redis比较

redis 支持 String 、Lists、sets、sorted sets、hashes 多种数据类型,新浪微博会使用redis做nosql主要也是它具有这些类型,时间排序、职能排序、我的微博、发给我的这些功能List 和 sorted set 的强大操作功能息息相关

2017-04-13 11:44:35 327

原创 Redis 作为缓存服务器的配置

通过计算hits和miss,我们可以得到缓存的命中率:14414110 / (14414110 + 3228654) = 81% ,一个缓存失效机制,和过期时间设计良好的系统,命中率可以做到95%以上,对于整体性能提升是很大的。used_memory,expired_keys,evicted_keys这3个信息的具体含义,redis的官方也有一篇很详细的说明: http://redis.io/commands/info

2017-04-13 11:08:22 674

原创 dubbo+zoopeeper例子

dubbo是目前国内比较流行的一种分布式服务治理方案。还有一种就是esb了。一般采用的是基于Apache servicemix 和 Apache Camel和activemq这种方式。这里先介绍一下dubbo的相关。dubbo工程一般分为3个module.一个服务者,一个消费者,一个接口。其中服务者和消费者都依赖于接口文件。

2017-04-13 10:18:03 654

原创 mycat实现mysql读写分离实践

负载均衡类型,目前取值有3种: 1. balance="0", 开启读写分离机制,所有读操作都发送到当前可用的writeHost上。 2. balance="1",全部的readHost和stand by writeHost参与select语句的负载均衡 3. balance="2",所有读操作都随机在writeHost、readhost上分发。 4. balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力

2017-04-13 10:00:14 416

原创 HTML5 Canvas 旋转的“金字塔”

ctx.clearRect(0,0,canvas.width,canvas.height) rotateY(Pyramid .vectors); Pyramid ._draw(); requestAnimationFrame(animate);

2017-04-13 09:51:50 736

原创 细说分布式Redis架构设计和踩过的那些坑

使用proxy内置的Raft来代替外部的Zookeeper,zk对于我们来说,其实只是一个强一致性存储而已,我们其实可以使用Raft来做到同样的事情。将raft嵌入proxy,来同步路由信息。达到减少依赖的效果。

2017-04-12 14:52:52 379

原创 [dubbo实战] dubbo+zookeeper伪集群搭建

核心原理是原子广播,这个机制保证了各个server之间的同步,实现这个机制的协议叫做Zab协议,它有两种模式:恢复和广播模式。

2017-04-12 13:59:56 276

原创 Dubbo+Zookeeper简介

通过上面的介绍,我们经过思考就会发现整个的实现原理是十分简单的。经典的生成者消费者模式,通过在成功的调用层和实现层中间添加一个接口层,然后将对接口的调用都交给Dubbo+Zookeeper进行管理,就能实现调用与实现的分离,进行分布式部署

2017-04-12 11:02:39 308

原创 HTML5 -- 网页框架bootstrap的简单使用

直接百度bootstrap可以搜到bootstrap中文网站,然后最好建议选择下载源码。下载完成后,将dist/css/bootstrap.min.css复制到项目的根目录下。

2017-04-12 10:41:28 967

原创 ssm框架 详细整合教程(spring+spring-mvc+mybatis)

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(

2017-04-11 17:07:42 338 1

原创 redis分布式缓存实现

对于以上分布式架构的实现满足了项目的需求。另外使用中对于一些比较重要用途的缓存数据可以单独设置一些redis结点,设定特定的优先级。另外对 于缓存接口的设计,也可以跟据需求,实现基本接口与一些特殊逻辑接口。对于cas相关操作,以及一些事物操作可以通过其watch机制来实现

2017-04-11 15:53:48 380

原创 分布式架构现在很火吗?zookeeper dubbo可以?

在通信过程中,不同的服务等级一般对应着不同的服务质量,那么选择合适的协议便是一件非常重要的事情。你可以根据你应用的创建来选择。例如,使用RMI协议,一般会受到防火墙的限制,所以对于外部与内部进行通信的场景,就不要使用RMI协议,而是基于HTTP协议或者Hessian协议。

2017-04-11 15:05:44 473

空空如也

空空如也

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

TA关注的人

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