5 东溪陈姓少年

尚未进行身份认证

我要认证

软件工程师(物联网&车联网行业) 技术栈: DevOps,自动化测试,CI/CD,微服务,Java… 联系方式: email:cg837718548@icloud.com qq:837718548 wechat:cg8377

等级
TA的排名 19w+

云原生时代高性能Java框架—Quarkus(二)

——— 构建Quarkus本地镜像、容器化部署Quarkus项目Quarkus系列博文Quarkus&GraalVM介绍、创建并启动第一个项目构建Quarkus本地镜像、容器化部署Quarkus项目…概览上一篇文章主要介绍了Quarkus以及给Quarkus提供“神力”的Java虚拟机GraalVM,并演示了如何安装GraalVM以及Quarkus的初步用法。本文将主要指向Quarkus的“亮点”——本地化应用程序。以下是本文的两个目标:将Quarkus开发的Java应用程

2020-07-24 11:14:52

云原生时代高性能Java框架—Quarkus(一)

——— Quarkus&GraalVM介绍、创建并启动第一个项目Quarkus系列博文Quarkus&GraalVM介绍、创建并启动第一个项目构建Quarkus本地镜像、容器化部署Quarkus项目…Quarkus介绍Quarkus 是一个为 **Java 虚拟机(JVM)和原生编译(native compilation)**而设计的全栈Kubernetes 原生 Java 框架,用于优化Java特别是Java项目的容器化,并使其成为serverless、云和 Kuber

2020-07-17 23:39:37

【译】GraalVM—下一代JVM介绍

原标题:GraalVM – an introduction to the next level JVM随着Red Hat宣布Quarkus作为…为GraalVM和HotSpot量身定制的下一代Kubernetes原生Java框架,使用一流的Java库和标准构建https://quarkus.ioRed Hat展示的Quarkus示例项目的启动速度和内存消耗给我留下了深刻的印象。令人印象深刻的主要原因之一是,代码是用GraalVM**提前(ahead-of-time,AOT)**编译成本机映像(n

2020-07-16 22:43:27

[译]高性能缓存库Caffeine介绍及实践

概览本文我们将介绍Caffeine-一个Java高性能缓存库。缓存和Map之间的一个根本区别是缓存会将储存的元素逐出。逐出策略决定了在什么时间应该删除哪些对象,逐出策略直接影响缓存的命中率,这是缓存库的关键特征。Caffeine使用Window TinyLfu逐出策略,该策略提供了接近最佳的命中率。添加依赖首先在pom.xml文件中添加Caffeine相关依赖:<dependency> <groupId>com.github.ben-manes.caffeine&lt

2020-07-04 20:31:34

图解resilience4j容错机制

Resilience4j是一个轻量级、易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计。轻量级,因为库只使用Vavr,它没有任何其他外部库依赖项。相比之下,Netflix Hystrix对Archaius有一个编译依赖关系,Archaius有更多的外部库依赖关系,如Guava和Apache Commons。Resilience4j提供高阶函数(decorators)来增强任何功能接口、lambda表达式或方法引用,包括断路器、速率限制器、重试或舱壁。可以在任.

2020-06-29 15:05:05

Spring Boot2+Resilience4j实现容错之Bulkhead

Resilience4j是一个轻量级、易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计。轻量级,因为库只使用Vavr,它没有任何其他外部库依赖项。相比之下,Netflix Hystrix对Archaius有一个编译依赖关系,Archaius有更多的外部库依赖关系,如Guava和Apache Commons。Resilience4j提供高阶函数(decorators)来增强任何功能接口、lambda表达式或方法引用,包括断路器、速率限制器、重试或舱壁。可以在任.

2020-06-25 10:19:34

除了FastJson,你也应该了解一下Jackson(二)

概览上一篇文章介绍了Jackson中的映射器ObjectMapper,以及如何使用它来实现Json与Java对象之间的序列化和反序列化,最后介绍了Jackson中一些序列化/反序列化的高级特性。而本文将会介绍Jackson中的一些常用的(序列化/反序列化)注解,并且通过示例来演示如何使用这些注解,从而来提高我们在处理Json上的工作效率。序列化注解@JsonAnyGetter@JsonAnyGetter注解允许灵活地使用映射(键值对,如Map)字段作为标准属性。我们声明如下Java类:@Dat

2020-06-09 12:35:19

除了FastJson,你也应该了解一下Jackson(一)

在上月末的时候收到一条关于fastjson安全漏洞的消息,突然想到先前好像已经有好多次这样的事件了(在fastjson上面)。关于安全方面,虽然中枪的机率微小,但是在这个信息越来越复杂的时代,安全性也变得越来越重要,就像DevSecOps的诞生,在软件交付的整个价值流中我们也需要注重安全这方面。当然我们现在不谈关于FastJson的优劣,因为我们本文的目标是让大家了解和掌握Jackson。概览Jackson是一个非常流行和高效的基于Java的库,它可以序列化java对象或将java对象映射到JSON,

2020-06-06 11:22:52

理解敏捷的价值观和原则

敏捷宣言敏捷宣言也称敏捷软件开发宣言,软件开发业的先辈们对以下四则价值观达成了一致:个体和互动高于流程和工具可工作的软件高于详尽的文档客户协作高于合同谈判响应变化高于遵循计划**注:**下面是这份宣言的完整内容:我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观。个体和互动 高于 流程和工具可工作的软件 高于 详尽的文档客户协作 高于 合同谈判响应变化 高于 遵循计划也就是说,虽然右项有其价值,但是我们更重视左项的价值。个体和互动高

2020-05-24 13:59:34

Spring Boot Admin实现服务健康预警

