路漫漫,水迢迢

八十一难拦路七十二变制敌

NIO学习笔记——选择器(selectors)

选择器(Selector) 选择器类管理着一个被注册的通道集合的信息和它们的就绪状态。通道是和选择器一起被注册的,并且使用选择器来更新通道的就绪状态。当这么做的时候,可以选择将被激发的线程挂起,直到有就绪的的通道。 可选择通道(SelectableChannel) 这个抽象类提供了实现通道的...

2017-06-26 22:26:23

阅读数:564

评论数:0

NIO学习笔记——通道(channel)详解

通道可以形象地比喻为银行出纳窗口使用的气动导管。您的薪水支票就是您要传送的信息,载体(Carrier)就好比一个缓冲区。您先填充缓冲区(将您的支票放到载体上),接着将缓冲“写”到通道中(将载体丢进导管中),然后信息负载就被传递到通道另一侧的 I/O 服务(银行出纳员)。该过程的回应是:出纳员填充缓...

2017-06-25 00:50:16

阅读数:879

评论数:1

NIO学习笔记——Buffer的创建与复制

Buffer的创建新的缓冲区是由分配或包装操作创建的。分配操作创建一个缓冲区对象并分配一个私有的空间来储存容量大小的数据元素。包装操作创建一个缓冲区对象但是不分配任何空间来储存数据元素。它使用您所提供的数组作为存储空间来储存缓冲区中的数据元素,例如CharBuffer charBuffer = C...

2017-06-21 21:07:21

阅读数:390

评论数:0

NIO学习笔记——缓冲区(Buffer)详解

缓冲区是包在一个对象内的基本数据元素数组,Buffer类相比一个简单的数组的优点是它将关于数据的数据内容和信息包含在一个单一的对象中。Buffer的属性容量(capacity):缓冲区能够容纳的数据元素的最大数量。这一容量在缓冲区创建时被设定,并且永远不能被改变 上界(limit):缓冲区的第一...

2017-06-20 21:40:06

阅读数:3052

评论数:0

NIO学习笔记——操作系统与I/O交互简介

为什么使用NIO  在前一段时间我在看dubbo和kafka的源码时发现他们底层很多都是借助于NIO实现的,这些优秀的开源框架为什么使用NIO,相信NIO是一种高效的程序处理方式,从今天我们开始踏入NIO学习的殿堂。作为程序员我们要知道我们代码中的I/O操作相比其他代码要耗时的多的,我们在做I/O...

2017-06-18 18:28:05

阅读数:816

评论数:0

Kafka学习笔记——centos7下kafka安装配置与验证

简介我们先看看官方给出的kafka分布式架构图 多个 broker 协同合作,producer 和 consumer 部署在各个业务逡辑中被频繁的调用,三者通过 zookeeper管理协调请求和转収。返样一个高怅能的分布式消息収布不订阅系统就完成了。 我们以一个broker为例介绍下整个消...

2017-06-17 12:32:45

阅读数:5007

评论数:0

Centos7下安装zookeeper以及配置文件详解

先去官网下载zookeeper,这里以3.46版本为例[root@bogon software]# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz --2017-06-1...

2017-06-15 22:17:11

阅读数:1745

评论数:2

Linux下如何定位Java进程CPU利用率过高原因

首先通过Top命令查看占用CPU较高的进程PID,执行Top之后按1可以查看每个核占用比例top 这里由于我是用的虚拟机,即使我的Java进程占用CPU很高也只是占的虚拟机的,而对整个机器的CPU来说占的并不高。这里我们找到了pid=7957 然后我们在根据pid找出占用CPU过高的线程top...

2017-06-14 23:04:39

阅读数:2081

评论数:1

Centos7下安装与卸载Jdk1.8

卸载查看已经安装的jdk[root@bogon jre]# rpm -qa|grep jdk java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64 java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64 j...

2017-06-13 22:07:03

