自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 大数据学习第二课:CDH安装

本章主要内容:

2017-10-31 20:33:08 768

原创 大数据学习第一课:虚拟机安装配置

本章主要内容VirtualBox下安装CentOS7 Minimal版本Minimal版本Centos7静态IP网络设置ssh免密登录设置  我们现在身处数据时代,大数据和人工智能已经逐渐渗透到我们的生活中了。这么好的一个时代岂能错过,所以希望大家能在这里学到一些知识。如果有什么错漏的地方,还请指正,谢谢。一、虚拟机安装  万事开头难,大数据的知识体系虽

2017-10-31 16:50:45 2102

翻译 Netty4实战第十六章:注销/注册EventLoop

本章主要内容:EventLoop注册和注销EventLoop通过Netty使用旧的Socket和Channel  上一章我们学习了Netty的线程模型,以及在不同的传输方式中EventLoop的具体实现是什么样子的。  Netty提供了一种简单的方式,将在Netty外面创建的Socket和Channel附加给Netty,并将它们的任务转移给Netty。这样就

2017-10-29 21:02:08 1280

翻译 Netty4实战第十五章:选择正确的线程模型

本章主要内容:线程模型的知识EventLoop并发任务执行器任务定时执行  线程模型决定了应用或框架如何执行代码,所以选择正确的线程模型是很重要的事情。Netty提供了一个简单的但是功能强大的线程模型帮助开发者简化代码,因为Netty核心部分处理了所有需要同步的地方。所有的ChannelHandler,包括业务逻辑,在指定的Channel时或保证

2017-10-28 17:34:44 8826

翻译 Netty4实战第十四章:自定义编解码器

本章的主要知识就是如何使用Netty简单快速实现自定义协议的编解码器。实现自定义的解码器可以很方便的进行测试和复用,感谢Netty这种扩展性比较强的设计。

2017-10-25 22:12:58 2419

翻译 Netty4实战第十三章:使用UDP

本章主要内容:学习UDP协议学习Netty对UDP的支持启动UDP协议的Netty应用  前面学习的例子都是基于连接的协议,如TCP。这一章我们重点学习UDP。UDP是一种无连接的协议,主要适用于高性能且丢部分包不是问题的场景。基于UDP协议的应用有一个著名的例子,就是DNS域名解析服务。  由于Netty提供了统一的API,所以无论使用的是TCP还是UDP

2017-10-22 13:40:19 6161 1

翻译 Netty4实战第十二章:SPDY

本章主要内容:了解SPDYNetty提供的SPDY相关的类启动SPDY应用  本章内容主要是SPDY协议以及Netty对SPDY的支持。SPDY(读作“SPeeDY”)是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流

2017-10-22 13:32:34 545

翻译 Netty4实战第十一章:WebSockets

本章主要内容WebSocketChannelHandler,Decoder和Encoder启动基于Netty的应用测试WebSocket  现在很多地方都可以看到“real-time-web”这个术语。

2017-10-19 19:00:14 902

翻译 Netty4实战第十章:Netty应用的单元测试

本章主要内容:单元测试EmbeddedChannel

2017-10-11 19:54:42 3012

翻译 Netty4实战第九章:启动Netty应用

本章主要内容启动服务端和客户端在Channel中启动客户端添加ChannelHandler使用ChannelOptions和属性配置  前面的章节我们学习如何编写自己的ChannelHandler和编解码器,以及如何将它们添加到ChannelPipeline中。现在有一个新的问题:如何组装这些组件?  这需要使用到Netty提供的启动器。Nett

2017-10-09 19:00:00 1612

翻译 Netty4实战第八章:Netty提供的ChannelHandler和编解码器

本章主要内容SSL/TLS加密Netty应用构建HTTP/HTTPS应用处理空闲连接和超时问题解码分隔符和以长度为基础的协议写大量数据序列化大量数据

2017-10-07 21:39:09 2438

翻译 Netty4实战第七章:编解码器

本章主要内容编解码解码器编码器  后面的章节,我们会学习各种各样的方式处理逻辑链,学习怎么拦截事件或数据。虽然ChannelHandler可以实现这些功能,但它还是有一些地方需要改进。  因此,Netty提供了编解码器框架,帮助开发者开发自定义协议的编解码器,从而开发者可以编写出很容易封装和重用的代码。  本章主要讨论不同部分的编解码器框架以及如何使用它

