朱登凯的专栏

业余时间喜欢写点技术博客,读点无用之书

排序:
默认
按更新时间
按访问量

基于zookeeper实现领导选举和分布式锁

上一篇博客讨论了基于zookeeper的分布式队列的机制,这个机制除了可以做分布式队列以外,稍加修改,还可以做更多的事情,例如接下来要讨论的领导选举和分布式锁的功能等。 领导选举 领导选举的应用场景可以理解为:多个节点同时想干一件事(都想当老大),但最终只有一个节点被授权(老大只可能有一个) ...

2018-07-15 18:18:39

阅读数:150

评论数:0

git变基

假设有这么一个场景,一个分支一共有50次提交,其中第31-40次的提交是一个新功能的代码,这10次提交如果放到一个新的分支上来开发会更好,但当时没想到。后来产品该需求了(for example…),这10次提交的代码要被废掉,这时候应该怎么处理呢?可以一个个地revert,但这种方法很不优雅。由这...

2018-04-16 22:25:25

阅读数:488

评论数:0

java stream api

stream api是jdk1.8中引入的,位于java.util.stream中,它基于lambda表达式,扩展了集合操作的能力。 stream api比较类似apache spark的api,以及.net框架中的Linq。之所以说它扩展了集合操作的能力,是因为它的所有操作都是在一个数据集合中...

2017-12-07 22:54:50

阅读数:223

评论数:0

git暂存区[重要]

本篇来讨论git的核心,暂存区。首先上一张图。左侧是工作区,也就是我们本地电脑上的文件,中间的Index就是我们讨论的暂存区,右侧是HEAD。HEAD是一个头指针,我会在下一篇博客中讨论HEAD,此处你先理解为HEAD就是git版本库。上面的这张图,非常非常地重要,如果我下面讨论的东西你有不明白的...

2017-06-11 23:24:45

阅读数:1121

评论数:6

Spring定义和装配Bean

我在上一篇博客中讨论了Spring中的IOC和AOP,本篇文章通过代码来演示一下Spring到底是如何实现IOC的。本篇博客我会介绍在Spring中如何定义和装载Java Bean。 业务场景 还是人开车的例子。首先,定义一个Car接口和两个实现了Benz和BMW,然后定义一个Person...

2015-10-18 17:22:56

阅读数:5247

评论数:3

五分钟一个设计模式之命令模式

五分钟一个设计模式,用最简单的方法来描述设计模式。小米智能模块的例子前一段小米的老总雷军在印度的全英文演讲想必大家都还历历在目,不过今天我们讨论的主题不是那次演讲,而是小米智能模块。小米4发布时,雷军说,小米已经开发了一个智能模块,只要电器厂商将这个智能模块集成到自家的电器中,就可以用小米手机来控...

2015-05-29 06:13:33

阅读数:2150

评论数:3

linux常备工具之grep

grep能够在一个或多个文件中搜索指定的模式或关键字,该命令的一般格式为: grep pattern files 用grep搜索文件内容 先来看一下grep最简单的用法。假设当前目录有一个文本文件c.txt,它的内容如下 $ cat c.txt jobcenter-test-1 jobcen...

2018-10-29 10:06:16

阅读数:15

评论数:0

使用spring boot actuator 2.x进行应用监控

本篇博客简单地聊一下如何使用spring boot actuator来对web服务进行监控,并重点聊一下接口的监控。spring boot actuator 1.x 版本和2.x版本的差别比较大,本文只讨论2.x。我目前使用的版本是2.0.5.RELEASE。 spring boot actuat...

2018-10-24 15:10:06

阅读数:33

评论数:0

linux常备工具之tr

tr是translate的缩写,是用来做翻译或转换工作的。具体来讲,它可以对输入内容(stdin)进行转换或者删除。是linux管道的必备工具。下面来看几个常见的用法 替换指定字符 tr charset1 charset2 < input-file 它的作用是使用char...

2018-10-22 16:02:29

阅读数:18

评论数:0

linux常备工具之sed

sed是linux上的一个常用命令,意思是stream editor,用来对输入或文件的内容进行处理。它不会修改原来的内容,而是将处理后的结果输出到stdout。 sed是一个极其强大的命令,完整地介绍它大概需要写一本书,我也只能介绍几个我个人比较常用的用法。 使用sed命令来查找替换 这个是我使...

