Java递归函数与算法讲解系列一

Java递归函数与算法讲解系列一

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

在计算机程序中描述重复的一种方法是使用循环,如Java的while循环和for循环结构。实现重复的完全不同的方法是通过一个称为递归的过程。 递归是一种方法对自身进行一次或多次调用的技术,在执行期间,或数据结构依赖于同一类型的结构。有很多例子艺术与自然中的递归。例如,分形图案是自然递归的。艺术中使用递归的物理例子是俄罗斯的Matryoshka玩偶。每个玩偶要么是实木做的,要么是空心的,里面装着另一个

内存溢出如何dump文件

内存溢出如何dump文件

jvm 3年前 (2020-12-17) 浏览: 1250 评论: 0

分析垃圾堆是解决内存外问题最普遍的方法,也是唯一可靠的方法。在这篇文章中,我将使用Eclipse MAT,因为这是我最有经验的工具,但是您可以对任何其他类似的工具采取类似的方法。 在我们开始之前,请注意,有些作者使用术语“堆转储”来描述内存转储。在Java世界中,堆转储和内存转储的意思是一样的。在这篇文章中,我将两者互换使用。 什么是 memory dump“内存转储”? 内存转储是Java虚拟机

OutOfMemoryError:java堆空间内存泄露

OutOfMemoryError:java堆空间内存泄露

jvm 3年前 (2021-01-17) 浏览: 903 评论: 0

java.lang.OutOfMemoryError错误是的子类java.lang.VirtualMachineError. 当JVM由于内存不足而无法分配对象,并且垃圾收集器无法提供更多内存时,它抛出。OutOfMemoryError对象可能由虚拟机构造,就好像禁用了抑制或堆栈跟踪不可写一样。 Java中OutOfMemoryError的类型 主要有两类java.lang.OutOfMemory

Java10有什么新功能?

Java10有什么新功能?

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

Java10概述 2018年3月,我们看到了Java10的最新半年版。 在本文中,我们将研究此版本中引入的重大更改,并讨论一些较小的改进,这些改进将使开发人员和操作人员的生活更轻松。 Java10:巨大的变化 Java 10中的两大故事是: 新的var关键字,就像你想象的任何一种新的语言结构一样 新的六个月发布周期 此外,开发人员将很高兴看到更多的API发展。此外,还有运行时改进、新的性能调优旋钮

Java9 Flow-Reactive Stream

Java9 Flow-Reactive Stream

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

Java9反应流允许我们实现非阻塞异步流处理。这是将反应式编程模型应用于核心java编程的一个重要步骤。 RxJava和Akka流是反应流的流行实现。现在Java9通过java.util.concurrent.Flow API。 Java 9 Reactive Streams 反应流是关于流的异步处理,所以应该有一个发布者和一个订阅者。发布者发布数据流,订阅者使用数据。 有时我们必须在发布者和订阅

RocksDB正在吞噬数据库世界

RocksDB正在吞噬数据库世界

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

分布式数据库简史 web2.0时代给数据库设计带来了新的兴趣。虽然传统的RDBMS数据库从1970年代末商业化开始到网络时代都能很好地满足企业界的数据存储和数据处理需求,但新应用程序处理的大量数据以及处理这些数据的速度需要一种新的方法。为了更好地了解这些新数据库设计的需求,我强烈建议观看数据库大师michaelstonebraker在斯坦福大学计算机系统学术讨论会上的演讲。在此期间出现的新数据库采

什么是无服务器Serverless计算?

什么是无服务器Serverless计算?

Serverless 3年前 (2021-06-25) 浏览: 531 评论: 0

开发人员花了无数个小时用代码解决业务问题。接下来轮到ops团队花费无数的时间,首先要弄清楚如何让开发人员编写的代码在任何可用的计算机上运行,其次要确保这些计算机能够顺利运行。第二部分确实是一项永无止境的任务。为什么不把那部分留给别人呢? 在过去的二十年中,IT领域的许多创新都集中在虚拟机、云计算、容器上,以确保您不必过多考虑代码运行在其上的底层物理机。无服务器计算是一种越来越流行的范例,它将这种愿

Java函数式接口编程

Java函数式接口编程

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

只有一个抽象方法的接口称为函数接口。您可以使用Java提供的预定义函数接口,也可以创建自己的函数接口并使用它。您可以在这里检查预定义的函数接口:预定义的函数接口它们都只有一个抽象方法。这就是原因,它们也被称为单抽象方法接口(SAM接口)。 要在Java中使用lambda表达式,您需要创建自己的函数式接口或使用Java提供的预定义函数接口。创建自己的函数接口时,请使用@FunctionalInter

RSocket入门系列之二

RSocket入门系列之二

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

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

简洁高效的Eclipse Collections API

简洁高效的Eclipse Collections API

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

