自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坚持努力做吧,少年!

  • 博客(234)
  • 资源 (5)
  • 收藏
  • 关注

原创 zookeeper在dubbo到底起了什么作用

zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉调用者无法知晓,如果不更改代码会继续请求挂掉的机器提供服务。zookeeper通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除。至于支持高并发,简单来

2017-08-29 09:47:15 3778 11

原创 dubbo支持的注册中心

1.5 dubbo支持的注册中心Dubbo提供的注册中心有如下几种类型可供选择:Multicast注册中心 Zookeeper注册中心 Redis注册中心 Simple注册中心ZooKeeper是一个开源的分布式服务框架,它是Apache Hadoop项目的一个子项目,主要用来解决分布式应用场景中存在的一些问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置管理等,它支持Standalo

2017-07-31 21:15:11 2425 11

原创 Java 并发编程

多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存

2017-06-30 16:05:16 1109 5

原创 java多线程总结五:线程池的原理及实现

1、线程池简介:    多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。        假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。    如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。                一个线程池包括以下四个基本组

2017-06-28 16:14:29 924 4

原创 GCT学习总结

数学总结:    数学相对来说还是不难的,保证钱13个题目全做对就是很好地策略了,一旦后面的做不出来就果断放弃啦,通过和师弟师妹的交流提高不少,继续做题总结中…… 逻辑总结:    逻辑视频是在10月4号之前就看完了,第一遍只是对逻辑的大概题型有了一个总体的了解,主要实战:做习题,当然主要是以练习为主,练习所使用的试卷也是12年之前的试卷,做完试卷的总体感受是:逻辑的考试题型比较固定;多看看视频很

2015-10-07 16:31:54 2892 30

原创 github(四)

github(四)

2015-08-31 21:58:31 7043 8

原创 github(三)

github(三)

2015-08-31 21:57:15 2028 4

原创 github(二)

github(二)

2015-08-31 21:56:49 2553 3

原创 github(一)

github

2015-08-31 21:55:32 2551 7

原创 java 里面保留字volatile及其与synchronized的区别

1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证,线程看到的共享变量可能

2015-07-31 09:59:33 3088 28

原创 集群技术(三)MySQL集群深度解析

什么是MySQL集群      MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。   数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败,则更新失败)。       无共享

2015-07-04 16:42:01 3532 25

原创 集群技术(一)

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。 编辑1 提高性能一些计算密集型应用,如:天气预报

2015-07-04 15:45:18 4031 21

原创 集群技术(二) MySQL集群简介与配置详解

1. 先了解一下你是否应该用MySQL集群。减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布的MySQL数据库本身中。2. 集群MySQL中名称概念.(如上图)1)Sql结点(SQL node--上图对应为My

2015-07-04 15:41:26 5492 17

原创 远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比

RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web ServiceWeb Service提供的服

2015-06-27 09:17:49 19207 21

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

主要包括了两大主要流程:日志收集并实时处理流程、调用读取实时计算结果流程,我们使用基于Dubbo框架开发的服务来提供实时计算结果读取聊天人数的功能。上图中,实际上业务接口服务器集群也可以基于Dubbo框架构建服务,就看我们想要构建什么样的系统来满足我们的需要。 如果不使用注册中心,服务消费方也能够直接调用服务提供方发布的服务,这样需要服务提供方将服务地址暴露给服务消费方,而且也无法使用监控中心的功能,这种方式成为直连。 如果我们使用注册中心,服务提供方将服务发布到注册中心,而服务消费方可以通

2015-06-26 21:31:06 14327 11

原创 Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解

我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端。Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。Dubbo未对Zookeeper服务器端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。下载解压wget http://www.apache.

2015-06-26 21:05:12 12829 12

原创 Dubbo框架应用之(二)--服务治理

当我们现有ITOO平台系统的业务随着用户的逐渐增大,设计的业务越来越广,系统会异常的复杂,在大规模服务之前,我们可以采用的是RMI或Hessian等工具,暴露和引用远程服务,通过配置URL地址和JNDI地址进行调用,使用Apache httpd复杂均衡插件或F5服务器进行负载均衡

2015-06-26 20:20:14 5321 10

原创 Dubbo框架应用之(一)--服务体系

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成,也是一个非常全面的SOA基础框架。主要核心部件:Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制.RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能Registry:

2015-06-26 17:53:05 5174 7

原创 多线程(五) Fork/Join框架介绍及实例讲解

1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。。+100

2015-06-19 18:00:58 11868 8

原创 多线程(四) 实现线程范围内模块之间共享数据及线程间数据独立(Map集合)

多个线程访问共享对象和数据的方式 1.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做。 2.如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,有如下两种方式来实现这些Runnable对象之间的数据共享:     (1)将共享数据封装在另外一个对象中,然后将这个对象逐一传递给各个Runnable对

2015-06-16 17:19:17 4806 4

原创 多线程(三) 实现线程范围内模块之间共享数据及线程间数据独立(ThreadLocal)

注意:  1.见下页的示意图和辅助代码解释ThreadLocal的作用和目的:用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。  2.每个线程调用全局ThreadLocal对象的set方法,就相当于往其内部的map中增加一条记录,key分别是各自的线程,value是各自的set方法传进去的值。在线程结束时可以调用T

2015-06-16 17:10:54 4149 4

原创 nginx平台初识(二) 浏览器 HTTP 协议缓存机制详解

1、缓存的分类 缓存分为服务端侧(server side,比如 Nginx、Apache)和客户端侧(client side,比如 web browser)。 服务端缓存又分为 代理服务器缓存 和 反向代理服务器缓存(也叫网关缓存,比如 Nginx反向代理、Squid等),其实广泛使用的 CDN 也是一种服务端缓存,目的都是让用户的请求走”捷径“,并且都是缓存图片、文件等静态资源。 客

2015-06-15 00:12:13 2607 6

原创 nginx平台初识(一)

众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。       nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使nginx

2015-06-14 23:48:38 2188 7

原创 多线程(二)生命周期和同步

接上文继续学习。四:线程的生命周期:由上图可以看出,一个线程由出生到死亡分为五个阶段:1).创建状态 •当用new操作符创建一个新的线程对象时,该线程处于创建状态。 •处于创建状态的线程只是一个空的线程对象,系统不为它分配资源 2). 可运行状态 •执行线程的start()方法将为线程分配必须的系统资源,安排其运行,并调用线程体—run()方法,这样就使得该线程处于可运行( Runnable )状

