Heqianqian的博客

盛年不再有,一日难再晨,及时当勉励,岁月不待人.

分布式 RPC架构简单理解

RPC框架RPC(Remote Promote Call) 一种进程间通信方式。允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要...

2017-10-31 11:06:26

阅读数 607

评论数 0

分布式 消息中间件简介

1.消息中间件定义MOM:Message-Oriented Middleware 面向消息的系统是在分布式系统中完成消息的发送和接受的基础软件几个要点: 远程过程调用和对象访问中间件 主要解决分布式环境下应用的互相访问问题 消息中间件 解决应用之间的消息传递、解耦和异步的问题 数据访问中间件 ...

2017-10-28 20:35:13

阅读数 948

评论数 0

分布式 大型网站的架构演进

大型网站的架构演进主要是简单的网站结构如何演进成具有高数据量和访问量的大型网站1.使用Java技术和单机来构建的网站一个交易网站的架构各个功能模块之间通过JVM内部的方法调用来进行交互,应用和数据库之间通过JDBC进行访问2.单机负载过大,数据库和应用分离访问量增大的时候,首先可以做的是把数据库应...

2017-10-28 15:00:00

阅读数 848

评论数 0

分布式 分布式系统入门

1.分布式系统的意义1.1 分布式系统产生的原因 升级单机处理能力的性价比越来越低 单机处理能力存在瓶颈 出于稳定性和可用性的考虑 2.分布式系统的基础知识2.1 组成计算机的五要素如图所示,分别是输入和输出设备,运算器,控制器和存储器。其中存储器又分成了内存和外存,在计算机断电时内存中存储的数据...

2017-10-27 08:07:33

阅读数 1321

评论数 0

JAVA BIO NIO和AIO的区别

IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO一.BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求...

2017-10-22 13:10:41

阅读数 1194

评论数 0

JAVA hashCode()和equals()方法详解

在Object中提供了equals()和hashCode()方法,每一个类都可以重写这两个方法,一般equals()用于判断两个类是否相同,而hashCode()方法用于计算对象的哈希值hashCode方法作用一般在需要使用哈希表的类(Hashtable,HashMap..)中使用,用于寻域Has...

2017-10-21 19:47:59

阅读数 1103

评论数 0

JAVA final关键字

Java中的final关键字可以作用于类、方法以及变量。 final作用于变量的时候一般会和static同时使用,变量只读不可修改 final作用于方法时该方法不可被子类重写 编译的时候静态绑定因此效率较高 final作用于类时该类不可被继承,如String,数值类等就是final的 使用fina...

2017-10-21 19:14:41

阅读数 953

评论数 0

JAVA 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法

死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再 向前推进。安全状态与不安全状态:安全状态指系统能按某种进程顺序来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成。若系统不存在这样一个序列,则称系统处于不安全状态。产生死锁的原因:(1)竞争系统资源...

2017-10-14 07:44:23

阅读数 1895

评论数 0

数据库 内连接、外连接、交叉连接总结

内连接 INNER JOIN定义:仅将两个表中满足连接条件的行组合起来作为结果集。 在内连接中,只有在两个表中匹配的行才能在结果集中出现SELECT 列名表 FROM 表名1 [INNER] JOIN 表名2 ON或WHERE 条件表达式 分为三种: 等值连接 在连接条件中使用等于号(=)运...

2017-10-06 16:13:44

阅读数 1902

评论数 0

数据库 SQL实战练习

一觉醒来想练练SQL,顺便归纳总结下题目1.on和where的区别看下面两个例子数据库表都是dept_emp部门表和employees职员表CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL...

2017-10-06 15:08:19

阅读数 1809

评论数 0

Redis 数据淘汰机制

概述在 Redis 中,允许用户设置最大使用内存大小 server.maxmemory,在内存限定的情况下是很有用的。譬如,在一台 8G 机子上部署了 4 个 Redis 服务点,每一个服务点分配 1G 的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。Redis 内存数据集大小上升到一定大...

2017-10-04 22:28:08

阅读数 1741

评论数 0

Redis Jedis 之 Sharded 源码分析

概述Jedis是Redis官方推荐的Java客户端,当业务的数据量非常庞大时,需要考虑将数据存储到多个缓存节点上,如何定位数据应该存储的节点,一般用的是一致性哈希算法。Jedis在客户端角度实现了一致性哈希算法,对数据进行分片,存储到对应的不同的redis实例中。Jedis对Sharded的实现主...

2017-10-04 17:13:21

阅读数 1674

评论数 0

Redis Jedis 之 JedisSentinelPool 源码分析

概述Jedis是Redis官网推荐的Java客户端,Redis-Sentinel作为官方推荐的HA解决方案,Jedis也在客户端角度实现了对Sentinel的支持,主要实现在JedisSentinelPool.java这个类中,Jedis的JedisSentinelPool的实现仅仅适用于单个ma...

2017-10-04 16:35:28

阅读数 2013

评论数 0

Redis Sentinel 机制和用法

概述Redis-Sentinel是Redis官网推荐的高可用性(HA)解决方案,当用Redis做Master-Slave的高可用方案时,假如Master宕机了,Redis本身(包括客户端)都没有实现自动进行主备切换,而Redis-Sentinel本身也是一个独立运行的进程,可用监控多个Master...

2017-10-04 16:13:00

阅读数 1867

评论数 0

Redis 应用场景和应用实例详解

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。1.MySQL+Memcached架构的问题实际MySQL是适合进行海量数据存储的,通过Mem...

2017-10-04 11:04:31

阅读数 2061

评论数 0

算法 一致性哈希算法

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性哈希算法提出了在...

2017-10-03 23:43:11

阅读数 1587

评论数 0

LeetCode BackPack 背包问题

//从上个月末之后就开始有点浮躁起来,本来计划国庆查漏补缺v.22bd 的,结果网卡光荣的坏了ORZ……无论如何,OFFER现在还没有拿到,即便是拿到了也不该放松学习的状态。Stay Hungry,Stay Foolish背包问题是动态规划的经典问题,LeetCode上有五种背包的变种问题,现...

2017-10-03 22:36:03

阅读数 8509

评论数 4

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