sofia

2020年02月08日注册2024年10月27日最后登录

没有个人说明

  • 发表了 552 篇文章

Windows10设置Java环境变量步骤

 sofia
 2021年09月8日
 765
 0
 0 

为什么我需要设置JAVA_HOME? 许多基于Java的程序,如Tomcat,需要将Java_HOME设置为环境变量才能正常工作。请注意,JAVA_HOME应该指向JDK目录,而不是JRE目录。设置环境变量的目的是让程序知道可以在哪个目录中找到像javac这样的可执行文件。 打开高级系统设置 在Windows 10中,按Windows键+Pause暂停键,将打开系统设置窗口。转到“更改设置”并选择

Windows10设置Java环境变量步骤

Java Agent:动态修改字节码

 sofia
 2021年09月7日
 1244
 0
 0 

假设您有一个在生产环境中运行的应用程序。每隔一段时间,它就会进入中断状态,错误很难重现,您需要从应用程序中获得更多信息。 那么你想知道解决方案吗? 您可以做的是动态地将一些代码集附加到应用程序中,并仔细地重写它,以便代码转储您可以记录的其他信息,或者您可以将应用程序阶段转储到文本文件中。Java为我们提供了使用Java Agent实现这一点的工具。 你有没有想过我们的Java代码是如何在IDE中进

Java Agent:动态修改字节码

JDK最新高速垃圾收集器概览

 sofia
 2021年09月6日
 437
 0
 0 

