自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(152)
  • 收藏
  • 关注

转载 JDK核心JAVA源码解析(7)- 集合相关(1) - LinkedList

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。本篇文章针对JAVA中集合类LinkedList进行分析,通过代码解释Java中的F...

2019-09-04 18:36:00 159

转载 Java8之后的业务取值避免空指针的一种解法

写业务代码的时候,通常会遇到数据库POJO对象转换为前端需要的VO对象,这时经常会遇到烦人的空指针问题,Java 8之前,我们可能这么写:对于对象field复制风格:a.setCreateTime(b.getCreateTime().getTime());a.setAmount(b....

2019-09-03 11:45:00 338

转载 Java Map运用的思考与Funtional Interface联想

最近看到了一篇好文章:Map best practices - http://blog.tremblay.pro/2019/08/map.html虽然内容精简,但是思路确实很赞。假设我们有一个Map<String,List<String>>的Map,我们想实现...

2019-09-02 17:24:00 176

转载 Spring Cloud Eureka 全解 (7) - 生产配置最佳实践

本文基于SpringCloud-Dalston.SR5可以实现比较快的服务上下线:EurekaServer配置:#eureka server刷新readCacheMap的时间,注意,client读取的是readCacheMap,这个时间决定了多久会把readWriteCacheMap的缓...

2019-08-30 10:17:00 121

转载 Spring Cloud Eureka 全解 (8) - 安全配置

本文基于SpringCloud-Dalston.SR5一般的,Eureka在内网服务,我们不会对于外网暴露Eureka端口,所以一般Eureka不做任何验证。假设我们想进一步增强Eureka的安全性,可以结合spring security来简单配置一些安全设置首先在Spring Cloud...

2019-08-30 10:17:00 158

转载 Spring Cloud Eureka 全解 (6) - 一些热门QA

本文基于SpringCloud-Dalston.SR5Eureka服务实例启动时,是否会立刻向EurekaServer注册?是的,立刻会。EurekaClient在每次实例状态发生改变时,有一个Listener:statusChangeListener = new Applicatio...

2019-08-30 10:16:00 111

转载 Spring Cloud Eureka 全解 (6) - 一些热门QA

本文基于SpringCloud-Dalston.SR5Eureka服务实例启动时,是否会立刻向EurekaServer注册?是的,立刻会。EurekaClient在每次实例状态发生改变时,有一个Listener:statusChangeListener = new Applicatio...

2019-08-30 10:16:00 154

转载 Spring Cloud Eureka 全解 (4) - 核心流程-服务与实例列表获取详解

本文基于SpringCloud-Dalston.SR5关于服务与实例列表获取EurekaClient端我们从Ribbon说起:EurekaClient也存在缓存,应用服务实例列表信息在每个EurekaClient服务消费端都有缓存。一般的,Ribbon的LoadBalancer会读取这个...

2019-08-30 10:15:00 322

转载 Spring Cloud Eureka 全解 (5) - 自我保护机制

本文基于SpringCloud-Dalston.SR5自我保护机制关闭自我保护机制(默认是打开的):eureka.server.enable-self-preservation=false自我保护机制:默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心...

2019-08-30 10:15:00 83

转载 Spring Cloud Eureka 全解 (3) - 核心流程-服务注册与取消详解

本文基于SpringCloud-Dalston.SR5关于服务注册开启/关闭服务注册配置:eureka.client.register-with-eureka = true (默认)什么时候注册?应用第一次启动时,初始化EurekaClient时,应用状态改变:从STARTING...

2019-08-30 10:14:00 206

转载 Spring Cloud Eureka 全解 (3) - 核心流程-服务注册与取消详解

本文基于SpringCloud-Dalston.SR5关于服务注册开启/关闭服务注册配置:eureka.client.register-with-eureka = true (默认)什么时候注册?应用第一次启动时,初始化EurekaClient时,应用状态改变:从STARTING...

2019-08-30 10:14:00 170

转载 Spring Cloud Eureka 全解 (2) - 整体流程篇

本文基于SpringCloud-Dalston.SR5之前我们看过这个整体流程图:接下来我们来仔细分析下这个流程,先不涉及源代码,只说流程服务提供者EurekaClient -> EurekaServer每个服务会生成自己的InstanceInfo:除了这些,还有两个比较重...

2019-08-30 10:13:00 120

转载 Spring Cloud Eureka 全解 (1) - 总览篇

系列目录:Spring Cloud Eureka 全解 (1) - 总览篇Spring Cloud Eureka 全解 (2) - 整体流程篇Spring Cloud Eureka 全解 (3) - 核心流程-服务注册与取消详解Spring Cloud Eureka 全解 (4) -...

2019-08-30 10:12:00 111

转载 Spring Cloud Eureka 全解 (1) - 总览篇

系列目录:Spring Cloud Eureka 全解 (1) - 总览篇Spring Cloud Eureka 全解 (2) - 整体流程篇Spring Cloud Eureka 全解 (3) - 核心流程-服务注册与取消详解Spring Cloud Eureka 全解 (4) -...

2019-08-30 10:12:00 82

转载 Java获取HttpServletRequest真实的调用ip

有时候我们需要获取Http请求的源IP,但由于有着各种代理,与反向代理,还有代理请求头标准的缺失,导致我们想拿到真正的ip变得更加困难。这篇文章来总结下一个目前可行的比较全面的通用方法。首先,真实调用的ip,应该不是内网ip,并且考虑到客户端多样性,我们从通用的Header出发,并也考虑各种...

2019-08-29 18:44:00 159

转载 Spring RequestMapping检测路径匹配核心类AntPathMatcher

本文基于Spring 5.0+项目某些页面是通过后台映射的,匹配映射路径时,有那种路径参数匹配。其中一个定义好的路径匹配是:/{corporationName}_{vendorName}/{shopName}_with_{retailer_name}?g={goodsId}当时没有...

2019-08-28 10:54:00 339

转载 MySQL原理 - InnoDB表的限制

本文基于MySQL 5.7目前OLTP业务的表如果是使用MySQL一般都会使用InnoDB引擎,这也是默认的表引擎。那么这种引擎有什么限制呢?根据官方文档总结下:参考:https://dev.mysql.com/doc/refman/5.7/en/innodb-restriction...

2019-08-27 15:12:00 150

转载 Spring Boot 2.0 + FastJson 1.2.+作为JSON序列化

SpringBoot配置FastJson的时候,报错:java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*' at org.springframework.util.Assert.i...

2019-06-14 10:14:00 131

转载 Spring cloud实现FeignClient指定Zone调用

本文基于Spring Cloud Fincheley SR3背景介绍目前项目多个区域多个集群,这些集群共用同一个Eureka集群。通过设置eureka.instance.metadata-map.zone设置不同实例所属的zone,zone之间不互相调用,只有zone内部调用(其实这里...

2019-06-13 15:59:00 220

转载 Java9之后的模块化烦恼解决(由RocketMQ升级OpenJDK11想到的)

本文基于OpenJDK11最近从OpenJDK8升级到了OpenJDK11,系统业务MQ用的RocketMQ,升级RocketMQ过程中,在已修改好JVM参数的情况下(参考我另一篇文章),遇到如下异常:java.lang.IllegalStateException: java.lang...

2019-05-24 12:25:00 898

转载 概率论温习-基础概念

试验(事先不知道输出)的样本空间:所有可能输出的集合。例如:抛硬币两次,Ω={HH, HT, TH, TT} **事件**A, 样本空间的子集,例如:第一次正面朝上:A={HH, HT} P(A)事件A的概率,公理: P(A)是一个非负实数 ...

2017-12-13 10:28:00 79

转载 Zookeeper - 开发篇(1)

本文用Java api开发一些基本的程序,从而搞清楚zk的一些基本用法。 zk客户端在连接 zk 服务器需要实例化一个org.apache.zookeeper.ZooKeeper对象,然后调用该类提供的接口与Zookeeper服务器进行交互。如果不指明,该类的所有方法均是线程安全的。一...

2017-12-13 10:28:00 75

转载 分布式对象存储Ambry - 官方博客翻译与摘录(3)整体设计

2. 整体架构 Ambry包含负责保存和检索数据的数据节点(data node),前端节点(Frontend node)将请求经过预处理发送到后端数据节点,并且集群管理者(Cluster manager)管理并协调数据节点上的数据。数据节点之间互相复制数据,并且可以跨机房复制,并...

2017-12-13 10:28:00 85

转载 MyCat - 源代码篇(8)

数据库路由中间件MyCat - 源代码篇(8) 3. 连接模块 3.5 后端连接 对于后端连接,我们只关心MySQL的。 从后端连接工厂开始MySQLConnectionFactory.java: public MySQLConnection make(...

2017-12-13 10:28:00 94

转载 Spark学习使用笔记 - Scala篇(1)

基础 def primitiveType(): Unit = { //scala没有原始类型,都是对象 println("1.toString -> " + 1.toString) //富类型自动转换Int->RichInt再调用to ...

2017-12-13 10:28:00 64

转载 Riak - 背景篇(3)

分布式高可用键值对数据库Riak - 背景篇(3) Dynamo对于数据版本的处理 数据版本问题不止存在于分布式系统,这里针对分布式数据库系统简单讨论下。先看一个简单的例子,用户x对key1做了一次写入操作,我们设值是数字3。然后用户y读取了key1,这个时候用户y知道的...

2017-12-13 10:28:00 1033

转载 垃圾收集分析(1)-Java对象结构(上)

GC(Garbage Collection)是目前很多编程语言自带的特性,例如Java,Python;GC是一个很好的特性,能让使用这个语言编程的程序员不去关心内存回收,并且降低内存泄漏和内存溢出发生的概率。 我们以Java语言JVM为例,从其对象结构和JVM运行时内存结构出发,针对其...

2017-12-13 10:28:00 195

转载 随机变量及其分布函数

随机变量是一个映射/函数,将一个实数值X(w)赋予一个实验的每一个输出w。 X(Ω)=R 例如抛十次硬币,令X(w)表示序列w中正面向上的次数,如当w=HHTHHTHHTT,则X(w)=6;X只能取离散值,称为离散型随机变量 令 Ω=(x,y):x2+y2<=1 表示单...

2017-12-13 10:28:00 422

转载 Spark学习使用笔记 - Scala篇(2)- 数组

数组: 定长数组: val s = Array("Hello", 1)//用()而不是[]println("s(0) -> " + s(0)) //输出s(0) -> Hello 变长数组: val b = ArrayBuffer[Int]()...

2017-12-13 10:28:00 177

转载 [转载]微服务实战(一):微服务架构的优势与不足

  这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。  ...

2017-12-13 10:28:00 79

转载 MyCat - 源代码篇(9)

数据库路由中间件MyCat - 源代码篇(9) 3. 连接模块 3.5 后端连接 3.5.1 后端连接获取与负载均衡 上一节我们讲了后端连接的基本建立和响应处理,那么这些后端连接是什么时候建立的呢? 首先,MyCat配置文件中,DataHost标签中有m...

2017-12-13 10:28:00 88

转载 由一次年会系统大战所想到的。。。(1)

上个月接到了我公司年会系统的需求,觉得做起来有些困难。后来硬着头皮接下来了。年会1月6号顺利举办结束,整体上还算是成功,但是最后的摇一摇比赛出了些问题。在这里记录下用到的技术,遇到的困难和选择,以及做的处理和不足。希望对于大家有些参考。 先上一点结论和感想 1.做一个系统,需要权...

2017-12-13 10:28:00 71

转载 MyCat - 测试篇

数据库路由中间件MyCat - 测试篇 测试背景 为了检测MyCat性能表现以及架构扩展性,设计测试。首先需要编写压力测试代码,程序基于Jmeter,并且封装了JDBC,模拟涅槃项目实际应用的连接方式。测试程序生成基于当前系统时间的随机数,并且保证这个随机数一秒内重复概率...

2017-12-13 10:28:00 74

转载 分布式对象存储Ambry(2)基本使用API与集群容错测试

在上一篇文章中,我们部署了如下一个ambry集群: 下面,我们来为这个集群做简单的测试: 基本Restful API 首先,简单介绍下Ambry的API: 1.GET /healthCheck 这个API用来检查集群状态是否完好。 我们访问(相当于直接GET):...

2017-12-13 10:28:00 119

转载 log4J配置

log4j.properties 的使用详解 1. 输出级别的种类 ERROR、WARN、INFO、DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的...

2017-12-13 10:28:00 68

转载 Java 7新特性总结 - Coin项目新语言特性

Coin项目 OpenJDK中的Coin项目的目的是维护对Java语言所做的语法增强。 在Coin项目开始之初,曾经广泛地向社区征求提议。在短短的一个月时间内就收到了近70条提议。最后有9条提议被列入考虑之中。在这9条提议中,有6条成为Java 7的一部分,剩下的2条提议会在J...

2017-12-13 10:28:00 84

转载 分布式对象存储Ambry - 官方博客翻译与摘录(4)路由设计

5. 路由模块/前端 前端服务器提供了HTTP端口进行访问。它们也负责设置正确的CDN头,安全验证(反病毒,异常内容检测)和序列化对象发送给路由库和客户端。 路由库包括请求管理逻辑的核心并且镶嵌在前端中。同样地,他也可以作为客户端独立库来提高性能。 5.1 路由模块的职...

2017-12-13 10:28:00 74

转载 分布式对象存储Ambry(1)简介与集群部署

Ambry简介 LinkedIn开源了多媒体对象存储数据库Ambry,开源不久,算是一个很新的事物。Ambry用来做对象存储,非常适合用于存储像LinkedIn这种社交媒体网站的对象数据(如图片,视频等等)。 LinkedIn过去使用的是一种闭源技术,非常复杂,而且也难以随着用...

2017-12-13 10:28:00 202

转载 Hadoop使用学习笔记(3)

Hadoop使用学习笔记 2. 基本Map-Reduce工作配置与原理(下) 我们先用老版本的API编写,下一篇会用新的API,并解释区别: 环境配置: 提交Job,开发IDE所在机器环境:Windows 7,4C8G,IntelliJ IDEA 15. Hadoo...

2017-12-13 10:28:00 106

转载 C++ 温习笔记(3) - auto_ptr,string

auto_ptr 利用特点“栈上对象在离开作用范围时会自动析构”。 对于动态分配的内存,其作用范围是程序员手动控制的,这给程序员带来了方便但也不可避免疏忽造成的内存泄漏,毕竟只有编译器是最可靠的。 auto_ptr通过在栈上构建一个对象a,对象a中wrap了动...

2017-12-13 10:28:00 83

空空如也

空空如也

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

TA关注的人

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