自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 当我们在说事件驱动的时候,我们在说什么

  Martin Fowler是面向对象分析设计、重构等领域的顶级专家,也是敏捷开发的创始人之一,也是企业应用架构方面的顶级专家。  这篇文章的初衷,是在之前的ThoughtWorks开发者大会中,他们发现,一般人们在说到事件时,发现不同的人往往说的不是同一件事情。所以就有了这篇文章,将几种主要的事件模式整理出来,供大家参考。这样,以后大家再讨论事件启动架构的时候,可以先弄清楚对方讨论的是...

2018-12-28 17:54:03 181

转载 Mac OS 下安装 Vagrant

  Vagrant是一款用来构建虚拟开发环境的工具,它其实算是一个跨平台的虚拟机管理工具  1 安装  1.1 安装Vagrant     下载好pkg文件后,下一步安装即可  1.2 安装Virtualbox   Vagrant依赖现有的虚拟机软件来管理虚拟机,如Virtualbox, Vmware Fusion, Parallel Desktop等,...

2018-12-28 17:51:08 1305

转载 技术文档编写心得

     技术文档编写首先寻找资料,阅读资料可以和编写文档同时进行,即编写段落一时查询段落一的相关资料,当编写到后面的段落时,发现和前面的段落有冲突,在回头整改,整个过程类似于ABSD和螺旋开发模式。  第一部分技术文档的开头无外乎背景、目标、范围、参考资料等等,这些是纯商务描述,有成型的资料最好,不然就只能在众多资料阅读后,自己编写。  第二部分技术文档编写通常是指系统设计或...

2018-12-28 17:48:03 148

转载 JAVA技术分享:消失的线程

   很多小伙伴都问过我一个问题,就是任务线程跑着跑着消失了,而且没有任何异常日志。我都是条件反射式的回复,是不是用了线程池的submit提交任务。而且很大几率对方给予肯定答复。  解决方案,很多人都听过不少,下面我就分析一下原因以及最佳实践。  为什么消失  submit这个单词用的真的特别好,特别洋气,虽然可以用execute来提交,但是大部分人都是用的submit。问题也就...

2018-12-28 17:45:15 1513 1

转载 SpringBoot创建多模块方式以及打包方式

     springboot重构多模块的步骤  模型层:model  持久层:persistence  表示层:web  步骤:  正常创建一个springboot项目  修改创建项目的pom文件,将jar修改为pom  选择根项目,New–Module–Maven–Next–ArtifactId中输入model名,比如web --Next–Finish完...

2018-12-28 17:42:43 937

转载 Hadoop平台的基本组成与生态系统

  Hadoop系统运行于一个由普通商用服务器组成的计算集群上,该服务器集群在提供大规模分布式数据存储资源的同时,也提供大规模的并行化计算资源。  在大数据处理软件系统上,随着Apache Hadoop系统开源化的发展,在最初包含HDFS、MapReduce、HBase等基本子系统的基础上,至今Hadoop平台已经演进为一个包含很多相关子系统的完整的大数据处理生态系统。图1-15展示了Hado...

2018-12-27 17:16:20 323

转载 2018年最流行的十大编程语言,有你用的吗?

  对于编程界的初学者来说,最大的困难是决定从何处入手,或者应掌握哪种语言才能在职场上平步青云。有时,专业程序员也面临学习一门新语言似乎更卓有成效的情形。     无论是什么原因,下面列出了世界上最流行的编程语言,以便了解哪些语言占主导地位。此列表基于源自TIOBE编程社区指数的数据,该指数是表明编程语言受欢迎程度的常用指标。  TIOBE通过分析谷歌、雅虎、必应、维基媒体、亚...

2018-12-27 17:13:07 997

转载 探索解析微服务下的RabbitMQ

  概览  本文主要介绍如何使用RabbitMQ消息代理来实现分布式系统之间的通信,从而促进微服务的松耦合。  RabbitMQ,也被称为开源消息代理,它支持多种消息协议,并且可以部署在分布式系统上。它轻量级,便于部署应用程序。它主要充当一个队列,其中输入的消息可以首先被操作。RabbitMQ可以在许多操作系统和云环境中运行,并为大多数流行语言提供了广泛的开发工具。它是生产者-消费者模...

2018-12-27 17:10:24 259