阅读数:34931

评论数:4

Json转List时,字符串多次toJson出现异常

代码如下String str = "[{\"amount\":\"1.00\",\"contracts\":\"6000000018911\",\"serialNo\":\"62...

2017-06-13 21:09:40

阅读数:1445

评论数:0

Kafka学习笔记——使用Kafka记录APP的操作日志

上一篇文章我们讲到了Kafka的工作原理和如何使用Kafka的代码示例,这里我们开始讲解Kafka的实战,在实际的应用中我们如何使用kafka的。下面将介绍前台的操作日志定时推送到kafka,然后通过kafka将消息日志进行保存,方便大数据的统计分析形成运营报表。 我们先看看工程的目录结构: ...

2017-06-10 23:25:08

阅读数:4805

评论数:1

程序员——高考的第二春

就在我们一如既往的在上下班路上翻阅新闻的时候,发现有关高考的信息充斥在各大新闻头条,原来是一年一度的高考又悄悄到来。 还是那个时间,那些事情,那些科目,只是人不同,现在回想起自己高考心中不免有些伤感,伤感不是自己的成绩,而是时间过得太快,快得让你不敢轻易回忆。    曾记得那是2008年高考的前一...

2017-06-09 15:49:53

阅读数:1208

评论数:9

Kafka学习笔记——Kafka原理与使用详解

Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型的数据管道和消息系统使用。活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规...

2017-06-08 23:29:11

阅读数:8281

评论数:0

Kafka学习笔记——Kafka简介与使用场景介绍

IntroductionKafka 是 linkedin 用于日志处理的分布式消息队列,同时支持离线和在线日志处理。kafka 对消息保存时根据 Topic 进行归类,发送消息者成为 Producer,消息接受者成为 Consumer,此外 kafka 集群有多个 kafka 实例组成,每个实例(...

2017-06-07 21:19:55

阅读数:1482

评论数:0

精通Dubbo——dubbo2.0源码中Spring Bean的加载

感觉Dubbo涉及的知识点非常多,在这里我们以学习为目的,遇到相关知识点都展开来详细介绍,这也是一个学习的过程。 由于Dubbo的启动注册都是依赖Spring的加载来实现的,我们先来分析下Spring Bean的加载过程。在Dubbo的源码中有个dubbo-demo工程 #Spring ...

2017-06-05 22:15:26

阅读数:1825

评论数:0

如何利用Redis分布式锁实现控制并发

redis命令解释说道Redis的分布式锁都是通过setNx命令结合getset来实现的,在讲之前我们先了解下setNx和getset的意思,在redis官网是这样解释的 注:redis的命令都是原子操作SETNX key value将 key 的值设为 value ,当且仅当 key 不存在。...

2017-06-05 18:39:33

阅读数:8778

评论数:2

精通Dubbo——dubbo2.0源码中的设计模式与SPI介绍

Dubbo源码包介绍当我们从github把Dubbo源码下载下来之后有如下源码包 下面来说明每个包的作用,以便我们有目的的阅读代码 dubbo-admin dubbo管理平台源码包,用来管理dubbo服务的启动、禁用、降权、接口测试等,操作界面如下 dubbo-cluster 集...

2017-06-04 10:53:57

阅读数:5071

评论数:0

精通Dubbo——Dubbo支持的协议的详解

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。dubbo协议缺省协议,使用基于mina1.1.7+...

2017-06-02 22:26:57

阅读数:33042

评论数:2

精通Dubbo——Dubbo配置文件详解

依赖的jar理论上Dubbo可以只依赖JDK,不依赖于任何三方库运行,只需配置使用JDK相关实现策略。缺省依赖(系统默认)通过mvn dependency:tree > dep.log命令(Eclipse或Linux命令行)分析,Dubbo缺省依赖以下三方库:[INFO] +- com.al...

2017-06-01 22:44:35

阅读数:20782

评论数:1

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