2018-10-22 13:47:51

阅读数:29

评论数:0

linux常备工具之paste

paste命令和cut命令的效果正好相反,paste是用来合并行的,常用来合并多个文件到一个文件,合并多行到一行等。下面来看几个简单的例子 示例1:合并多个文件 假设有两个文件,分别是id.txt和name.txt,内容如下: $ cat id.txt 1 2 3 4 5 $ cat name...

2018-10-16 14:30:56

阅读数:14

评论数:0

linux常备工具之cut

cut命令从文件或命令输入中按照指定的规则提取想要的东西。它主要有两种用法,分别是 配合-c参数使用,来截取固定字符位置的内容 配合-d和-f参数使用,用分隔符来split成多个部分,再选取某个或某几个部分 cut -cchars file chars制定了你想从file中的每行内提出哪些字...

2018-10-09 19:06:58

阅读数:27

评论数:0

intelliJ IDEA动态加载静态资源文件(intelliJ IDEA live load)

最近在做一些前端开发的工作(前端工程师跑路了),后台是springboot,前后端在一个git仓库中。在开发的过程中我遇到一个很讨厌的问题,使用intelliJ idea启动springboot项目,修改静态资源(如html,css,js等)的内容后,刷新浏览器没有反应,需要重启springboo...

2018-07-31 18:41:36

阅读数:353

评论数:0

ubuntu server 不支持中文显示

今天发现ubuntu server有一个问题,就是不支持中文显示。 执行touch 哈哈,文件创建成功,但使用ls查看文件名的话,显示的是一堆问号。有意思的是,想删除它的话,必须使用rm 哈哈才可以,使用rm ????????的话是不行的。 文件中的中文也显示为几个问号。 我从网上查了一下,...

2018-07-19 13:05:45

阅读数:514

评论数:1

我的elementaryOS工作环境的搭建

折腾了好多个linux的发行版,最终决定把elementaryOS作为我办公的操作系统了.本篇博客记录下我在安装完一个崭新的elementary os系统后,会安装哪些必须的东西. 关于elementaryOS elementary.io elementaryOS被成为最好看的linux...

2018-07-14 12:58:29

阅读数:886

评论数:0

基于zookeeper的分布式队列

本篇博客讨论如何基于zookeeper来设计一个分布式队列。 分布式队列一般需要考虑两点: - 任务如何进入队列 - 如何保证每个任务只能被一个消费者消费 首先,zookeeper本身就提供了对队列的支持,不过官方文档对这个的描述非常简单 Distributed queue...

2018-07-12 23:13:37

阅读数:107

评论数:0

java内存模型(JMM)与volatile

java内存模型 jvm为了屏蔽掉各种硬件和操作系统之间的内存访问差异,定义了java内存模型。 java内存模型主要是定义了主内存(Main Memory)和工作内存(Working Memory)各自的职责: 主内存直接对应物理硬件的内存。为了获得更快的性能,工作内存可能会优先使用寄存...

2018-07-11 23:41:11

阅读数:42

评论数:0

jvm classloader

本篇博客来(不深不浅地)讨论一下jvm中的classloader。 classloader的父级委派模型 jvm在实例化一个对象之前(通过new关键字或者反射),会先把这个类load到jvm中。在jvm中,不同的类是由不同的classloader来载入的,jvm官方推荐的方式是父级委派模型...

2018-06-28 19:15:20

阅读数:56

评论数:0

cdh集群集成kerberos

为什么需要kerberos cdh集群搭建好以后,你可能已经成功地入坑了,因为后面还有很多问题,例如,数据安全的问题等。当你的cdh集群搭建好以后,你会发现他是没有任何权限控制的,所有人只要能够访问到你的ip和端口,就能使用你的服务。并且,你的hdfs中的数据更是毫无安全可言,只需要在一个客户端...

2018-06-27 13:15:24

阅读数:79

评论数:0

安装cdh集群 基于ubuntu server16.4

安装过程概述 先来认识几个组件 cloudera-manager-server cloudera-manager-agent cloudera-manager-daemons cloudera-manager-installer cloudera-manager-server只运行在主节...

2018-06-27 13:13:26

阅读数:214

评论数:0

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