Cloud Native架构应用

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

世界各地的许多组织已经认识到云计算的威力,并正在向云本地cloud-native架构过渡,以便跟上创新步伐,以快速高效的方式提供数字服务。 随着云计算利用率的提高,预计到2020年,超过32%的新企业应用程序将是cloud-native云本地应用程序。这并不奇怪,因为利用云计算的强大功能,企业可以开发和部署易于扩展、更具弹性的应用程序,而成本仅为成本的一小部分。 openlegacy通过依赖容器、

Java Stream之Parallel Streams编程指南

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

并行与并发程序设计 到目前为止,我们在CS2030中编写的程序是按顺序运行的。这意味着在任何时候,处理器上运行的程序只有一条指令。 什么是并发性? 一个单核处理器一次只能执行一条指令——这意味着一次只能运行一个进程(或者更确切地说,一个应用程序)。然而,当我们使用电脑时,感觉就像我们在同时运行多个进程。幕后的操作系统实际上是在不同进程之间切换,给用户一种同时运行的错觉。 我们可以编写一个程序,使其

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

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

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

Java8之后新的开发者友好特性

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

在本文中,我将描述自第8版以来Java最重要、最有利于开发人员的特性。为什么会有这样的想法?您可以在Web上找到许多文章,其中列出了每个Java版本的新特性。然而,缺少文章简要概述自第8版以来最重要的变化。好的,但是为什么是第八版呢?令人惊讶的是,它仍然是Java最常用的版本。尽管Java17已发布,但所有这些都是值得一提的。你可以在Twitter上查看我的调查结果。正如您所看到的,46%以上的响

Kubernetes上的gRPC负载均衡服务

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

gRPC是用于进程间通信的最流行的现代RPC框架之一。对于微服务体系结构来说,这是一个很好的选择。毫无疑问,部署微服务应用程序最流行的方法之一是Kubernetes。 Kubernetes部署可以有相同的后端实例来服务许多客户端请求。Kubernetes的ClusterIP服务提供负载平衡的IP地址。但是,这种默认的负载平衡在gRPC中无法立即实现。如果您将gRPC与许多部署在Kubernetes

Java8接口–默认方法和静态方法

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

在Java8之前,java中的接口只能有抽象方法。默认情况下,接口的所有方法都是公共和抽象的。Java8允许接口具有默认和静态方法。我们在接口中使用默认方法的原因是,允许开发人员向接口添加新方法,而不会影响实现这些接口的类。 为什么选择默认方法? 例如,如果A、B、C和D等几个类实现了一个接口XYZInterface,那么如果我们向XYZInterface添加一个新方法,我们必须更改实现该接口的所

JDK19中的新特性

Java系列 2年前 (2022-08-08) 浏览: 499 评论: 0

Java19将于9月发布,是一个非LTS版本,它将以结构化并发、虚拟线程、切换表达式模式匹配、向量API(vector)和Linux/RISC-V端口为特色。 定于今年9月发布的Java Development Kit 19现在已经完成了功能,并进入了第二个降级阶段。该版本有七个功能,包括结构化并发、记录模式、外部函数和内存API预览,以及对开源Linux/RISC-V指令集体系结构(ISA)的支

Java9 Variable Handles-变量句柄简介

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

Java 9为开发人员带来了许多新的有用功能。 其中之一是java.lang.invoke.VarHandle API—表示变量句柄—我们将在本文中对此进行探讨 什么是变量句柄? 通常,变量句柄只是对变量的类型化引用。变量可以是类的数组元素、实例或静态字段。 VarHandle类在特定条件下提供对变量的写和读访问。 VarHandles是不可变的,并且没有可见的状态。更重要的是,它们不能被细分。

JVM学习笔记之codeCache

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