Over View上一篇文章主要介绍了Spring Boot Admin的概况以及我们如何在系统中引入和使用Spring Boot Admin,以此来帮助我们更加了解自己的系统,做到能快速发现、排查问题。本篇文章将用代码演示Spring Boot Admin的消息通知功能,并利用这个开箱即用的特性来个性化我们的需求,优化我们在服务治理方面的工作效率。Spring Boot Admin内置了多种开箱即用的系统通知渠道,包括邮件、Slack、Telegram、Hipchat等多种社交媒体的通知渠道。但是考虑

2020-05-15 09:48:45

Spring Boot Admin简介及实践

问题在若干年前的单体应用时代,我们可以相对轻松地对整个业务项目进行健康检查、指标监控、配置管理等等项目治理。如今随着微服务的发展,我们将大型单体应用按业务模型进行划分,以此形成众多小而自治的微服务,我们品尝到了微服务的甜头:异常隔离、独立部署和发布、服务伸缩、便于协作开发…我们的项目服务更加解耦合,高可用。但与此同时这也给我们带来了很多挑战,众多服务的健康检查、指标监控问题、配置管理、日志聚合问题、异常排查问题等等。我们急切需要一些工具或者手段来尽可能地解决这些问题,从而让我们收获微服务的最大化利益。

2020-05-11 16:09:33

SpringBoot Admin简介

Hello!我创建了一个Spring Boot Admin的分享资料,欢迎下载。????点这里

2020-05-06 11:05:27

[译]按功能(特性)分包

一种流行的方法是通过技术层面对项目进行分包。但是这种方法有一些缺点。相反,我们可以按功能分包并创建独立自治的程序包。结果是一个易于理解且不易出错的代码库。整体分析按照技术分包造成的缺点:对属于某个功能的所有类的概述不佳。通用代码、重用代码和复杂代码趋向于难以理解,并且由于难以把握变更的影响,因此变更很容易破坏其他功能用例。按功能分包从而创建包含功能所需的所有类的程序包。好处...

2020-05-05 14:02:12

好记性不如视觉笔记

**摘要:**视觉笔记,是将笔记内容与结构抽象,以可视化的方式呈现的笔记术。一些使用文字难以描述的情感和关系,通过图形化的转化将内容可视化。可以展示出文字背后的思考脉络,在阅读的同时,也能唤起对当时的思索与对未来的想象。人到中年,总是逃不过这样的话题————日渐稀松的发顶、日渐膨胀的肉体、日渐薄弱的记忆力… 但这些都不可怕,我们可以植发、可以运动、那么关于最最后一项,大家可能会说,老生常谈,...

2020-04-30 13:49:39

聊聊Spring Boot Actuator

概述在本文中,我们将介绍Spring Boot Actuator。我们将首先介绍基础知识,然后详细讨论Spring Boot 1.x和2.x中的可用内容。我们将在Spring Boot 1.x中学习如何使用,配置和扩展此监视工具。然后,我们将讨论如何利用反应式编程模型使用Boot 2.x和WebFlux进行相同的操作。自2014年4月起,Spring Boot Actuator随Spring...

2020-04-28 17:40:28

使用Reactor响应式编程

介绍响应式编程响应式编程不同于我们熟悉的命令式编程,我们熟悉的命令式编程即代码就是一行接一行的指令,按照它们的顺序一次一条地出现。一个任务被执行,程序就需要等到它执行完了,才能执行下一个任务。每一步,数据都需要完全获取到了才能被处理,因此它需要作为一个整体来处理。但是所谓的响应式编程**是函数式和声明式的。响应式流处理数据时只要数据是可用的就进行处理,而不是需要将数据作为一个整体进行提供。事实...

2020-04-28 11:31:08

Spring Data REST不完全指南(三)

上一篇我们介绍了使用Spring Data REST时的一些高级特性,以及使用代码演示了如何使用这些高级的特性。本文将继续讲解前面我们列出来的七个高级特性中的后四个。至此,这些特性能满足我们大部分的接口开发场景。需要满足的一些要求:1.针对字段级别,方法级别,类级别进行限制(禁止某些字段,方法,接口的对外映射)。2.对数据增删改查的限制(禁止某些请求方法的访问)。3.能个性化定义请求的路...

2020-04-23 18:01:48

Spring Data REST不完全指南(二)

上一篇文章介绍了Spring Data REST的功能及特征,以及演示了如何在项目中引入Spring Data REST并简单地启动演示了Spring Data REST项目。在本文中,我们将深入了解Spring Data REST的特性,以此来满足我们日常api开发工作的要求。如果仅仅是上一篇文章中对Spring Data REST的使用,那无法做到在日常开发中使用Spring Data RE...

2020-04-21 21:56:30

Gitflow分支管理策略

Gitflow存在两个记录项目历史的分支Master分支:存储(官方的,正式的)项目发布历史记录的分支。develop分支:充当功能的集成分支。Develop分支将包含项目的完整历史记录,而master将包含简化版本。现在,其他开发人员应该克隆中央存储库,并为develop创建跟踪分支。⚠️:基于Master分支创建develop分支。特性分支(feature bran...

2020-04-21 11:12:00

详解Gitflow分支管理策略

Gitflow存在两个记录项目历史的分支Master分支:存储(官方的,正式的)项目发布历史记录的分支。develop分支:充当功能的集成分支。Develop分支将包含项目的完整历史记录,而master将包含简化版本。现在,其他开发人员应该克隆中央存储库,并为develop创建跟踪分支。⚠️:基于Master分支创建develop分支。特性分支(feature branch)每...

2020-04-21 11:08:16

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取