简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前言由于我的笔记本有点问题,所以这周系统包括所有硬盘全部重装了,原来的Linux虚拟机都没了,因此才有了这篇文章和各位朋友们分享。由于Linux环境的优越性(开源、低成本、安全性好、网络功能强大),除了某些小型的网站为了方便起见部署在Windows环境下外,基本所有网站的服务器都是使用的Linux环境(越大型的互联网公司越使用Linux系统作为服务器,比如阿里、蘑菇街等等)。作为一名J
在 Java 世界里,有一种技术可以实现“跨虚拟机”的调用,它就是 RMI(Remote Method Invocation,远程方法调用)。例如,服务A 在 JVM1 中运行,服务B 在 JVM2 中运行,服务A 与 服务B 可相互进行远程调用,就像调用本地方法一样,这就是 RMI。在分布式系统中,我们使用 RMI 技术可轻松将服务提供者(Service Provider)与 服务消费者(S
之后写的东西就会用到虚拟机参数了,现在这里汇个总自己平时用到的、看到的一些虚拟机参数。现在看不懂没关系,反正之后都会用到的:(1)-Xms20M表示设置堆容量的最小值为20M,必须以M为单位(2)-Xmx20M表示设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-
前言前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK。不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version"命令是否有正确的内容打印,也许这并不具备太大的说服力。可能能够运行起一个正确的java程序来,不管从感性角度还是理性角度来说,都会有一个更好的认识。所以本文写一段很简单的java代码,并且在Linux环境下
1 各服务器角色的请求处理器链先介绍下Leader、Follower、Observer服务器的请求处理器链1.1 Leader服务器PrepRequestProcessor-》ProposalRequestProcessor-》CommitProcessor-》ToBeAppliedRequestProcessor-》FinalRequestProcessorProposalR
ZooKeeper提供了Java和C的binding. 本文关注Java相关的API.1 准备工作拷贝ZooKeeper安装目录下的zookeeper.x.x.x.jar文件到项目的classpath路径下.2 创建连接和回调接口首先需要创建ZooKeeper对象, 后续的一切操作都是基于该对象进行的.ZooKeeper(String connectString, in
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将介绍比较常用的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利
1 场景描述在分布式应用, 往往存在多个进程提供同一服务. 这些进程有可能在相同的机器上, 也有可能分布在不同的机器上. 如果这些进程共享了一些资源, 可能就需要分布式锁来锁定对这些资源的访问。2 思路进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath.当thisPath在所有子节点中最小时, 说明该进程获得了锁.
什么是缓冲区一个缓冲区对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区像前篇文章讨论的那样被写满和释放,对于每个非布尔原始数据类型都有一个缓冲区类,尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节,非字节缓冲区可以再后台执行从字节或到字节的转换,这取决于缓冲区是如何创建的。缓冲区的工作与通道紧密联系。通道是I/O传
1 客户端API简单使用1.1 demo案例一个最简单的demo如下:package com.king.demo;import java.io.IOException;import java.util.concurrent.CountDownLatch;import org.apache.zookeeper.WatchedEvent;import org.a