sofia

2020年02月08日注册2024年04月07日最后登录

没有个人说明

  • 发表了 549 篇文章

JDK新垃圾收集器-Shenandoah GC

 sofia
 2021年08月16日
 1323
 jvm
 0
 0 

Shenandoah是低暂停时间垃圾收集器,它通过与运行的Java程序同时执行更多垃圾收集工作来减少GC暂停时间。Shenandoah同时执行大部分GC工作,包括并发压缩,这意味着它的暂停时间不再与堆的大小成正比。垃圾收集200 GB堆或2 GB堆应该具有类似的低暂停行为。 Shenandoah的可用性因供应商和JDK版本而异。OpenJDK 12+版本默认情况下通常包括Shenandoah。Op

JDK新垃圾收集器-Shenandoah GC

Quarkus|云原生时代的Java框架

 sofia
 2021年08月15日
 1668
 0
 0 

在这个数字第一的时代,技术发展更快。它帮助技术人员开发和部署更快、更面向性能、更高效和更低内存消耗的应用程序。Quarkus是RedHat的一项此类计划。它是由RedHat设计和开发的,考虑到cloud-native、serverless和容器化应用程序的未来。 根据RedHat的定义:“Quarkus是一个完整的堆栈,Kubernetes原生Java框架,用于Java虚拟机(JVM)和本机编译,

Quarkus|云原生时代的Java框架

JAR和WAR文件之间有什么区别?

 sofia
 2021年08月14日
 740
 0
 0 

JAR和WAR文件之间的主要区别在于,JAR文件是包含Java类文件、相关元数据和资源的文件,这些文件聚合到一个文件中以执行Java应用程序,而WAR文件是包含Servlet、JSP、HTML、JavaScript和开发web应用程序所需的其他文件的文件。 Java是一种高级通用编程语言,用于开发各种领域的应用程序。Java之所以流行是因为多种原因。Java源代码编译成称为字节码的中间代码。任何具

JAR和WAR文件之间有什么区别?

基于Kafka和Quarkus的Knative Eventing应用

 sofia
 2021年08月13日
 558
 0
 0 

在本文中,您将学习如何使用Kafka和Quarkus在Knative上运行事件应用程序。之前,我描述了Kafka和Spring Cloud的相同方法。我们将部署完全相同的体系结构。然而,我们将使用Quarkus Funqy代替SpringCloud函数。此外,Spring Cloud流可能会被Quarkus Kafka所取代。在我们开始之前,让我们澄清一些事情。 Knative 和 Quarkus

基于Kafka和Quarkus的Knative Eventing应用

警惕无代码和低代码

 sofia
 2021年08月12日
 504
 0
 0 

我们最近都听到了关于低代码和无代码平台的炒作。无代码平台的承诺是,它们将使软件开发与使用Word或PowerPoint一样简单,从而使普通业务用户能够在不需要工程团队额外成本(金钱和时间)的情况下推进项目。与无代码平台不同,低代码平台仍然需要编码技能,但通过让开发人员使用预先编写的代码组件,有望加速软件开发。 根据Gartner的数据,到2024年,65%的应用程序开发将是低代码的。 低代码/无代

警惕无代码和低代码

Apache Pulsar——下一代消息发布订阅平台

 sofia
 2021年08月11日
 902
 0
 0 

Apache Pulsar是一个开源发布-订阅消息平台,由持久存储(Apache Bookkeeper)支持,具有以下特性: Geo-Replication 多租户 零数据丢失 Zero Rebalancing Time 统一排队和流模型 高度可扩展 高通量 Pulsar代理 功能 Pulsar文档详细解释了每个特征;这个博客是从Pulsar用户的角度写的,涵盖了在开始使用Pulsar之前需要了解

Apache Pulsar——下一代消息发布订阅平台

基于微软的Dapr构建微服务系统

 sofia
 2021年08月10日
 787
 0
 0 

当你第一次读到微软本周发布的最新开源项目Dapr时,你可能会觉得它是另一个服务网格。相反,Dapr在一篇博客文章中被描述为“一个开源、可移植、事件驱动的运行时,使开发人员能够轻松构建在云和边缘上运行的弹性、微服务无状态和有状态的应用程序。” 虽然该项目在其Istio服务网格实现中使用了特使代理使用的熟悉的侧车架构,但Azure项目管理总监Gabe Monroy在一次电子邮件采访中解释说,Dapr作