转载 R语言绘制正太分布图,并进行正太分布检验

  正态分布  判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验。  方法一概率密度曲线比较法   看样本与正太分布概率密度曲线的拟合程度,R代码如下:  #画样本概率密度图s-rnorm(100)#产生样本d-density(s)plot(d,col=green,ylim=c(0,0.5))#添加正太分布概率密度图s2-seq(from=-4,to=4,le...

2018-12-27 17:07:15 14733

转载 构建微服务:Spring boot

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。  使用spring boot有什么好处  1)...

2018-12-27 17:03:33 218

转载 session与cookie详解

  session与cookie是什么?  session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时候,我们怎么识别这个会员卡真实有效的呢?当我们将会员号给到收银员,收银员根据我们提供的会员号,输入到系统中,系统根据这个会员号去查询,如果查询到了就证明这个会员号是真实存在的.这...

2018-12-26 17:53:57 127

转载 Java 字节的常用封装

  一. Java 的字节  byte (字节) 是 Java 中的基本数据类型,一个 byte 包含8个 bit(位),byte 的取值范围是-128到+127。  byte 跟 Java 其他基本类型的关系:     二. 常用封装  由于工作关系,我封装了一个操作字节的库  github 地址:https://github.com/fengzhizi715/b...

2018-12-26 17:50:51 299

转载 Java中的基本数据类型及其封装类

  Java中的数据类型有两种,基本数据类型和引用数据类型,引用数据类型的创建是  需要去new一个对象,该对象的内存分配在堆区,同时栈区会保存一个指向该对象的引用,  但是对于一些简单数据的创建,用new的方式就不是很有效了,因此JVM中定义了一套对于基本  数据类型的描述,它直接保存值到堆栈当中,而不需要在堆中创建对象。  Java需要确定每种基本数据类型所占空间的大小,而且他...

2018-12-26 17:43:14 161

转载 Hbase Scan的重要参数

  Scan是操作Hbase中非常常用的一个操作,虽然前面的Hbase API操作简单的介绍了Scan的操作,但不够详细,由于Scan非常常用,关于其详细的整理也是很有必要的。  Scan  HBase中的数据表通过划分成一个个的Region来实现数据的分片,每一个Region关联一个RowKey的范围区间,而每一个Region中的数据,按RowKey的字典顺序进行组织。  正是基于这...

2018-12-26 17:40:10 1974 1

转载 Spring之核心容器bean

  摘要:Spring的核心容器实现了Ioc,其目 的是提供一种无侵入式的框架。在本文中,首先讲解了Spring的基础bean的相关知识,然后介绍了Spring是如何对bean进行管理的。    在Spring中,有2个最基本最重要的包,即org.springframework.beans 和org.springframework.context.在这两个包中实现了无侵入式的框架,代码中大...

2018-12-26 17:37:37 150

转载 Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特别长。知道了问题之后,就需要对查询比较慢的接口进行优化,但哪些接口需要优化、哪些不需要呢?只能通过日志里的执行时间来判断,那么如何才能知道每一个接口的执行时间呢? 对于这个问题,想到了使用动...

2018-12-25 17:49:37 1251

转载 Spring生态顶级项目说明

1.Spring IO platform  说明:用于系统部署,是可集成的,构建现代化应用的版本平台  2.Spring Boot  说明:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能  3.Spring Framework  说明:spring 框架,是一个开源的Java/Java EE全功能栈应用程序...

2018-12-25 17:47:21 175

转载 grafana 批量添加图表

  利用grafana做监控展示特别方便,而且界面还很有科技感,一般的使用都是自己手动添加图表,或者使用别人提供好的模板。  在一种情况下就比较尴尬了,我有100个实例的内存数据想展示,如果都放在一个table上,就特别的乱,互相覆盖,不能只管的展示,如果是1个实例一个table就很繁琐,明明相似的功能,要操作100次,如果是使用模板做一个下拉框选择,又不能同时在一个页面展示,只能选一个看一个...

2018-12-25 17:44:34 2975

转载 收发数据的原理(下)

  因为网络原理不是三言两语可以讲完,如果读者很忙,可以直接拉到最底下,看总结,知道个大概,再回头细读此文章。感谢关注。废话不多说,直接进入主题。在上篇我们已经讲了TCP收发数据的前两步,接下来是最后两步。  将HTTP消息传给协议栈  上篇讲到控制流程从 connect 回到应用程序之后,就到了数据收发阶段。  数据收发数据是从应用程序调用write将要发送的数据交给协议栈开始的,协...

