10余年开发架构经验,同时乐于技术分享!
直接与非直接缓冲区 字节缓冲区跟其他缓冲区类型最明显的不同在于,它们可以成为通道所执行的 I/O 的源头和/或目标。其实发现通道只接收ByteBuffer作为参数这个将Channel的时候会发现
复制一个缓冲区会创建一个新的 Buffer 对象,但并不复制数据。原始缓冲区和副本都会操作同样的数据元素。我们将以 CharBuffer 为例来演示,但同样的操作可被用于任何基本的缓冲区类型。
我们知道NIO的三大核心是buffer,channel和selector,本文开始详细介绍下buffer 缓冲区Buffer
NIO也叫(New IO)或者(no-blocking io),是jdk1.4后提供的,主要目的是为了提高速度,和我们前面介绍的’内核空间’和’用户空间’相关。是一个可以替代标准Java IO API的新IO API,提供了与标准IO不同的IO工作方式。
后面打算系统性的介绍下NIO和Netty的内容,因为这块内容也是每个程序员必须要掌握的内容,而在介绍NIO之前我们需要先了解下一些前置的知识
将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。
假如没有总经理。下面三个部门:财务部、市场部、研发部。财务部要发工资,让大家核对公司需要跟市场部和研发部都通气;市场部要接个新项目,需要研发部处理技术、需要财务部出资金。市场部跟各个部门打交道。 虽然只有三个部门,但是关系非常乱。
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。又称为:游标cursor模式
在处理流程相关的业务的时候我们会经常碰到责任链模式的使用,所以对于这种设计模式我们还是应该有所了解的,所以本文就来记录下。
通过前面的内容介绍相信大家对于MapReduce的操作有了一定的了解,通过客户端源码的分析也清楚了split是逻辑分区,记录了每个分区对应的是哪个文件,从什么位置开始到什么位置介绍,而且一个split对应一个Map Task任务,而MapTask具体是怎么读取文件的呢?本文来具体分析下。
前面的案例中我们介绍了统计出每个用户的上行流量,下行流量及总流量,现在我们想要将输出的结果按照总流量倒序排序。
Partitioner 组件可以对 MapTask后的数据按Key进行分区,从而将不同分区的Key交由不同的Reduce处理。这个也是我们经常会用到的功能
MapReduce是一个分布式计算框架,处理的是海量数据的计算。那么并行运算必不可免,但是到底并行多少个Map任务来计算呢?每个Map任务计算哪些数据呢?这些我们数据我们不能够凭空估计,只能根据实际数据的存储情况来动态分配,而我们要介绍的切片就是要解决这个问题
现在我们采集到了一份用户访问流量的数据,我们需要从这份数据中统计出每个用户的流量数据。
前面我们介绍的wordcount案例是在Eclipse中写好代码,然后打成jar包,然后在Linux环境中执行的,这种方式在我们学习和调试的时候就显得非常的不方便,所以我们来介绍下直接在Eclipse运行的本地运行方式。
Hadoop之MapReduce03【wc案例流程分析】
Hadoop之MapReduce02【自定义wordcount案例】
Mapreduce 是一个分布式运算程序的编程框架,是用户开发“基于 hadoop 的数据分析应用”的核心框架,Mapreduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的 分布式运算程序,并发运行在一个 hadoop 集群上.
前面项目中我们是创建的java项目来演示的,但是hadoop相关的依赖太多了,不方便,本文通过maven项目来演示HDFS的java API操作
Hadoop之HDFS03【NameNode工作原理】
Hadoop之HDFS02【上传下载文件原理】
HDFS(Hadoop Distributed File System)分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
将hadoop在Linux中的安装文件解压缩一份。并将此bin目录中的文件覆盖掉解压缩文件
Hadoop04【集群环境搭建】
Hadoop03【搭建环境准备】
Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。
HADOOP是apache旗下的一套开源软件平台,HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
shell编程05【自定义函数和高级命令】
shell编程04【流程控制语句】
Shell 和其他编程语言一样,支持多种运算符,包括: 序号 运算符类型 1 算数运算符 2 关系运算符 3 布尔运算符 4 字符串运算符 5 文件测试运算符
shell编程02【基本语法-变量】
经常需要在Linux上操作,对应shell脚本来说应该还是要掌握的,所以最近打算将shell入门的相关的知识整理一下,以供大家查阅。
Assembly 打包插件 assembly资料下载:https://download.csdn.net/download/qq_38526573/11072843
Linux之tomcat安装
Linux之mysql数据库安装
Dubbo实战案例02【业务实现】
Dubbo实战案例01【需求分析及项目创建】
Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 数据存储结构
要搭建管理控制台和监控中心我们首先需要下载dubbo的源码并编译,首先去GitHub上
本文来给大家介绍下基于Spring配置的方式来搭建dubbo中的服务提供端和消费端 provider和consumer的搭建
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。Dubbo 框架,是基于容器运行的.。容器是 Spring。
好好编程-物流项目21【订单管理-新增订单】
好好编程-物流项目20【客户管理-删除客户】
好好编程-物流项目19【客户管理-更新客户】
好好编程-物流项目18【客户管理-查询客户】
好好编程-物流项目17【客户管理-新增客户】
好好编程-物流项目16【基础数据-修改和删除】
项目中我们往往要用到很多数据量不大且不会经常变动的数据,比如部门信息,付款方式,性别等信息,如果这些信息我们都单独用一张表来维护,显示不是很明智,所以我们可以将这一类数据统一存放在一张表中。通过数据结构来维护
本项目中我们的权限就只涉及到角色,没有再细粒度到菜单,感兴趣的可以自己可扩展实现下。
我们已经完成了用户的CRUD操作。本文我们来介绍下基于Shiro的登录认证操作。