基于微软的Dapr构建微服务系统

GraalVM系列之五-将Scala对象传递给JavaScript

 sofia
 2021年08月9日
 427
 0
 0 

GraalVM是Oracle的一个新的开源项目,它试图使Java虚拟机成为运行所有主要语言的通用虚拟机。在GraalVM之前,已经很少有像Scala、Closure这样的语言将JVM作为其运行时。这对于这些语言来说是非常成功的。GraalVM进一步扩展了这一思想,使得以JVM为目标变得很容易,从而使更多的语言可以在JVM上共存。 GraalVM是从2014年开始的一个研究项目。推特从2017年开始

GraalVM系列之五-将Scala对象传递给JavaScript

GraalVM系列之四-跨语言传递对象

 sofia
 2021年08月8日
 563
 0
 0 

GraalVM是Oracle的一个新的开源项目,它试图使Java虚拟机成为运行所有主要语言的通用虚拟机。在GraalVM之前,已经很少有像Scala、Closure这样的语言将JVM作为其运行时。这对于这些语言来说是非常成功的。GraalVM进一步扩展了这一思想,使得以JVM为目标变得很容易,从而使更多的语言可以在JVM上共存。 GraalVM是从2014年开始的一个研究项目。推特从2017年开始

GraalVM系列之四-跨语言传递对象

GraalVM系列之三-从JVM调用JS函数

 sofia
 2021年08月7日
 1959
 0
 0 

GraalVM是Oracle的一个新的开源项目,它试图使Java虚拟机成为运行所有主要语言的通用虚拟机。在GraalVM之前,已经很少有像Scala、Closure这样的语言将JVM作为其运行时。这对于这些语言来说是非常成功的。GraalVM进一步扩展了这一思想,使得以JVM为目标变得很容易,从而使更多的语言可以在JVM上共存。 GraalVM是从2014年开始的一个研究项目。推特从2017年开始

GraalVM系列之三-从JVM调用JS函数

GraalVM系列之二-Polyglot技术

 sofia
 2021年08月6日
 740
 0
 0 

在上一篇中介绍了GraalVM的基本功能,GraalVM是Oracle的一个新的开源项目,它试图使Java虚拟机成为运行所有主要语言的通用虚拟机。在GraalVM之前,已经很少有像Scala、Closure这样的语言将JVM作为其运行时。这对于这些语言来说是非常成功的。GraalVM进一步扩展了这一思想,使得以JVM为目标变得很容易,从而使更多的语言可以在JVM上共存。 GraalVM是从2014

GraalVM系列之二-Polyglot技术

GraalVM系列之一-概述

 sofia
 2021年08月5日
 366
 0
 0 

GraalVM是Oracle的一个新的开源项目,它试图使Java虚拟机成为运行所有主要语言的通用虚拟机。在GraalVM之前,已经很少有像Scala、Closure这样的语言将JVM作为其运行时。这对于这些语言来说是非常成功的。GraalVM进一步扩展了这一思想,使得以JVM为目标变得很容易,从而使更多的语言可以在JVM上共存。 GraalVM是从2014年开始的一个研究项目。推特从2017年开始

GraalVM系列之一-概述

DDD领域驱动设计系列二

 sofia
 2021年08月4日
 470
 0
 0 

在这一部分中,我将讨论我最喜欢的一种架构,称为“洋葱架构”。尽管如此,请允许我首先回顾一下,到目前为止,我们对DDD的了解如下: DDD是关于我们如何从业务角度设计软件,而不是从技术角度。为此,我们必须在设计过程中与领域专家(又称业务专家)一起工作,这样我们才能与业务需求保持一致。这个过程总是从我们称之为无处不在的语言开始(即,我们需要在设计和实现过程中使用标准术语)。随后,将复杂域分解为更小的子

DDD领域驱动设计系列二

DDD领域驱动设计系列一

 sofia
 2021年08月3日
 418
 0
 0 