2018-12-25 17:42:26 985

转载 收发数据的原理(上)

  前言:网络知识非常的重要,如果你不是做程序的,那么一些网络常识还是得知道的;而做程序的,就更不用说了,不仅需要了解一些网络知识,还是知道其原理,如果不了解原理,不敢说他不是程序员,但是总缺了点意思,就像去北京没去过长城一样。  上一篇讲了网络连接的大概流程,并且文末讲到客户端委托协议栈收发数据可以总结为四步:  1、创建套接字(创建套接字阶段)  2、将管道连接到服务器端的套接字上...

2018-12-25 17:38:46 452

转载 深入理解Hadoop之HDFS架构

    Hadoop分布式文件系统(HDFS)是一种分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的差异是值得我们注意的:  HDFS具有高度容错能力,旨在部署在低成本硬件上。(高容错)  HDFS提供对数据的高吞吐量访问,适用于具有海量数据集的应用程序。(高吞吐量)  HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问。(流式...

2018-12-24 17:52:32 169

转载 明白生产环境中的jvm参数

  写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了……一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的。比如说:  JDK版本是多少?采用何种垃圾回收器?  程序启动的时候默认分配堆内存空间是多少?随着程序的运行,程序最多能使用多大的内存空间?  程序中使用了多少个线程?这些线程又处于何种状态?  了解了这些,会对程序的运行...

2018-12-24 17:49:08 216

转载 CTO详细讲解海量日志处理ELK

  ELK实时日志分析平台之Elasticsearch简介  Elasticsearch是一个高度灵活的开源全文检索和分析引擎。它能够迅速(几乎是实时地)地存储、查找和分析大规模数据。通常被用在有复杂的搜索要求的系统中。比如:  在电子商务系统中用户搜索商品,可以使用Elasticsearch存储产品目录后为客户提供搜索接口。  如果要收集日志或交易信息,然后分析这些数据得到有价值信息...

2018-12-24 17:46:41 247

转载 什么是分布式锁?Redis实现分布式锁详解

     在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天继续由陈睿|mikechen来继续分享Redis这个系列。  01.什么是分布式锁  要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。  1.线程锁  主要用来给方法、代码块...

2018-12-24 17:44:02 256

转载 Java内存管理知识你需要吗?

0、Java 对内存的划分:Java虚拟机规范将物理内存(主内存和CPU中的缓存、寄存器)划分为程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区五个区域,但并没有规定这些区域的具体实现,在其他地方听到的一些名词(如永久代、元空间等,这些都是方法区的具体实现)可能都是这些区域具体的实现,这点要特别注意,别被这些概念搞晕。各个区域的特点如下表:1、类加载器:类加载器...

2018-12-24 17:41:00 136

转载 Hashtable、HashMap、TreeMap心得

    三者均实现了Map接口,存储的内容是基于key-value的键值对映射,一个映射不能有重复的键,一个键最多只能映射一个值。  (1) 元素特性 HashTable中的key、value都不能为null;HashMap中的key、value可以为null,很显然只能有一个key为null的键值对,但是允许有多个值为null的键值对;TreeMap中当未实现 Comparator 接口...

2018-12-21 17:00:47 71

转载 HashMap的工作原理

       HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHa...

2018-12-21 16:56:30 96

转载 HashMap和Hashtable的区别

  HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了...

2018-12-21 16:52:33 77

转载 DDD领域模型和充血对象

  DDD领域模型  官方说法  领域驱动设计,它是对面向对象的的分析和设计(OOAD,Object Orient Analysis Design)的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略和类型划分。领域模型是领域驱动的核心 ,采用DDD的设计思想,业务逻辑不再集中在几个大型的类上,而是在大量相对小的领域对象上,这些类具有自己的状态和行为,每个类都是完成的独立的,并...

2018-12-21 16:47:22 984

转载 Hashtable、HashMap、TreeMap心得

    三者均实现了Map接口,存储的内容是基于key-value的键值对映射,一个映射不能有重复的键,一个键最多只能映射一个值。  (1) 元素特性 HashTable中的key、value都不能为null;HashMap中的key、value可以为null,很显然只能有一个key为null的键值对,但是允许有多个值为null的键值对;TreeMap中当未实现 Comparator 接口...

2018-12-21 16:43:40 114

转载 如何有效地备战面试

  来和大家分享一下如何备战Java程序员的面试。咱们先来看看Java面试的相关考点,     不知道大家看了之后会不会比较迷茫,因为感觉跟划重点的时候把全书的每个章节都划了一个遍一样地可怕。大家不要紧张,需要准备的远不止这些,图以外还是会有东一个西一个的考点存在,并且上面仅仅是Java相关的知识,面试中我们可爱的面试官还会问跟网络、数据库、缓存、框架等相关的知识,准备好这些知识点...

2018-12-20 17:02:31 145

转载 JavaScript 基础知识入门

js3种弹出框  alert消息对话框  var mychar=I love JavaScript;alert(mychar);  confirm消息对话框  返回值:bool  var mymessage=confirm(你稀饭javascript吗?) ;if(mymessage==true){ document.write(稀饭!);}  prompt 消息对话框...

2018-12-20 16:57:47 90

转载 java入门书籍很少介绍的java知识

     1、java中数组的长度可以用.length来确定  2、java中的Arrays类可以对数组进行轻松的操作  (1)、包名:import java.util.Arrays  (2)、Arrays.sort(数组名)/对数组进行从小到大排序/;  (3)、Arrays.toString(数组名)/直接序列化数组并输出/;  (4)、java有很多系统类包可...

2018-12-20 16:51:33 79

转载 类与类之间的几种关系

  一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。     二、实现关系 实现指的是一个class类实现interface接口(可以...

2018-12-20 16:44:28 191

转载 算法的时间与空间复杂度(一看就懂)

     算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。  那么我们应该如何去衡量不同算法之间的优劣呢?  主要还是从算法所占用的「时间」和「空间」两个维度去考量。  时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。  空...

2018-12-20 16:39:59 514

转载 大数据存储的进化史 --从 RAID 到 Hdfs

 我们都知道现在大数据存储用的基本都是 Hdfs ,但在 Hadoop 诞生之前,我们都是如何存储大量数据的呢?这次我们不聊技术架构什么的,而是从技术演化的角度来看看 Hadoop Hdfs。  我们先来思考两个问题。  在 Hdfs 出现以前,计算机是通过什么手段来存储“大数据” 的呢?  为什么会有 Hadoop Hdfs 出现呢?在 Hdfs 出现以前,计算机是通过什么手段来...

2018-12-19 17:56:19 559

转载 Cassandra 和 Spark 数据处理一窥

  Apache Cassandra 数据库近来引起了很多的兴趣,这主要源于现代云端软件对于可用性及性能方面的要求。  那么,Apache Cassandra 是什么?它是一种为高可用性及线性可扩展性优化的分布式的联机交易处理 (OLTP) 数据库。具体说到 Cassandra 的用途时,可以想想你希望贴近用户的系统,比如说让我们的用户进行交互的系统、需要保证实时可用的程序等等,如:产品目...

2018-12-19 17:43:47 472

转载 spark必知必会的基本概念

  首先我们从宏观的视角来窥视下大数据技术框架:     图1 大数据技术框架  从图1可以看出,数据源-数据收集-数据存储-资源管理,这是我们进行数据分析和处理的基本;图中的计算框架包括批处理、交互式分析和流处理:  批处理计算:对时间没有严格要求,吞吐率要高  交互式计算:支持类SQL语言,快速进行数据分析  流式计算:数据像流水一样进入系统,需实时对其处理和分...

2018-12-19 17:41:15 143

转载 scrapy 也能爬取妹子图?

        目录  前言  Media Pipeline  启用Media Pipeline  使用 ImgPipeline  抓取妹子图  瞎比比前言  我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有抓取图片的需求。那我们的 scrapy 能爬取图片吗?答案是,当然的。说来惭愧,我也是上个月才知道,在 zone7 粉丝群中,有群友问...

2018-12-19 17:37:52 216

转载 SpringMVC实现多种数据类型绑定

  绑定基本数据类型  Java基本数据类型int的默认值是0,在使用int进行url传递参数时,参数key是必须写的,其值也只能是int类型的,否则将会报错。  比如方法:  @RequestMapping(value = baseType.do) @ResponseBody //返回的数据放到ResponseBody的数据区中 public String baseType(in...

2018-12-19 17:34:29 565

空空如也

空空如也

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

TA关注的人

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