上海这边的互联网公司大部分是2-7号在家远程办公,有些可能更晚,这期间工作上的事情不多,就把《深入理解java虚拟机》这本书又撸了一遍,顺便写下心得体会,和大家分享,温故知新。 一. codeCache简介 从字面意思理解就是代码缓存区,它缓存的是JIT(Just in Time)编译器编译的代码,简言之codeCache是存放JIT生成的机器码(native code)。当然JNI(Java本地

ClassLoaderLeak类加载泄露-找到不需要的引用

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

上一篇讲了如何使用MAT分析类加载引起的内存泄露问题 这一次,我们将讨论导致泄漏的不同原因,查看第三方库中的一个泄漏示例,并了解如何通过解决方法修复该泄漏。 类加载器泄漏的不同原因 为了知道在堆转储分析中应该寻找什么,我们可以将类加载器泄漏分为三种不同的类型。最后,它们都只是第一个的变体。 来自webapp外部的引用(即来自应用服务器或JDK类)指向类加载器本身或它已加载的某个类(后者又引用了类加

Java反射类java.lang.Class

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

在我们的上一篇文章中,我们讨论了如何在运行时使用各种方式加载类。这里我们将看到如何获取该类的元数据、它的方法和字段。 Class是final类java.lang扩展对象类的包。这个类的实例表示正在运行的Java应用程序中的类和接口。它用于分析和更改类在运行时的动态行为。 方法java.lang.Class 类 这个类定义了几个方法,我们可以使用这些方法在运行时获取关于方法、构造函数、修改器和类成员

内存泄露

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

java.lang.OutOfMemoryError: Java heap space Java应用程序只允许使用有限的内存。此限制在应用程序启动期间指定。为了使事情更复杂,Java内存被分成两个不同的区域。这些区域称为永久生成区域(permgene和Permgen): 这些区域的大小是在Java虚拟机(JVM)启动期间设置的,可以通过指定JVM参数-Xmx和-XX:MaxPermSize进行定制

Java代码中的内存泄漏

jvm 3年前 (2020-12-29) 浏览: 360 评论: 0

我正在研究我继承的一些Java代码。我正在关键的地方做一些速度改进,为了测试我的改进,我需要测试用例来比较不同的实现。不幸的是,手动生成测试用例太耗时了(需要数千个,手动生成一个测试用例需要几分钟甚至几个小时)。不幸的是,随机生成的测试用例也不起作用,因为我的测试用例是(命题的)LTL公式,并且随机生成的一个我期望在实际使用程序时出现的大小,是不太可能令人满意的,而现实生活中的公式是期望的,这在一

Java9的9个新特性

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

Java8发布三年多后,下一个版本即将发布,暂定发布日期为2017年9月21日。您可能听说过Java9的模块系统,但这个新版本还有更多的内容。下面是Java9将提供的9个令人兴奋的新特性。 1. Java平台模块系统 Java9的定义特性是一个全新的模块系统。当代码基变得更大时,创建复杂、纠结的“意大利面代码”的几率就会成倍增加。有两个基本问题:很难真正地封装代码,而且系统的不同部分(JAR文件)

使用Spring搭建微服务框架系列一

微服务 3年前 (2021-03-01) 浏览: 328 评论: 0

一个使用Spring, Spring Boot 和 Spring Cloud设置微服务系统的简单示例。 微服务允许从许多协作组件构建大型系统。它在流程级别执行Spring在组件级别执行的操作:松散耦合的流程而不是松散耦合的组件。 例如,设想一个在线商店,为用户帐户、产品目录订单处理和购物车提供单独的微服务: 不可避免地,要构建这样一个系统,必须设置和配置许多移动部件。如何让它们协同工作并不明显——

Spring5 WebFlux和SpringMVC的关系

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

Spring WebFlux Spring框架中包含的原始web框架springweb mvc是专门为Servlet API和Servlet容器构建的。反应式堆栈web框架SpringWebFlux是在5.0版本中添加的。它是完全无阻塞的,支持反应流背压,并在Netty、Undertow和servlet3.1+容器等服务器上运行。 两个web框架都反映了它们的源模块(和springwebflux)

什么是Apache Druid?

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

在本文中,我们将对Apache Druid框架有一个完整的概述,从什么是timeseries(时间序列)开始,我们如何处理此类数据,以及对其体系结构的描述。最后,我们将看到如何在平台内接收和查询数据。 时间序列 时间序列是按时间顺序排列的数据点序列。 这些离散点通常被存储和分析,以便做出预测或发现行为模式。在常见的大数据体系结构中,标准方法是收集来自各种来源的数据(用户数据、应用程序数据、web分

在Windows、Mac OS X和Linux上设置JAVA_HOME环境变量

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

在本文中,我们将了解如何在Windows、Mac OS X和Linux上设置JAVA_HOME变量。 Windows Windows 10 和 8 1. 打开搜索并键入高级系统设置 2. 在显示的选项中,选择查看高级系统设置链接 3. 在“高级”选项卡下,单击“环境变量” 4. 在“系统变量”区域中,单击“新建”(或“用户变量”用于单用户设置) 5. 将JAVA_HOME设置为变量名,将JDK安装

MICRONAUT:面向未来的Java框架!

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

18年5月,OCI的一个开发团队发布了新开源框架的第一个里程碑:Micronaut。 Micronaut是JVM的应用程序框架,特别强调微服务和云原生应用程序。 可以理解的是,在一个似乎充斥着框架选项的行业中,开发人员通常希望提前知道新框架带来了什么,以及它提供了什么独特的特性或功能。本文的目标是: 介绍Micronaut背后的一些基本原理 强调使用该框架的一些关键优势 带您浏览一个简单的应用程序

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

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

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

登录

忘记密码 ?

切换登录

注册