2017-09-26 20:54:24 1052

翻译 Netty4实战第六章:ChannelHandler

本章主要内容

2017-09-18 22:58:15 1460

翻译 Netty4实战第五章:Buffers

本章主要内容ByteBufByteBufHolderByteBufAllocator使用上述接口

2017-09-13 22:36:26 3557 1

翻译 Netty4实战第四章:Transports

本章主要内容TransportsNIO, OIO, Local, Embedded示例API

2017-09-07 20:53:38 664

翻译 Netty4实战第三章:Netty基础

这一章,我们来学习一下Netty的基础知识。学习完基础知识我们就会知道Netty的组件是如何搭配在一起的和各自的作用。  下面列一下Netty核心组件,有的组件如果没有应用就根本不会工作,其他的在你实际使用过程中也是很常见或者很重要的。Bootstrap或ServerBootstrapEventLoopEventLoopGroupChannelPipel

2017-09-06 15:54:03 684

翻译 Netty4实战第二章:第一个Netty应用

本章内容获取最新稳定版Netty设置编译和运行示例环境创建基于Netty的服务端和客户端拦截和处理错误编译和运行基于Netty的服务端和客户端  本章会介绍Netty的几个核心概念。其中之一就是怎么用Netty拦截和处理异常,这是遇到问题时很重要的解决手段。这一章还会介绍其他一些核心概念,例如客户端和服务端的启动器和Channel Handler代码分离。这些是为继续学习其他章

2017-09-05 16:00:01 1334

原创 Android用CMake进行JNI编程学习

一、简介1.1、什么是JNI  JNI的全称是Java Native Interface:Java本地开发接口,它提供了若干的API实现了Java和其他语言的通信(主要是C和C++),目的就是Java可以调用C或C++开发的函数,C或C++也能调用Java的方法。这样有很多有点,其一就是效率,C/C++是本地语言,比java更高效;其二就是可以复用已经存在的C/C++代码;其三

2017-09-02 12:48:17 681

翻译 Netty4实战第一章:Netty和Java NIO APIs

一、前言  Netty是基于java NIO的网络应用框架,如果你是java网络方面的新手,那么本章将是你学习Java网络应用的开始;对于有经验的开发者来说,学习本章内容也是很好的复习。如果你熟悉NIO和NIO2,你可以随时跳过本章直接从第二章开始学习。在你的机器上运行第二章编写的Netty服务器和客户端。  Netty是一个NIO client-server(客户端服务器)框架,

2017-08-31 14:50:31 1011

原创 SpringBoot项目API文档工具-Springfox Swagger

一、简介  我们编写的Rest API,是给另外的团队使用的,所以怎样告知使用者他们需要的信息,也是API开发者需要关注,好的API文档不仅能让使用者尽快上手,而且也能让开发者日后维护项目时提高效率。这么说来,API文档越详细越好,比如笔者刚开始工作的时候,API文档都是用word一点点描写清楚的,但是这样光写文档就花了不少时间,所以如果能兼具质量与效率,那将是多么美好,可是很多时候,质量与效

2017-08-27 16:17:57 489

原创 Spring Cloud学习系列第五章:分布式系统外部配置Spring Cloud Config

一、简介  不管任何系统,随着业务越来越多,可配置属性也会越来越多,修改的频率也会越来越大,而且从开发、测试、生产每个环境的配置都可能不一样,如果没有一个统一的地方去管理,后期的维护成本简直不可想象,相信经过长期项目的朋友应该会有这种痛点。所以,Spring Cloud又帮我们提供了统一的外部配置服务Spring Cloud Config。  Spring Cloud Config为分布式

2017-08-16 09:54:18 332

原创 Spring Cloud学习系列第四章:路由与过滤服务Zuul

一、简介  前面讨论的知识基本上都是围绕后台微服务,但是我们的微服务最终是要提供给客户端调用的,例如WEB、Android、IOS,毕竟用户又不关心你的后台服务架构多么优秀。那么问题来了,几十上百个微服务,都要用反向代理服务器配置,那么多服务器ip,那个配置文件我都不忍直视。既然我们的服务都已经注册在Eureka Server中了,那么直接去代理Eureka Server不就好了,but Eu