当我第一次听说DDD(领域驱动设计,当然不是期限驱动设计)时,我还是惠普(Hewlett-Packard)位于马来西亚Cyberjaya的开发中心的高级Java开发人员。我对这个话题不太感兴趣,因为在那段时间里很难找到好的资源。有人让我找到埃里克·埃文的书(“蓝皮书”),我得到了这本书,并将它添加到我的PDF收藏中。 在这段时间里,DDD是一项全新的技术(尤其是在印度尼西亚),因此只有少数公司成功

DDD领域驱动设计系列一

使用Micronaut框架构建微服务

 sofia
 2021年08月2日
 892
 0
 0 

与使用传统JVM框架构建的应用程序不同,Micronaut具有100%的编译时间、无反射、依赖注入和AOP。因此,Micronaut应用程序体积小,内存占用小。使用Micronaut,您可以开发一个大的整体或一个可以部署到AWS Lambda的小功能。您不受框架的约束。 Micronaut还将云技术集成到框架中,并将服务发现、分布式跟踪、断路器等微服务模式烘焙到框架中。 Micronaut于201

使用Micronaut框架构建微服务

Apache Ignite原理介绍

 sofia
 2021年08月1日
 2778
 0
 0 

Apache Ignite是一个开源的分布式数据库、缓存和处理平台,它以内存速度处理数PB的数据。 它提供容错、集群范围内的发布/订阅消息传递、在出现故障时动态重新平衡集群、内存文件系统、数据网格、数据库、流分析。它可以用来解决可伸缩性和性能问题。 在Cazton,我们通过Apache Ignite最佳实践、开发、性能调整、咨询、招聘服务和实践培训服务,帮助财富500强的大中型公司。 内存计算平台

Apache Ignite原理介绍

Spring Boot配置Caffeine缓存示例

 sofia
 2021年07月31日
 1056
 0
 0 

昂贵的(CPU或I/O)绑定操作会降低系统的速度。缓存是提高系统性能的一种方法。在本文中,我们将演示如何使用Spring-Boot进行缓存。您可以使用caffeine作为spring框架缓存抽象之上的缓存提供者。 Maven依赖项 我们使用Maven来管理我们的项目依赖关系。首先,将以下依赖项添加到项目中。在本例中,我们使用com.github.ben-manes.caffee-caffee作为缓

Spring Boot配置Caffeine缓存示例

Apache Kafka Vs RabbitMQ

 sofia
 2021年07月30日
 235
 0
 0 

什么是RabbitMQ? RabbitMQ是应用最广泛的通用开源消息代理。它于2007年发布,是消息传递系统的主要组件。目前,它用于流式处理用例。RabbitMQ能够处理后台任务或充当微服务之间的消息代理。它帮助web应用程序减少了负载。此外,它还减少了服务器对那些耗时的任务或资源的交付时间。 什么是Apache Kafka? Apache Kafka也是一个开源的分布式发布/订阅消息系统。它于2

Apache Kafka Vs RabbitMQ

RSocket入门系列之一

 sofia
 2021年07月29日
 1184
 0
 0 

在这篇文章中,您将学习RSocket的基础知识,RSocket是一个支持反应流的二进制应用程序协议。在介绍之后,您将学习如何将RSocket与Spring Boot结合使用。好好享受! 简介 RSocket是在TCP或WebSockets之上使用的二进制协议。RSocket是一种包含反应式原理的通信协议。这意味着RSocket使用异步通信。它也适用于推送通知。例如,当使用HTTP时,需要进行轮询以

RSocket入门系列之一

Java Stream之Parallel Streams编程指南

 sofia
 2021年07月28日
 2343
 0
 0 

并行与并发程序设计 到目前为止,我们在CS2030中编写的程序是按顺序运行的。这意味着在任何时候,处理器上运行的程序只有一条指令。 什么是并发性? 一个单核处理器一次只能执行一条指令——这意味着一次只能运行一个进程(或者更确切地说,一个应用程序)。然而,当我们使用电脑时,感觉就像我们在同时运行多个进程。幕后的操作系统实际上是在不同进程之间切换,给用户一种同时运行的错觉。 我们可以编写一个程序,使其

Java Stream之Parallel Streams编程指南

登录

忘记密码 ?

切换登录

注册