2015-05-31 14:02:33 2783 11

原创 多线程(一)基本概念

多线程是java应用程序的一个特点,掌握java的多线程也是作为一java程序员必备的知识。多线程指的是在单个程序中可以同时运行多个同的线程执行不同的任务.线程是程序内的顺序控制流,只能使用分配给序的资源和环境。还记得刚开始学习的时候总是和进程分不清,总是对这两个名词所迷惑。下面就首先对这两个名词区分来作为本篇博客的开始:      一、线程与进程的区别       多个进程的内部数据和状态都是完

2015-05-31 13:38:23 1997 8

原创 JBOSS EAP 6 系列六 公共模块的jar配置到jboss的modules详细配置

公司项目中遇到并要解决的问题1:原则上除了自己写的代码之外,公共的jar不应该都在打包的时候打包到ear里面,这样的话包太大,也不符合的分层的逻辑,在jboss容器内部,每个ear的包重复jar都会调入jboss内部,而造成浪费过多地的服务器资源,会出现不定期的异常。 2:jboss eap 6.*系列,需要模块化配置,需要加载的jar,解决如何在jboss里面配置 3:公共的jar在jboss里

2015-05-31 13:21:01 6131 2

原创 Redis工作系列之一 与 Memcached对比理解

当然,最后还得说到你的具体应用需求。Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

2015-05-09 16:47:43 6358 18

原创 Apache shiro集群实现 (八) web集群时session同步的3种方法

,利用Nosql数据库redis或者memcache同步sessionredis或memcache可以做分布式,如果没有这功能,他也不能用来做session同步。他可以把web服务器中的内存组合起来,成为一个"内存池",不管是哪个服务器产生的sessoin都可以放到这个"内存池"中,其他的都可以使用。优点:以这种方式来同步session,不会加大数据库的负担,并且安全性比用cookie大大的提高,把session放到内存里面,比从文件中读取要快很多。缺点:redis或memcache把内存分成很

2015-04-24 08:14:27 20519 35

原创 Apache shiro集群实现 (七)分布式集群系统下---cache共享

上一篇已经解决了第一个问题,session的共享,现在我们解决第二个问题cache的共享。    先看下spring的配置文件,上一篇已经提到过了 这里cacheManager我们注入了shiro自定的本机内存实现的cacheManager类,当然,这肯定不满足我们集群的需要,所以我们要自己实现cacheManager类,这里我还是用了redis作为cache的存储,先创建RedisCacheManager实现类 这里cacheManager我们注

2015-04-24 08:12:48 26917 31

原创 Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享

Apache Shiro的基本配置和构成这里就不详细说明了,其官网有说明文档,这里仅仅说明集群的解决方案,详细配置:shiro web config    Apache Shiro集群要解决2个问题,一个是session的共享问题,一个是授权信息的cache共享问题,官网给的例子是Ehcache的实现,在配置说明上不算很详细,我这里用nosql(redis)替代了ehcache做了sessio

2015-04-24 08:11:04 60589 62

原创 Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案

目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。 目前,在集群系统下实现session统一的有如下几种方案:(1) 应用服务器间的session复制共享(如tomcat session共享)(2) 基于cache DB缓存的session共享应用服务器间的ses

2015-04-23 16:49:30 35941 34

原创 Apache shiro集群实现 (四)shiro授权(Authentication)--访问控制

