自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于kubernetes和SpringCloud微服务构建方案

很久没有写博客了,不是因为最近学习松懈,而是因为发现自己以前写的博客大多都比较水,真正有意义、有价值的文章需要大量的学习与时间去积淀。以后尽量提高自己博客的质量,走的再远,工作再忙,也要坚持看书,坚持学习,成长的道路有多长?我想大概是一生。这篇文章算是我这段时间对微服务学习的一个小小成果吧!微服务是什么?我第一次接触到这个词汇,以为是一个基于微信的服务,听起来感觉有些low。其实不然。...

2018-08-16 15:08:38 662

原创 Flink学习笔记(三)——监控维基百科编辑流

本文参考官方文档,使用flink 提供的API,在flink集群上运行流式分析。维基百科提供了一个IRC频道,对所有的wiki的编辑都会被记录下来。并计算每个用户在给定时间窗口内编辑的字节数。使用flink实现这个功能只需要几分钟,而且非常的简单,同时也为后面学习更复杂的程序打下基础。已上传至github: https://github.com/KeoZmy/wiki-flink.git

2018-01-11 17:57:53 2774

原创 上传jar至Nexus Repository Manager失败问题总结

上传jar至Nexus Repository Manager失败问题总结参考:https://my.oschina.net/skyzwg/blog/846195上传一直各种原因失败。于是逐步排查,总结出了几个小Tips:创建的仓库类型一定要是hosted类型的,否则无法上传(之前一直报405)Snapshot库发布的版本必须以SNAPSHOT结尾release发

2018-01-08 19:17:32 3767

原创 flink学习笔记(二)分布式运行环境

flink学习笔记(二)分布式运行环境本文主要参考了flink官方文档以及一篇博客:http://wuchong.me/blog/2016/05/09/flink-internals-understanding-execution-resources/Task和Operator Chains对于分布式运行环境。为了更高效地分布式执行,Flink会尽可能地将operator的subt

2018-01-04 17:04:13 3054 1

原创 flink学习笔记(一)——数据流编程模型

flink学习笔记(一)——数据流编程模型flink官方文档学习笔记,本文主要是flink一些基础概念数据流编程模型(Dataflow Programming Model)抽象等级(Levels of Abstraction)Flink提供不同级别的抽象来开发流/批处理应用程序。Statefule Stream Processing:是最低级别(底层)的抽象,只提供有状态的流。它通过Process

2018-01-03 18:20:49 3827

原创 并发学习笔记

并发学习笔记同步(Synchronous)和异步(Asynchronous)同步:方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步:方法调用更像是一个消息的传递,一旦开始,方法调用就会立即返回,调用者可以继续后续的操作。而异步方法通常会在另一个线程中“真实”地执行。并发(Concurrency)和并行(Parallelism)它们都可以表示两个或者多个任务一起执行,但是偏重点

2018-01-03 18:19:00 295

转载 Java线程池 ExecutorService

Java线程池 ExecutorService原文地址:http://blog.csdn.net/suifeng3051/article/details/49443835ExecutorService介绍ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法: Java API对ExecutorS

2017-12-14 16:48:17 357

原创 CAS实现多线程计数器

CAS实现多线程计数器CAS原理乐观锁乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condition机制的其实都是提供的乐观锁。CAS便是乐观锁技术,当多个线程尝试

2017-12-14 16:10:32 949

原创 探究HashMap的实现原理

