最新文章

使用Byte Buddy轻松实现Java Agent

使用Byte Buddy轻松实现Java Agent

Java系列 3年前 (2021-08-19) 浏览: 1322 评论: 0

Java agent是在另一个Java应用程序(“目标”应用程序)启动之前执行的Java程序,为该agent提供修改目标应用程序或其运行环境的机会。在本文中,我们将从基础知识开始,使用字节码操作工具Byte Buddy实现高级代理。 在最基本的用例中,Java agent设置应用程序属性或配置特定的环境状态,从而使代理能够充当可重用和可插入的组件。下面的示例描述了这样一个代理agent,它设置了可

字节码修改工具Javasisst简介

字节码修改工具Javasisst简介

Java系列 3年前 (2021-08-18) 浏览: 863 评论: 0

在本文中,我们将研究Javasisst(http://www.javassist.org/)库。 简单地说,这个库通过使用高级API比JDK中的API更简单地操作Java字节码。 Maven依赖 要将Javassist库添加到我们的项目中,我们需要将Javassist添加到pom中: <dependency> <groupId>org.javassist</group

Java Instrumentation API使用指南

Java Instrumentation API使用指南

Java系列 3年前 (2021-08-17) 浏览: 1332 评论: 0

在本文中,我们将讨论Java Instrumentation API。它提供了向现有编译的Java类添加字节码的能力。 我们还将讨论java代理以及如何使用它们为代码提供工具。 我们将使用工具构建一个应用程序。 我们的应用程序将包括两个模块: 1. 允许我们取款的ATM应用程序 2. 还有一个Java代理,它允许我们通过测量投入的时间和花费的金钱来测量ATM的性能 Java agent将修改ATM

JDK新垃圾收集器-Shenandoah GC

JDK新垃圾收集器-Shenandoah GC

jvm 3年前 (2021-08-16) 浏览: 1480 评论: 0

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

Quarkus|云原生时代的Java框架

Quarkus|云原生时代的Java框架

相关技术 3年前 (2021-08-15) 浏览: 1716 评论: 0

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

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

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

Java系列 3年前 (2021-08-14) 浏览: 808 评论: 0

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

基于Kafka和Quarkus的Knative Eventing应用

基于Kafka和Quarkus的Knative Eventing应用

相关技术 3年前 (2021-08-13) 浏览: 590 评论: 0

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

警惕无代码和低代码

警惕无代码和低代码

相关技术 3年前 (2021-08-12) 浏览: 559 评论: 0

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

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

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

相关技术 3年前 (2021-08-11) 浏览: 1028 评论: 0

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

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

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

相关技术 3年前 (2021-08-10) 浏览: 814 评论: 0

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

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

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

相关技术 3年前 (2021-08-09) 浏览: 474 评论: 0

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

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

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

相关技术 3年前 (2021-08-08) 浏览: 609 评论: 0

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

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

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

相关技术 3年前 (2021-08-07) 浏览: 2092 评论: 0

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

GraalVM系列之二-Polyglot技术

GraalVM系列之二-Polyglot技术

相关技术 3年前 (2021-08-06) 浏览: 795 评论: 0

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

GraalVM系列之一-概述

GraalVM系列之一-概述

相关技术 3年前 (2021-08-05) 浏览: 392 评论: 0

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

DDD领域驱动设计系列二

DDD领域驱动设计系列二

相关技术 3年前 (2021-08-04) 浏览: 520 评论: 0

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

DDD领域驱动设计系列一

DDD领域驱动设计系列一

相关技术 3年前 (2021-08-03) 浏览: 442 评论: 0

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

使用Micronaut框架构建微服务

使用Micronaut框架构建微服务

微服务 3年前 (2021-08-02) 浏览: 948 评论: 0

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

Apache Ignite原理介绍

Apache Ignite原理介绍

相关技术 3年前 (2021-08-01) 浏览: 2955 评论: 0

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

Spring Boot配置Caffeine缓存示例

Spring Boot配置Caffeine缓存示例

相关技术 3年前 (2021-07-31) 浏览: 1184 评论: 0

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

登录

忘记密码 ?

切换登录

注册