授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限。 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等。 授权三要素授权有着三个核心元素:权限、角色和用户。 权限权限是Apache Shiro安全机制最核心的元素。它在应用程序中明确声明了被允许的行为和表现。一个格式良好好的权限声明可以清晰表达出用户对该资

2015-04-23 16:28:30 14424 29

原创 Apache shiro集群实现 (三)shiro身份认证(Shiro Authentication)

一、术语介绍Authentication:身份认证,即用户提供一些信息来证明自己的身份。如用户名和密码,licence等。Principals :主体的“标识属性”,可以是任意标识,例如用户名,身份证号码,手机号码等。Principals可以有多个,但是必须有一个主要的Principal(Primary Principal),这个标识,必须是唯一的。Credentials:凭据,即

2015-04-23 11:28:22 36390 30

原创 Apache shiro集群实现 (二) shiro 的INI配置

一、概述INI配置文件是一种key/value的键值对配置,提供了分类的概念,每一个类中的key不可重复。例如:# =======================# Shiro INI 配置# =======================[main]# 对象和它们的属性在这里定义# 例如 SecurityManager, Realms 等。[users]# 用户在这里定义,如

2015-04-23 11:04:48 14821 24

原创 Apache shiro集群实现 (一) shiro入门介绍

近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很详细,我在我们的项目中使用的是nosql(Redis)替代了ehcache做了session和cache的存储,接下来从shiro、Cas、redis、session等等基础知识、基本原理集成的角度来不断的深入分析,系列文章篇幅很长,很丰富,尽请期待!

2015-04-23 10:44:25 26255 25

原创 云平台之多租户

云平台之多租户在云领域我们经常会听到一个词:多租户。这个词在不同的语境中有着不同的含义,本文将介绍云平台中的多租户的概念以及实现多租户支持的思路。什么是租户刚开始接触这个概念时,你肯定感觉“租户”这个词怪怪的,但如果我们换个词,我相信你马上就有感觉了,这个词就是“客户”(这里的客户指的就是商业上面的客户)。一个租户就是一个客户,比如我们开发的服务是给 XXX 企业使用的,那该企

2015-03-31 12:50:21 5634 12

原创 Java中的泛型类和泛型方法区别和联系

泛型的概念大家应该都会,不懂的百度或者google,在java中泛型类的定义较为简单public abstract class BaseEaoImpl implements BaseEao{}这样就定义了一个泛型类,在实例化这个类的时候,必须指明泛型T的具体类型(比例为Buttons实体),例如public class ButtonBeanImpl extends BaseBeanIm

2015-03-21 14:09:01 4427 28

原创 SSH 之 Spring的源码(二)——Bean实例化

首先来看一段代码,看过上一节的朋友肯定对这段代码并不陌生。这一段代码诠释了Spring加载bean的完整过程,包括读取配置文件,扫描包,加载类,实例化bean,注入bean属性依赖。public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShut

2015-03-21 13:09:45 2483 9

原创 SSH 之 Spring的源码(一)——Bean加载过程

看看Spring的源码,了解下具体的实现细节。本文基于Spring 4.0.8版本。首先Web项目使用Spring是通过在web.xml里面配置org.springframework.web.context.ContextLoaderListener初始化IOC容器的 org.springframework.web.context.ContextLoaderListen

2015-03-21 12:59:54 5171 7

原创 Hadoop MapReduce工作原理

Hadoop的MapReduce工作原理 MapReduce 角色•Client :作业提交发起者。•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业。•TaskTracker:保持JobTracker通信,在分配的数据片段上执行MapReduce任务。提交作业•在作业提交之前,需要对作业进行配置•程序代码,主要是

2015-02-27 17:13:29 1998 9

itoo-快捷部署脚本-V1.0.1李社河-2014年12月22日--测试成功版

本次是第一次使用批处理文件来作为批量操作的工具,代替了人工的手动的复制,粘贴的方式,使用脚本实现了项目的启动、自动化部署,打开项目根目录、等等,提高了开发和调试的效率。

2014-12-30

springmvc hibernate

spring+springMVC+hibernate大家不错的学习案例

2014-08-03

抽象共同的一版处理程序快速开发项目

大量的使用了一般处理程序,由于一般处理程序的优点是非常大的,但是在善良公社的项目中,基本上每一个页面都对应一个一般处理程序,更重要的是,这些一般处理程序的核心内容都差不多,当时项目紧,没有继续抽象,现在我们有五个人在研究通用型网站开发平台这块,先解决这个大问题,抽象出公共的一般处理程序类,结合东软生成的代码,可以实现网站的简单快速的开发(这是我们刚开始的一个小需求)。

2013-12-25

验收标准特别好

有助于我们提高编写代码的规范,大家相互交流,希望大家共同学习,加油

2013-05-12

信息资源管理

相当的不错哦,文档,更有利于自考的学习,希望大家多多支持,

2012-04-05

空空如也

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

TA关注的人

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