探究HashMap的实现原理JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entrytransient Entry<K,V>[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中 static class Entry<K,V> implements Map.Entry<K,

2017-12-01 10:38:33 293

原创 JAVA基础小细节——equals()与hashCode()

Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍一些这两个方法的作用。equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。这里我们首先要明白一个问题:equals()相等的两个对象,hashcode()

2017-11-27 15:57:33 338

原创 JAVA并发读书笔记——volatile与synchronized

JAVA并发读书笔记——volatile与synchronized在多线程并发编程中,volatile与synchronized都扮演着重要的角色,volatile可以说是轻量级synchronized,它在多处理器开发中保证了共享变量的“可见性”。如果volatile比使用synchronized的成本更低,因为它不会引起上下文的切换和调度。volatileJAVA语言规范第三版中volatile

2017-11-26 22:42:13 891

原创 JVM学习(一)——JAVA与JVM

JVM学习(一)——JAVA与JVM关于JVM的学习,一直拖拖拉拉,拖了好久,连一些基本的理念都不清楚,身为一个JAVA开发这真的很不应该。从今天开始起,会坚持更新JVM相关的笔记、博客,以《深入理解Java虚拟机》学习,向作者致敬。JAVA总所周知,Java是当下非常火爆的一门语言,JAVA开发的程序员在我国可谓是一抓一大片,诚然门槛儿比较低,但是java能够获得如此广泛的认可,它有着许多不可忽视

2017-11-25 13:05:33 328

转载 Java浮点数float,bigdecimal和double精确计算的精度误差问题总结

1、float整数计算误差案例:会员积分字段采用float类型,导致计算会员积分时,7位整数的数据计算结果出现误差。原因:超出float精度范围,无法精确计算。float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。float:2^23 = 8388608,一共七位,这意味

2017-11-24 17:42:23 502

原创 迭代器设计模式

迭代器模式的实例假设,我们项目组接到一个需求,对电视机的电视频道、电影菜单进行统一管理,建立一个统一的菜单管理界面,能够看到所有的电视界面、电影界面。沈妍和杨强现在要做这件事情。分别就每个模块做开发工作,看他们都做了哪些工作。public class MenuItem { //编号 private Integer number; //名称 private String

2017-07-22 10:41:42 571

原创 基于kubernetes和SpringCloud微服务构建方案

很久没有写博客了,不是因为最近学习松懈,而是因为发现自己以前写的博客大多都比较水,真正有意义、有价值的文章需要大量的学习与时间去积淀。以后尽量提高自己博客的质量,走的再远,工作再忙,也要坚持看书,坚持学习,成长的道路有多长?我想大概是一生。这篇文章算是我这段时间对微服务学习的一个小小成果吧!微服务是什么?我第一次接触到这个词汇,以为是一个基于微信的服务,听起来感觉有些low。其实不然。微服务是一种架

2017-02-22 17:26:57 57240 44

原创 Kubernetes(k8s)学习笔记(二)—— 环境及集群搭建

Kubernetes(k8s)学习笔记(二)—— 环境及集群搭建kubernetes基础软件的安装,基本上可以跳过谷歌官网的教程。因为谷歌国内被墙了,毕竟生产环境不是虚拟机,在一台centos7的机器上开启vpn,这并不是一个好的解决方案,但是可以尝试“曲线救国” 参考链接: 方案一:阿里云资源安装方法: https://yq.aliyun.com/articles/66474 1.19日更新 h

2017-01-23 14:15:01 18646

原创 docker原理及基本概念

Docker技术原理介绍前言玩docker有阵子,随着使用的频繁,学习的深入,愈发有了不不少的困惑,于是又回过头复习这些理论知识。还是那句话,温故而知新,每一次阅读都会有不一样的收获。简介Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将App变成一种 标准化的、可移植的、自管理的组件,并脱离服务器硬件在任何主流系统中开发、调试和运行 简单的说就

2017-01-15 17:53:07 2742

原创 Kubernetes(k8s)学习笔记(一)——系统架构

Kubernetes学习笔记前言主要是对Kubernetes一些概念性的记录,更好的理解Kubernetes的工作原理,一个大致的架构,有了一定的了解,看官方文档可以更好的理解。什么是KubernetesKubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:1) 使用Docker对

2017-01-11 19:29:29 5715

原创 Kubernetes学习资料记录

官网:http://kubernetes.io/docs/whatisk8s/概念:http://www.infoq.com/cn/articles/Kubernetes-system-architecture-introduction相关:http://www.useopen.net/blog/2016/netflix-oss-or-kubernetes-how-abou

2017-01-09 10:13:47 802

原创 springcloud服务已经关但是Eureka还是显示up

该状态持续很久,访问该服务也返回错误,但在注册中心界面,该服务却一直存在,且为UP状态,并且在大约十分钟后,出现一行红色大字:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANC

2016-12-30 18:02:26 20542 8

原创 谈谈NoSQL——非关系型数据库概览

NoSql前言随着大数据时代的崛起,应用程序需要处理的数据的复杂性大大增加,数据的复杂性不仅包括它的大小,还包括它的相互关联性,结构的千变万化以及对数据的同时访问。 假设,我们要查询一组数据,但是join了4、5次,进行一次搜索深度为4的查询,这将会为关系型数据引擎带来巨大的压力,当数据量过大时,每增加一个深度,无意再先前的基数上再做笛卡尔积,如果有1000条数据,我要通过关系型数据库进行深度为5

2016-12-28 14:57:56 1107

原创 Neo4j学习笔记(一)初识Neo4j

前言第一次听到Neo4j,是在前天,我接到了一个task,自己造一个Neo4j的服务,并用docker搭建一个Neo4j的服务器。这两天学习了一下Neo4j,本来不打算写Neo4j的博客了,造完服务就算了,但是越是到后面,越是觉得自己对Neo4j中的一些概念理解的不够透彻,从而直接影响了我的进度,我有了很多的疑惑。“理论支撑实践”,果然是至理名言,就像当年读书的时候,老师反反复复强调数据结构等一系列

2016-12-28 10:44:48 3705

原创 Neo4j学习资料整理(记录)

官方使用手册:http://neo4j.com/docs/developer-manual/current/introduction/cypher手册中文教程:http://neo4j.com.cn/public/cypher/neo4j_cql_create_node.htmlneo4j中文手册:http://neo4j.com.cn/public/docs

2016-12-22 20:43:36 1152

原创 SpringCloud整合php、python示例

SpringCloud整合php、python示例代码已上传至: https://github.com/KeoZmy/SpringCloudDemo.git ,博客中没有写到网关 zuul,但是git中已上传前言最近一直在花时间研究微服务,各种开源组件组合一个framework到最后决定用springcloud这样成熟的framework。不得不说,springcloud确实很强大,还有Pivota

2016-12-19 16:32:43 22017 9

原创 Windows环境下Spring Boot+Docker构建应用

Windows环境下Spring Boot+Docker构建应用前言最近在研究SpringCloud+Docker构建微服务化的架构,之前没有接触过Docker,在学习的过程中遇到了不少的问题,花了一天的时间学习了Docker,花了一天的时间学习SpringCloud,总算有了一点点的进展。本文将一步步带你构建一个基于 Spring Boot 和 Docker 的单体应用,但愿共同学习共同进步。Sp

2016-12-10 14:06:55 9750 4

原创 docker学习资料整理记录

docker学习资料整理记录http://www.open-open.com/lib/view/open1423703640748.htmlhttp://dockone.io/articledocker中文 http://www.docker.org.cn/book/docker/run-saved-image-11.htmldocker官方文档 https://docs.docker.com/

2016-12-08 11:25:01 777

原创 SpringCloud与构建微服务学习笔记整理

SpringCloud比较新,且详细的博客:http://blog.didispace.com/springcloud1/中国论坛,http://bbs.springcloud.cn/官网,http://projects.spring.io/spring-cloud/PS:最好先学习一下springBoot微服务架构Chris Richardson大师文集:

2016-12-07 13:50:03 666

原创 SpringBoot报错Whitelabel Error Page

Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Wed Dec 07 11:02:45 CST 2016There was an unexpected error (type=Not Found, status=4

2016-12-07 11:19:45 1465

原创 探究数据结构之链表Java代码实现(二)

上一篇博客中,对链表的原理、以及一些基础的方法进行了简单的探讨,这边博客我们继续玩转链表~寻找链表的倒数第N个节点问题描述普通算法的思路思路1:将指针移动到链表尾部null将指针往前回退N位但是,单链表没有pre指针!显然,这种思路是行不通的。于是,我们换个思路。思路2:假设链表的长度为M,寻找倒数第N个节点,相当于寻找链

2016-11-10 16:03:40 533

原创 Android虚拟机DVM和JAVA虚拟机JVM的区别总结

前阵子面试一个公司,自我介绍的时候说到自己曾经玩过Android但是现在做后台。然后面试官问我,那你知道Android的虚拟机和Java的虚拟机有什么区别吗?当时我就蒙蔽了,JVM了解过一些,知道JVM细分还是可以分好几种的,但是却不记得了,支支吾吾半天没答上来。于是回来便打算探讨一下这个问题。一查,才知道,原来Android的虚拟机都已不是JVM了,就算自己当时记得估计答的也是错的。Androi

2016-11-04 12:15:37 5692

原创 探究数据结构之链表Java代码实现(一)

上一篇博客探究了简单递归的思想,从这篇博客起,我们要探索数据结构,先从链表开始~链表原理链表的内存模型单链表有两个属性:value,值next,指向下一个节点的指针(引用)双链表附加一个属性:pre,指向上一个节点的指针(引用)

2016-11-03 15:11:49 568

原创 探究简单递归Java代码实现

递归(Recursion),是一种非常基本而又极其重要的编程思想,也是解决某些面试题的强有力武器。无论是链表、二叉树、图等数据结构,还是排序、查找等算法,许多问题通常都能通过递归解决。  程序调用自身的编程技巧称为递归( recursion)。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。简而言之,递归的两个point是:1

2016-11-02 14:06:05 957

原创 SpringMVC入门笔记(三)

RequestParamvalue:参数名字,即入参的请求参数名字,如value=“studentid”表示请求的参数区中的名字为studentid的参数的值将传入;required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报400错误码;defaultValue:默认值,表示如果请求中没有同名参数时的默认值定义如下:public String u

2016-11-01 15:19:15 393

原创 SpringMVC入门笔记(二)

之前的博客里,我们通过一个入门的案例程序,大致了解了SpringMVC的执行过程。这里,我们先对其进行一个小小的总结(补充)。处理器映射器BeanNameUrlHandlerMapping功能:寻找Controller    根据url请求去匹配bean的name属性url,从而获取ControllerSimpleUrlHandlerMa

2016-10-31 14:37:44 481

原创 Activity工作流引擎学习笔记(二)

核心APIProcessEngine说明:1) 在Activiti中最核心的类,其他的类都是由他而来。2) 产生方式: 在前面看到了两种创建ProcessEngine(流程引擎)的方式,而这里要简化很多,调用ProcessEngines的getDefaultProceeEngine方法时会自动加载classpath下名为activiti.cfg.xml文件。3) 可以产生R

