GraalVM 了解一下?

GraalVM 了解一下?

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

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

JVM元空间metaspace溢出

JVM元空间metaspace溢出

jvm 4年前 (2020-11-12) 浏览: 1551 评论: 0

如何诊断Java8元空间泄漏? 执行堆转储并使用Eclipse MAT进行分析。看看你已经加载的类。检查是否有意外情况,尤其是metaspace以每小时20 Mb的速度稳定增长,直到我们碰到MaxMetaspace并遇到OOME。我尝试过并行和G1垃圾收集器(jdk1.8.0_40)。在执行过程中,应用程序没有被重新部署,因此看起来不像是典型的类加载器泄漏。 排除Java应用程序内存问题,OutO

Spock如何模拟抽象类方法

Spock如何模拟抽象类方法

Spock系列 4年前 (2020-10-07) 浏览: 1550 评论: 0

我们平时写单元测试时经常会遇到调用抽象类或父类的方法,这些抽象方法可能是调用底层接口或数据库,需要mock掉,让抽象方法返回一个我们指定的值,以便测试当前代码逻辑的场景。 下面讲下Spock如何结合power mock实现动态mock抽象方法 一. 抽象方法或父类方法动态mock AbstractService 是个抽象类,我们需要把它的方法 parentMethod 模拟掉,返回我们预先设置的"

内存级高性能分布式数据库Apache Ignite

内存级高性能分布式数据库Apache Ignite

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

介绍 Apache Ignite是一个开源的以内存为中心的分布式平台。我们可以将其用作数据库、缓存系统或内存中的数据处理。 该平台使用内存作为存储层,因此具有令人印象深刻的性能。简单地说,这是目前生产中使用的最快的原子数据处理平台之一。 官网地址:https://ignite.apache.org/ 安装 我们将要构建的应用程序的Maven依赖关系: <dependency> <

Java踩坑记系列之BigDecimal

Java踩坑记系列之BigDecimal

Java系列 4年前 (2020-02-09) 浏览: 1505 评论: 0

在java.math包中提供了对大数字的操作类,用于进行高精确计算,如BigInteger,BigDecimal类。而平常我们开发中使用最多的float和double只能适用于一般的科学和工程计算,如果要在比较精确的计算方面如货币,那么使用float和double会相应的丢失精度,因此用于精密计算大数字的类BigDecimal就必不可少了。所以BigDecimal适合商业计算场景,用来对超过16位

内存溢出的几种原因和解决办法

内存溢出的几种原因和解决办法

jvm 3年前 (2020-12-13) 浏览: 1448 评论: 0

JVM创建者在设计它时考虑了自动内存管理,这意味着程序员不需要担心内存分配和内存。未使用的对象可以以透明的方式自动释放,这非常方便,尤其是当您刚接触JVM时。但是,即使是一般情况下,要编写的代码也比传统方法少,而且不容易出错,因为传统方法要求您手动执行所有操作。 然而,实际情况并不像听起来那么理想,尤其是当你在开发具有巨大流量的长寿命应用程序时。虽然在JVM中引起内存泄漏比在C中更难,但仍然有可能

基于RocksDB实现的高性能文档存储框架:YugabyteDB

基于RocksDB实现的高性能文档存储框架:YugabyteDB

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

RocksDB是一种流行的可嵌入持久键值存储。作为Google LevelDB项目的一个分支,Facebook于2012年首次开源,多年来它已经适应了各种工作负载,包括数据库存储引擎和应用程序数据缓存。 在本文中,我们将解释选择RocksDB作为YugabyteDB的基础构建块的基本原理。我们还将重点介绍如何将YugabyteDB中的行建模为文档,然后将其存储为RocksDB中的多个键值对。 为什

使用Byte Buddy生成运行时代码

使用Byte Buddy生成运行时代码

Java系列 3年前 (2021-09-11) 浏览: 1419 评论: 0

Java平台的一个经常被忽略的特性是在JVM的解释器或即时(JIT)编译器执行程序之前修改程序字节码的能力。虽然此功能由工具使用,例如进行对象关系映射的探查器和库,但应用程序开发人员很少使用它。这代表了未开发的潜力,因为在运行时生成代码允许轻松实现跨领域问题,如日志记录或安全性,有时以模拟或编写性能数据收集代理的形式更改第三方库的行为。 目前有三个主要的库用于生成字节码: ASM cglib Ja

以GraalVM原生镜像的方式运行Spring Boot应用程序

以GraalVM原生镜像的方式运行Spring Boot应用程序

Serverless 3年前 (2021-06-01) 浏览: 1413 评论: 0

Spring Boot&GraalVM–系列共有3个部分: 第1部分:以GraalVM原生镜像运行Spring Boot应用程序 第2部分:使用Docker&Heroku容器运行Spring Boot GraalVM原生镜像 第3部分:使用原生镜像maven插件简化Spring Boot GraalVM原生镜像构建 Spring Boot变GraalVM 在我去年的一个项目中,我遇

Spring5新特性一览

Spring5新特性一览

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

Spring Framework 5.0是自2013年12月发布版本4以来Spring框架的第一个主要版本。Spring框架项目负责人juergenhoeller于2016年7月28日宣布发布了第一个Spring框架5.0里程碑(5.0m1)。 我对Spring Framework 5.0中的新特性和增强感到兴奋。 在较高的层次上,Spring Framework 5.0的功能可以分为: JDK基

微服务与SOA的区别是什么?

微服务与SOA的区别是什么?

微服务 3年前 (2021-06-23) 浏览: 1401 评论: 0

