内存泄露分析

jvm 3年前 (2020-12-05) 浏览: 452 评论: 0

诊断Java语言代码中的内存泄漏 使用NetBeans profiler诊断Java语言代码中的泄漏。 诊断Java语言代码中的漏洞可能很困难。通常,它需要非常详细的应用知识。此外,这个过程通常是反复的和冗长的。本节提供有关可用于诊断Java语言代码中内存泄漏的工具的信息。 除了本节提到的工具之外,还有大量第三方内存调试器工具。Eclipse内存分析器工具(MAT)和你的工具包(www.yourk

dump文件定位内存泄露

jvm 3年前 (2021-01-05) 浏览: 2185 评论: 0

本文旨在详细说明如何查看堆中的对象。包括对象之间的引用以识别潜在的Java内存泄漏。 用于分析内存问题的最简单工具是所谓的Java Heapdumps,即堆转储dump文件,它可以在出现错误时自动生成,例如,通过JVM选项-XX:+HeapDumpOnOutOfMemoryError。在这种情况下,转储是在JVM结束之前创建的,这也称为事后分析。当然,这些转储也可以在运行时手动生成,但以后会更多。

Java10新特性一览

Java系列 3年前 (2021-02-05) 浏览: 202 评论: 0

Java10是Java版本23年历史上最快的版本。Java因其缓慢的增长和进化而受到批评,但Java10打破了这一概念。Java10是一个具有许多未来变化的版本,其范围和影响可能并不明显,但却很牵强。 在本文中,我们将讨论Java10发行版中添加的各种特性。在此之前,让我们回顾一下java发布模型中引入的一些更改。 长期支持模式 从2017年开始,Oracle&Java社区宣布将向为期6个

Java8中的函数式接口

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

函数式接口是只包含一个抽象方法的接口。它们只能展示一种功能。从Java8开始,可以使用lambda表达式来表示函数式接口的实例。函数式接口可以有任意数量的默认方法。Runnable、ActionListener和Comparable是函数接口的一些示例。 在Java8之前,我们必须创建匿名的内部类对象或实现这些接口。 // Java program to demonstrate functiona

云原生应用讲解系列一

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

某一天,在办公室,你在做“下一件大事” 你的手机响了。是你友好的招聘者——一天给你打两次电话谈新工作的人。 但这次不同了:创业、股权和充足的资金。 一提到云和尖端技术,你就会被推到边缘。 快进几周,你现在是一个新员工在设计一个主要的电子商务应用程序的设计会议。你将与领先的电子商务网站竞争。 你将如何建造它? 如果您遵循过去15年的指导,您很可能会构建如图1.1所示的系统。 传统单体设计 构建一个包

Cloud-Native云原生架构系列一

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

Cloud native是一代人中最大的推动者。它让开发人员只需开发。只关注真正重要的东西:创建客户想要(喜欢)的软件使用。 本文从三个方面介绍Cloud-native: 云原生/云本地架构:它是什么?为什么重要? 云原生/云本地开发:云如何改变您的开发方式? 云原生原则和实践:23个关于如何实现云原生的杀手锏 云原生架构:它是什么以及它为什么重要 云原生架构充分利用公共云的分布式、可伸缩性和灵活

Java还是Python:哪个更适合区块链?

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

区块链被认为是近年来出现在科技界最具颠覆性的技术之一。尽管据说它现在还处于初级阶段,但它是一种具有光明潜力的技术。区块链正在由各个领域的专家实施。区块链世界现在需要专业的区块链开发者,因为区块链领域正在启动的项目越来越多。由于区块链世界的每一个项目都涉及到大量资金,许多开发商现在已经开始将重点转向区块链技术。对于进入区块链领域的开发人员来说,深刻理解可用于区块链的编程语言是非常重要的。 话虽如此,

Cloud-Native架构:指南、定义

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

在准备新的应用程序项目或考虑迁移现有应用程序时,必须非常小心地确保生产环境中的稳定性。Cloud-native云本地架构假设您的新项目将位于云中。这意味着你所做的每一个决定都会考虑到云的需求。 云本地构建需要专业知识和实践。但是,随着概念的掌握和整个IT团队的认同,您将为您的用户创建无缝且漂亮的项目,无论他们如何进入您的工作。 什么是Cloud-native云本地架构? 您正在设计一个项目,它至少

Java Parallel Stream

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

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

在Kubernetes上部署Spring Boot微服务实践

微服务 3年前 (2021-09-28) 浏览: 1724 评论: 0

尽管这篇文章讨论了Spring Boot应用程序,但所讨论的概念适用于任何微服务应用程序。 您想知道如何在Kubernetes上部署微服务吗?Kubernetes是运行微服务应用程序最流行的选择? 让我们开始: 什么是Kubernetes? Kubernetes允许我们在公共、私有或混合云基础设施中部署容器化微服务应用程序。Kubernetes是一个开源容器编排平台。Kubernetes的一些重要

JUC并发包概述

Java系列 3年前 (2021-10-30) 浏览: 397 评论: 0

java.util.concurrent包提供了创建并发应用程序的工具。 在本文中,我们将对整个包进行概述。 主要组件 java.util.concurrent包含的特性太多,无法在一次编写中讨论。在本文中,我们将主要关注此软件包中一些最有用的实用程序,如: Executor ExecutorService ScheduledExecutorService Future CountDownLatc

Java 8中的Collectors API详解

Java系列 2年前 (2022-03-14) 浏览: 787 评论: 0

在本文中,我们将介绍Java8的收集器Collectors,它们用于处理流的最后一步。 如果我们想了解如何利用收集器Collectors的能力进行并行处理,我们可以看看这个项目:https://github.com/pivovarit/parallel-collectors Stream.collect() 方法 Stream.collect()是Java 8的流API的终端方法之一。它允许我们对

什么是Cloud-Native云原生?

微服务 2年前 (2022-07-25) 浏览: 382 评论: 0

无论明天会发生什么,云原生是目前软件行业最大的趋势之一。此外,它已经改变了我们对开发、部署和操作软件产品的思考方式。 但究竟什么是云原生呢? 云原生的不同定义 Cloud native不仅仅是注册云提供商并使用它运行现有应用程序。云原生影响应用程序的设计、实现、部署和操作。 Pivotal是一家提供流行Spring框架和云平台的软件公司,它将云本机描述为: “Cloud native是一种构建和运

JUnit 5的格式驱动参数化测试介绍

Java系列 7个月前 (10-30) 浏览: 72 评论: 0

JUnit 5 FormattedSource源码(https://github.com/mikemybytes/junit5-formatted-source)允许按照用户定义的格式,以可读的方式定义测试用例参数。因此,它可以用来提高测试的可读性。让我们看一个例子: class CalculatorTest { private final Calculator calculator = new

如何测量metaspace元空间的大小

爪哇岛 4年前 (2020-09-11) 浏览: 1153 评论: 0

可以通过运行jstat-gc(PID)命令在运行时查看元空间内存的使用情况 另外一个问题: java应用程序的本机内存(Metaspace)是从堆内存获得空间,还是有一组完全不同的内存专用于它? 答: Java堆空间 Java堆空间由Java运行时用来为对象和JRE类分配内存。每当我们创建任何对象时,它总是在堆空间中创建的。垃圾回收在堆内存上运行,以释放没有任何引用的对象所使用的内存。在堆空间中创

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

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

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

java metaspace 内存溢出

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

Tomcat-更改perm gen或metaspace大小 Perm gen是永久代的简称。Perm-gen用于Java版本7,metaspace用于Java版本8。Perm-gen/metaspace是为某些任务分配的内存,尤其是保存Java应用程序正在使用的类的声明。以下JVM参数用于配置JVM的最大perm gen/metaspace大小(本例中为256 MB)。如果更改perm gen/m

内存溢出怎么解决

jvm 3年前 (2020-12-16) 浏览: 1192 评论: 0

对OOM错误和堆分析的深入研究将帮助您确定Java应用程序内存问题的根本原因,并指导您了解GC。 任何使用过基于Java的企业级后端应用程序的软件开发人员都会遇到来自客户或QA工程师的这一臭名昭著或尴尬的错误:java.lang.OutOfMemoryError:Java heap space。 为了理解这一点,我们必须回到计算机科学的基本原理算法的复杂性,特别是“空间”复杂性。如果我们还记得,每

内存溢出OutOfMemoryError科普系列二

jvm 3年前 (2021-01-16) 浏览: 508 评论: 0

在上一篇讲了内存溢出的几种主要原因以及它和垃圾收集器的关系,这篇继续: 永久代 除了应用程序堆的年轻代和老年代之外,JVM还管理一个称为“永久代”的区域(JDK8之后换成了元空间),在该区域中它存储诸如类和字符串文本之类的对象。通常,您不会看到垃圾收集器在永久生成上工作;大多数操作发生在应用程序堆中。但是,尽管有它的名字,permgen中的对象并不总是永久存在的。例如,由appserver类加载器

Windows、Linux、MacOs操作系统的jdk安装

Java系列 3年前 (2021-02-16) 浏览: 535 评论: 0

安装类型取决于您的要求和选择安装的平台。JDK可以安装在以下平台上: Windows Linux MacOS 您可以从Java SE Development Kit下载页面下载JDK ,JDK文档是单独下载的。请参阅Java SE文档。 在Microsoft Windows平台上安装JDK JDK Windows安装说明 对于本文档中包含以下符号的任何文本,必须替换相应的更新版本号: interi

登录

忘记密码 ?

切换登录

注册