在本文中,您将了解Eclipse Collections集合提供的一些有用特性。您是否觉得Java Streams API有时还不够?我认为值得一看Eclipse集合。让我们讨论一下原因。 可变的或不变的 如果你喜欢Kotlin collections API,这个概念会吸引你。您可以创建可变和不可变集合。只有可变集合提供了添加新对象的方法。 Person p1 = new Person("Tes

用Java代码实现区块链技术

用Java代码实现区块链技术

相关技术 2年前 (2022-03-16) 浏览: 288 评论: 0

比特币很热门——这是多么轻描淡写的说法啊。虽然加密货币的未来有些不确定,但用于驱动比特币的区块链技术也非常流行。 区块链的应用范围几乎无穷无尽。可以说,它还有可能破坏企业自动化。关于区块链是如何运作的,有很多信息。我们有一份免费白皮书,介绍区块链技术(无需注册)。 本文将重点关注区块链体系结构,特别是演示“不可变、仅附加”分布式账本如何与简化的代码示例一起工作。 作为开发人员,与简单地阅读技术文章

Java中的Sizeof

Java中的Sizeof

Java系列 6个月前 (11-06) 浏览: 136 评论: 0

Java有像C语言sizeof()的运算符吗? 一个肤浅的答案是Java不提供任何类似于C的sizeof()的东西。但是,让我们考虑一下为什么Java程序员偶尔会想要它。 C程序员自己管理大多数数据结构内存分配,而sizeof()对于知道要分配的内存块大小是必不可少的。此外,像malloc()这样的C内存分配器在对象初始化方面几乎什么都不做:程序员必须设置所有指向其他对象的对象字段。但是,当一切都

Java反射API讲解

Java反射API讲解

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

Java反射是在运行时检查或修改类的运行时行为的过程。Java反射API用于在运行时操作类及其成员,包括字段、方法、构造函数等。在本文中,我们将详细了解Java反射API。 本文将重点关注以下几点: Java反射API在哪里使用? java.lang.reflect包下的类 使用的方法java.lang.Class 如何获取类的对象? 使用Java反射API的优缺点 因此,让我们从这篇关于Java

outofmemory

outofmemory

jvm 3年前 (2020-11-26) 浏览: 329 评论: 0

在Java中,所有对象都存储在堆中。它们使用新操作员分配。Java中的OutOfMemoryError异常如下所示: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 通常,当Java虚拟机由于内存不足而无法分配对象,并且垃圾回收器无法提供更多内存时,会引发此错误。 OutOfMemoryError通常意味

Android内存泄漏

Android内存泄漏

jvm 3年前 (2020-12-28) 浏览: 476 评论: 0

正确的生命周期管理如何防止Android内存泄漏 OutOfMemoryException是一个常见的令人沮丧的错误,也是导致应用程序意外关闭的主要原因之一。 “如果应用程序昨天运行良好,为什么现在会发生这种情况?这个问题让Android的开发者和新手都感到困惑。 导致OutOfMemory异常的潜在原因有很多种,但其中最常见的是内存泄漏—应用程序中的内存分配从未释放。本文将解释如何通过有效的生命

Java9的新特性

Java9的新特性

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

Java9概述 Java9具有丰富的特性集。虽然没有新的语言概念,但是新的api和诊断命令肯定会引起开发人员的兴趣。 在本文中,我们将对一些新特性进行快速、高层次的研究;这里提供了新特性的完整列表。 模块化系统——Jigsaw项目 让我们从一个大问题开始——将模块化引入Java平台。 模块化系统提供类似于OSGi框架系统的功能。模块具有依赖性的概念,可以导出公共API并保持实现细节隐藏/私有。 这

微服务架构是什么?

微服务架构是什么?

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

什么是微服务? 微服务是一种面向服务的体系结构模式,其中应用程序被构建为各种最小的独立服务单元的集合。它是一种软件工程方法,侧重于将应用程序分解为具有良好定义接口的单个功能模块。这些模块可以由拥有整个服务生命周期的小型团队独立部署和操作。 术语“micro”指的是一个微服务的规模,它必须由一个开发团队(5到10个开发人员)管理。在这种方法中,大型应用程序被划分为最小的独立单元。 什么是单体结构?

使用Knative运行Spring Boot项目

使用Knative运行Spring Boot项目

Serverless 3年前 (2021-06-04) 浏览: 450 评论: 0

在本文中,我将解释什么是Knative以及如何将它与Spring Boot一起使用。尽管Knative是一个serverless无服务器平台,但我们可以在那里运行任何类型的应用程序(不仅仅是函数)。因此,我们将在那里运行一个标准的Spring Boot应用程序,它公开restapi并连接到数据库。 Knative介绍了一种在Kubernetes上管理应用程序的新方法。它扩展了Kubernetes,

Windows10设置Java环境变量步骤

Windows10设置Java环境变量步骤

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

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

如何使用Java Agents进行分析

如何使用Java Agents进行分析

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

Java agents(代理)是一种特殊类型的类,通过使用Java Instrumentation API,它可以拦截JVM上运行的应用程序,修改它们的字节码。Java代理不是一项新技术。相反,它们从Java5开始就存在了。但即使在这段时间之后,许多开发人员仍然对这个特性有误解,其他人甚至不知道。 在本文中,我们通过向您提供有关Java agents的快速指南来纠正这种情况。您将了解什么是Java

登录

忘记密码 ?

切换登录

注册