2016-10-28 15:25:28 837 1

原创 Activity工作流引擎学习笔记(一)

工作流的概念  工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义

2016-10-28 12:48:09 4099 1

原创 JAVA实现二叉树的前、中、后序遍历

二叉树的遍历有三种形式:前序遍历、中序遍历、后序遍历,三种遍历的规则分别如下:1)前序遍历:先遍历根节点,然后遍历左子节点,最后遍历右子节点,简记为“根-左-右”;2)中序遍历:先遍历左子节点,然后遍历根节点,最后遍历右子节点,简记为“左-根-右”;3)后序遍历:先遍历左子节点,然后遍历右子节点,最后遍历根节点,简记为“左-右-根”;如果记性不好的朋友,总是记错,可

2016-10-27 10:36:07 1378 1

原创 Spring、SpringMVC与MyBatis整合(SSM整合)

整合思路springmvc+mybaits的系统架构: 第一步:整合dao层mybatis和spring整合,通过spring管理mapper接口。使用mapper的扫描器自动扫描mapper接口在spring中进行注册。 第二步:整合service层通过spring管理 service接口。使用配置方式将service接口配置在sp

2016-10-26 15:14:46 656

原创 JAVA中集合框架的知识点总结

题外话  记得原来在学校的时候,大二选修了JAVA这门课,老师只教到多态继承就闪人了,不去评论他是否敬业。后期自己不断摸索,对JAVA的掌握还好能在简历上写下“熟悉”二字。本以为,不会再去写这样基础的博客了,但是想想后面要走的路还有很长很长,不能在摸索的过程中忘记来时的路,必须有深刻的理解。还是那句话,温故而知新,愿每一次的回眸,都会有不一样的收获。  再说一点。不要去为了面试而去学习

2016-10-26 09:40:13 3970 1

原创 谈谈HTTP协议

1 HTTP协议1.1什么是HTTP协议  超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了

2016-10-25 09:39:05 796

空空如也

空空如也

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

TA关注的人

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