ZGC、Shenandoah和对G1的改进使开发人员比以往任何时候都更接近无停顿Java。 在过去的六个月里,JDK的垃圾收集器(GC)出现了一些最令人兴奋的发展。本文介绍了一系列不同的改进,其中许多最早出现在JDK 12中,并在JDK 13中继续介绍。首先,我们将介绍Shenandoah,一种低延迟GC,它主要与应用程序同时运行。我们还将介绍作为JDK 12的一部分发布的ZGC(Java11中引

JDK最新高速垃圾收集器概览

什么是Serverless?

 sofia
 2021年09月5日
 434
 0
 0 

Serverless是一种cloud-native云本地开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 serverless中仍然有服务器,但它们被抽象出应用程序开发。云提供商处理服务器基础设施的供应、维护和扩展等日常工作。开发人员可以简单地将代码打包到容器中进行部署。 一旦部署,无服务器应用程序将响应需求,并根据需要自动上下扩展。公共云提供商提供的无服务器服务通常通过事件驱动的执行

什么是Serverless?

Apache Pulsar工作原理

 sofia
 2021年09月4日
 1166
 0
 0 

在本文中,我们将介绍ApachePulsar的设计,以便更好地设计故障场景。这篇文章不是为那些想了解如何使用ApachePulsar的人写的,而是为那些想了解它是如何工作的人写的。我一直在努力以一种简单易懂的方式对其架构进行清晰的概述。 主要的声明包括: 保证不会丢失消息(如果采用了建议的配置,并且您的整个数据中心不会被烧毁) 强排序保证 可预测的读写延迟 Apache Pulsar选择一致性而不

Apache Pulsar工作原理

Dapr与Service Mesh的区别

 sofia
 2021年09月3日
 832
 0
 0 

自从微软宣布Dapr以来已经有6个月了。Dapr或分布式应用程序运行时是一个开源项目,其目标是使开发人员能够编写微服务。这是一个很好的目标,在本博客中,我们将探讨这意味着什么。 自从Dapr发布以来,我听到越来越多关于它的消息。与每次发布一样,Dapr都会发布一些公告、Azure Friday剧集等。对我来说,Dapr似乎并不常见的是,即使在发布之后,它似乎仍能吸引人们。我一直在网络上看到人们在推

Dapr与Service Mesh的区别

GraalVM 了解一下?

 sofia
 2021年09月2日
 1707
 0
 0 

Erich Ferdinand的《GraalVM》,在CC by 2.0许可下出版。最重要的是,有一个名为Twitter的旗舰项目。他们使用GraalVM已经有一段时间了。他们在Graal上运行Scala微服务。 GraalVM也来到了一个更加保守的商业世界。它似乎对云本地应用程序特别有吸引力。想想Lambda函数吧。所以是时候重温GraalVM了。是时候抛弃旧的Java虚拟机,转向新的东西了吗?

GraalVM 了解一下?

Apache Ignite实践

 sofia
 2021年09月1日
 886
 0
 0 

“让我们假设我们开始为我们的物联网应用开发一个Web服务器,其中包含几个端点,如接收事件的POST、获取DeviceBySensorType、获取全部和更新设备元数据的PUT等。 一开始,公共数据的缓存似乎是次要问题,但如果我们开始考虑长期问题,并且如果我们想要提高性能和/或减少响应时间(例如,当服务从数据库检索数据时),我们就会意识到缓存是一项强制性要求。 最初的解决方案可能是使用始终可靠的Ha

Apache Ignite实践

SpringBoot:使用Caffeine实现缓存

 sofia
 2021年08月31日
 1061
 0
 0 

在本博客中,我们将探讨如何使用Spring的缓存框架向任何Spring Boot应用程序添加基本缓存支持,如果没有正确实现,还将探讨缓存的一些问题。最后但并非最不重要的一点是,我们将看几个在真实场景中有用的缓存示例。 为什么要在应用程序中添加缓存 在深入探讨如何向应用程序添加缓存之前,首先想到的问题是为什么我们需要在应用程序中使用缓存。 假设有一个包含客户数据的应用程序,用户发出两个请求来获取客户

SpringBoot:使用Caffeine实现缓存

Spock中Mock()、Stub()、Spy()方法的区别

 sofia
 2021年08月30日
 6440
 7
 0 

Mock 按照Spock官方文档(https://spockframework.org/spock/docs/2.0/interaction_based_testing.html)的定义: 描述规范下的对象与其合作者之间(强制)交互的行为。 说人话就是Mock()的对象是一个虚拟类,用于替换真实的类,为每个方法调用返回一个默认值:引用类型是null,基本类型为 0 或 false,比如可以把调用其

Spock中Mock()、Stub()、Spy()方法的区别

微服务消息代理选型:Redis、Kafka、RabbitMQ

 sofia
 2021年08月29日
 1289
 0
 0 

在为微服务使用异步通信时,通常使用消息代理。代理确保不同微服务之间的通信可靠稳定,消息在系统内得到管理和监控,并且消息不会丢失。您可以从几个消息代理中选择,它们的规模和数据功能各不相同。这篇博文将比较三个最受欢迎的代理brokers:RabbitMQ、Kafka和Redis。 但首先,让我们了解一下微服务通信。 微服务通信:同步和异步 微服务之间有两种常见的通信方式:同步和异步。在同步通信中,调用

微服务消息代理选型:Redis、Kafka、RabbitMQ

RSocket入门系列之二

 sofia
 2021年08月28日
 514
 0
 0 

在本博客中,您将继续第1部分https://javakk.com/2174.html之后的内容。您将探索RSocket通信模型Fire-and-Forget、Request-Stream和Channel。对于所有这些模型,您将创建服务器、客户机和单元测试。 在第1部分https://javakk.com/2174.html中,您学习了RSocket通信协议的基础知识。建议在继续第2部分之前先阅读第

RSocket入门系列之二

Java Parallel Stream

 sofia
 2021年08月27日
 591
 0
 0 

Java8引入了并行流parallel stream的概念来进行并行处理。由于廉价的硬件成本,我们现在拥有更多的cpu核,因此可以使用并行处理来更快地执行操作。 让我们通过简单的例子来理解 package org.arpit.java2blog.java8; import java.util.Arrays; import java.util.stream.IntStream; public cla

Java Parallel Stream

Java lambda表达式用法介绍

 sofia
 2021年08月26日
 362
 0
 0 

在本文中,我们将通过示例了解Java lambda表达式以及lambda表达式在函数接口、通用函数接口和流API中的使用。 lambda表达式是在Java8中首次引入的。它的主要目标是提高语言的表达能力。 但是,在进入lambdas之前,我们首先需要了解功能接口。 什么是Functional Interface? 如果Java接口包含一个且仅包含一个抽象方法,则称为函数接口。只有一种方法指定了接口

Java lambda表达式用法介绍

使用Java实现区块链

 sofia
 2021年08月25日
 1214
 0
 0 

区块链是数字加密货币比特币的核心技术。 区块链是一个称为块的记录列表,这些记录使用链表链接在一起并使用加密技术。 每个数据块都包含自己的数字指纹(称为散列)、前一个数据块的散列、时间戳和所做事务的数据,使其在任何类型的数据泄露时都更加安全。 因此,如果一个块的数据被改变,那么它的散列也会改变。如果散列被更改,那么它的散列将不同于下一个块,下一个块包含前一个块的散列,影响它之后的所有块的散列。更改哈

使用Java实现区块链

微服务与SOA:有什么区别?

 sofia
 2021年08月24日
 342
 0
 0 

理解开发和部署应用程序的最佳方式是当今任何数据驱动组织的一个重要考虑因素。面向服务的体系结构(SOA)和微服务等选项为构建和运行应用程序提供了宝贵的灵活性,而传统的单一方法则没有。然而,为了确定哪一个最适合您的业务,很难理解两者之间的差异。 微服务将应用程序结构为一系列不同的、单一用途的服务,而SOA是一组模块化服务,它们“对话”在一起支持应用程序及其部署。这两种方法在体系结构、组件共享、数据治理

微服务与SOA:有什么区别?

基于Spring Boot和Spring Cloud实现Java微服务

 sofia
 2021年08月23日
 557
 0
 0 

在开发微服务体系架构时,Java是一种很好的语言。事实上,我们行业中的一些大牌公司都在使用它。你听说过Netflix、亚马逊或谷歌吗?eBay、Twitter和LinkedIn呢?是的,处理令人难以置信的流量的大公司都在用Java来实现这一点。 在Java中实现微服务体系结构并不适合所有人。因此,通常不需要实现微服务。大多数公司这样做是为了扩大员工规模,而不是系统规模。如果你想扩大你的员工规模,雇

基于Spring Boot和Spring Cloud实现Java微服务

异步微服务简介

 sofia
 2021年08月22日
 335
 0
 0 

为什么是微服务?它们使创新更快。 企业必须以更快的速度创新,才能在竞争中保持领先地位。他们必须显著改进他们如何开发和部署作为创新的基础的软件。 企业不仅必须采用敏捷实践并在云上部署,还必须用微服务取代庞大、笨重的单片应用程序。 微服务的问题:分布式数据管理 每个服务都有自己的数据库 为了确保服务松散耦合,每个服务都有自己的私有数据库。因此,在开发微服务时,必须解决分布式数据管理的问题。 维护数据一

异步微服务简介

Spring WebFlux教程:如何构建反应式web应用程序

 sofia
 2021年08月21日
 1562
 0
 0 

反应式系统允许我们在高数据流世界中所需的无与伦比的响应能力和可扩展性。然而,反应式系统需要经过专门培训的工具和开发人员来实现这些独特的程序体系结构。Spring WebFlux with Project Reactor是专门为满足现代公司的反应性需求而构建的框架。 今天,我们将通过解释WebFlux如何与其他反应式堆栈工具相匹配、如何不同以及如何制作第一个应用程序来帮助您开始使用WebFlux。

Spring WebFlux教程:如何构建反应式web应用程序

Apache Druid的工作原理

 sofia
 2021年08月20日
 1120
 0
 0 

Apache Druid是一个实时分析数据库,它将保存大量数据的可能性与从中提取信息的可能性联系起来,而无需等待不合理的时间。 Druid已经引起了小型和知名公司的注意。这很可能是因为Druid在性能方面信守承诺,在星型模式基准测试期间实现的速度比当前著名的数据库解决方案(如Hive和Presto)高100倍左右。 由于它显示了这样的前景,因此本文的目标是简要解释数据进入德鲁伊生态系统的一些机制,

Apache Druid的工作原理

登录

忘记密码 ?

切换登录

注册