在这一点上,微服务已经有好几年的上升趋势。这是有道理的,因为最著名的微服务成功案例属于游戏中最大的科技巨头——Netflix、亚马逊、Uber和eBay。 通过采用微服务,那些大型科技公司突然变得更加灵活。因此,通过提高部署速度和发布频率,它们可以更快地扩展。看到公共领域的潜在发展,开发人员开始将他们的单片应用程序解耦,并进行到云的迁移。 微服务的前身面向服务的体系结构(SOA)并不是很好。SOA

Java堆转储dump文件的几种方法

Java堆转储dump文件的几种方法

jvm 3年前 (2020-12-18) 浏览: 1388 评论: 0

在本文中,我们将展示用Java捕获堆转储的不同方法。 堆转储是JVM内存中某一时刻所有对象的快照。它们对于解决内存泄漏问题和优化Java应用程序中的内存使用非常有用。 堆文件通常以二进制格式存储。我们可以使用jhat或JVisualVM之类的工具打开和分析这些文件。另外,对于Eclipse用户来说,使用MAT是非常常见的。 下面我们将介绍生成堆转储的多种工具和方法,并将展示它们之间的主要区别。 J

Spock代码讲解 – 基类封装

Spock代码讲解 – 基类封装

Spock系列 4年前 (2020-08-19) 浏览: 1387 评论: 0

这是Spock系列的第九篇文章,这一篇介绍在实际使用Spock的过程中如何把一些常用的测试方法抽出来,封装成基类使用 BaseSpock 在前面几篇文章讲解Spock结合power mock实现静态方法mock功能时,示例代码里经常会用到LogUtils等工具类的静态方法去记录日志,那我们就可以把LogUtils类的mock代码抽到一个公共类中,然后我们的测试类去继承我们自己实现的公共类 比如我们

一文带你彻底了解Java异步编程

一文带你彻底了解Java异步编程

Java系列 4年前 (2020-10-13) 浏览: 1386 评论: 0

随着RxJava、Reactor等异步框架的流行,异步编程受到了越来越多的关注,尤其是在IO密集型的业务场景中,相比传统的同步开发模式,异步编程的优势越来越明显。 那到底什么是异步编程?异步化真正的好处又是什么?如何选择适合自己团队的异步技术?在实施异步框架落地的过程中有哪些需要注意的地方? 本文从以下几个方面结合真实项目异步改造经验对异步编程进行分析,希望能给大家一些客观认识: 使用RxJava

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

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

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

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

为什么我的Java应用内存溢出时会被Docker Kill掉?

为什么我的Java应用内存溢出时会被Docker Kill掉?

Java系列 3年前 (2021-01-31) 浏览: 1354 评论: 0

像我们这样在Docker中运行Java应用程序的人,可能已经遇到过JVM在容器中运行时无法准确检测可用内存的问题。jvm没有准确地检测Docker容器中可用的内存,而是查看机器的可用内存。这可能导致在容器内运行的Java应用程序在尝试使用超出Docker容器限制的内存量时被终止的情况。 jvm对可用内存的错误检测与Linux工具/lib有关,这些工具/lib是在cgroups存在之前创建的,用于返

Spring Native应用程序示例

Spring Native应用程序示例

Serverless 3年前 (2021-05-30) 浏览: 1353 评论: 0

请注意,Spring Native是一个实验版本,在最终版本之前可能会更改实现。Spring Native框架允许开发人员创建应用程序的本机编译映像。这些本机映像将代码、库、资源和JDK的所有不同功能封装到一个单独的包中,该包经过优化,可以在特定平台上运行。这导致应用程序启动更快,需要更少的内存,并且由于最小化系统开销和更少的垃圾收集周期而使用更少的CPU。 除了本机映像构建之外,从版本0.9开始

你不知道的java.lang.OutOfMemory错误类型!

你不知道的java.lang.OutOfMemory错误类型!

jvm 3年前 (2021-01-18) 浏览: 1348 评论: 0

没有什么错误比java.lang.OutOfMemory更让人头疼的了。当这种情况发生时,您的应用程序将运行到一个非常不可预知的状态,经常挂断并且不处理新的请求,在用户浏览器中抛出难看的堆栈跟踪等。最流行的(短期内有效的)修复OutOfMemory错误的方法就是重新启动应用程序或应用程序服务器。 虽然java堆耗尽是最常见的OutOfMemory错误,但确实有其他几种类型的OutOfMemory可

JAR、WAR、EAR有什么区别?

JAR、WAR、EAR有什么区别?

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

JAR、WAR和EAR文件的主要区别在于JAR文件是一个包含Java类文件、相关元数据和资源的文件,这些文件组合成一个文件来执行Java应用程序。另一方面,WAR文件是一个包含servlet、JSP、HTML、JavaScript等文件的文件,这些文件是开发web应用程序所必需的,而EAR是一个Java EE文件,它将一个或多个模块打包到单个归档文件中,以便将它们部署到应用程序服务器上。 Java

Java metaspace outofmemory

Java metaspace outofmemory

jvm 4年前 (2020-11-11) 浏览: 1340 评论: 0

java.lang.OutOfMemoryError 由于内存泄漏,应用程序可能无法使用java.lang.OutOfMemoryError:Metaspace 元空间异常 已知在以下情况下会发生此问题: 应用程序的部署 mule服务器的启动 INFO 2019-01-08 19:24:36,067 [Mule.app.deployer.monitor.1.thread.1] [event: ]

登录

忘记密码 ?

切换登录

注册