2017-08-15 10:48:00 416

原创 Spring Cloud学习系列第三章:云计算断路器模式实现库Hystrix

一、简介  微服务之间的调用模式是在不同进程间通过网络远程调用,内存间调用和远程调用之间的巨大差异之一是远程调用可能会失败,或者在没有响应的情况下挂起,直到达到超时限制。如果在无响应的服务提供者上有很多呼叫者,那么就可能会用尽关键资源,如内存、CPU、网络连接等,从而导致跨多个系统的级联故障。为解决这种问题,大神们提出了断路器模式。  断路器背后的基本思路很简单。您将一个受保护的函数调

2017-08-13 22:25:54 323

原创 Spring Cloud学习系列第二章:使用Feign调用服务

一、Feign简介  Feign是一个声明式的Web服务客户端。这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并使用Spring Web中默认使用的HttpMessageConverters。S

2017-08-11 21:31:00 2492

原创 Spring Cloud学习系列第一章:Eureka之服务注册与发现

一、Spring Cloud简介  Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Fou

2017-08-10 18:05:06 1410

原创 Mysql查询依据结果排名功能

Mysql查询依据结果排名功能一、概述工作中总会遇到一些排名的需求,逻辑也很简单,就是在排好序的数据上加上名次,大部分时候我都是在遍历数组的时候在结果上标注名次,今天就来聊聊直接通过mysql的sql功能实现名词。二、准备数据我就用很简单的表结构和数据来说说今天需要实现的功能,实际业务也许会复杂很多倍,不过都是同样的套路。我就实现一下文章浏览量排名的功能。建表CREAT

2017-08-02 17:59:56 10761 1

原创 Spring Boot项目属性文件优先级

Spring Boot项目提供的SpringApplication默认属性文件是application.yml或者application.properties,但是这个属性文件可以放在不同的位置,并且有优先级顺序,优先级高配置会覆盖优先级低的配置,优先级从低到高的顺序如下1、当前目录的config子目录2、当前目录3、classpath下的config子目录目录4、classpat

2017-07-25 11:00:29 799

原创 MyBatis @param注解参数类型错误异常

问题现象今天使用mybatis遇到个很奇怪的问题,我使用一个参数@param("threshold"),类型是java的double,但是很奇怪,一直告诉我参数转换错误,int不能转double,我就奇怪了,哪里来的int。解决办法我感觉可能使用用到了mybatis的关键字,所以就把threshold换了个名字,果然好了。问题原因某些关键词,mybatis会认为是某种类型,下面

2017-07-18 11:06:35 2962

原创 Redis的key和value大小限制

Redis的key和value大小限制今天研究了下将java bean序列化到redis中存储起来,突然脑袋灵光一闪,对象大小会不会超过redis限制?不管怎么着,还是搞清楚一下比较好,所以就去问了下百度,果然没多人关心这个问题,所以决定还是去官网找吧。找到两句比较关键的话,截图如下。结论redis的key和string类型value限制均为512MB。

2017-07-05 15:22:02 112501 12

转载 linux下TCP/IP及内核参数优化调优

Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等。如下配置是写在sysctl.conf中,可使用sysctl -p生效,文中附带了一些默认值和中文解释(从网上收集和翻译而来),确有些辛苦,转载请保留链接,谢谢~。相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来

2017-07-03 22:45:58 715

转载 mysql优化建议100条

MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境,但是思路是相通的。我已经将它们分成了几类以帮助你理解。MySQL服务器硬件和OS(操作系统)调优:1、有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,Inn

2017-07-02 21:45:00 438

转载 Spark性能调优高级篇

前言继Spark性能调优基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用

2017-06-30 10:35:38 570

转载 Spark性能调优基础篇

前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速

2017-06-30 09:28:38 310

转载 Spark计算平台算子介绍与学习

1. 算子分类Spark算子大体上分为两大类Transformation:操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发;Action:会触发 Spark 提交作业(Job),并将数据输出 Spark系统。当然,对于transformation算子,如果要较真的话,还可以继续分一分

2017-06-29 09:51:18 878

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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