随笔分类 - Java
CountDownLatch使用指南-Java快速入门教程
摘要:1. 简介 在本文中,我们将提供CountDownLatch类的指南,并演示如何在一些实际示例中使用它。 本质上,通过使用CountDownLatch,我们可以使线程阻塞,直到其他线程完成给定任务。 2. 并发编程中的用法 简单地说,CountDownLatch有一个计数器字段,你可以根据需要递减。
阅读全文
Java中的信号量semaphore-Java快速入门教程
摘要:1. 概述 在本快速教程中,我们将探讨 Java 中信号量和互斥体的基础知识。 2.信号量 我们将从java.util.concurrent.Semaphore开始。我们可以使用信号量来限制访问特定资源的并发线程数。 在下面的示例中,我们将实现一个简单的登录队列来限制系统中的用户数量: class
阅读全文
java.util.concurrent 概述-Java快速入门教程
摘要:1. 概述 java.util.concurrent包提供了用于创建并发应用程序的工具。 在本文中,我们将对整个软件包进行概述。 2. 主要部件 java.util.concurrent包含太多的功能,无法在一篇文章中讨论。在本文中,我们将主要关注此软件包中一些最有用的实用程序,例如: Execut
阅读全文
ElasticSearch新版JavaClient使用简介-Java快速入门教程
摘要:ElasticSearch在7.17版本之前使用的java客户端是Java REST Client,但是从7.17版本开始,官方将Java REST Client标记为弃用(deprecated),推荐使用新版Java Client。 本文介绍新版ElasticSearch Java Client的
阅读全文
拥抱Java虚拟线程-Java快速入门教程
摘要:Project Loom已通过JEP 425进入JDK。它自 2022 年 9 月的 Java 19 起作为预览功能提供。其出现的目的就是为了显著减少编写、维护和提高并发应用程序的吞吐量的。 虚拟线程在何处有意义 轻量级虚拟线程引入成为开发人员开发应用程序时使用的一种令人兴奋的方法。过去几年表明,应
阅读全文
在 Java 中完全同时启动两个线程-Java快速入门教程
摘要:1. 概述 多线程编程允许我们并发运行线程,每个线程可以处理不同的任务。因此,它可以最佳地利用资源,特别是当我们的计算机具有多个多核 CPU 或多个 CPU 时。有时,我们想控制多个线程同时启动。 在本教程中,我们将首先了解要求,尤其是“完全相同的时间”的含义。此外,我们将讨论如何在 Java 中同
阅读全文
Java 中的 MQTT 客户端-Java快速入门教程
摘要:1. 概述 在本教程中,我们将了解如何使用 Eclipse Paho 项目提供的库在 Java 项目中添加 MQTT 消息传递。 2. MQTT 入门 MQTT(MQ 遥测传输)是一种消息传递协议,旨在满足对一种简单而轻量级的方法的需求,该方法将数据传输到/从低功耗设备(例如工业应用中使用的设备)传
阅读全文
使用嵌入式通道测试 Netty-Java快速入门教程
摘要:在本文中,我们将了解如何使用 EmbeddedChannel 来测试入站和出站通道处理程序的功能。 Netty 是一个非常通用的框架,用于编写高性能异步应用程序。如果没有合适的工具,对此类应用程序进行单元测试可能会很棘手。 值得庆幸的是,该框架为我们提供了EmbeddedChannel类 - 它有助
阅读全文
Netty 中的例外-Java快速入门教程
摘要:简而言之,Netty 是一个用于构建高性能异步和事件驱动网络应用程序的框架。I/O 操作在其生命周期内使用回调方法进行处理。 有关该框架以及如何开始使用它的更多详细信息,请参阅我们上一篇文章。 2. 处理 Netty 中的异常 如前所述,Netty 是一个事件驱动的系统,具有针对特定事件的回调方法。
阅读全文
Netty简介-Java快速入门教程
摘要:1. 简介 在本文中,我们将介绍 Netty — 一个异步事件驱动的网络应用程序框架。 Netty的主要目的是构建基于NIO(或可能是NIO.2)的高性能协议服务器,将网络和业务逻辑组件分离和松散耦合。 2. 核心概念 Netty是一个非阻塞框架。与阻塞 IO 相比,它显著提高吞吐量。了解非阻塞 I
阅读全文
XMPP Smack 客户端指南-Java快速入门教程
摘要:XMPP 是一种丰富而复杂的即时消息协议。 在本教程中,我们将介绍 Smack,这是一个用 Java 编写的模块化和可移植的开源 XMPP 客户端,它为我们完成了大部分繁重的工作。 2. 依赖关系 Smack 被组织为几个模块以提供更大的灵活性,因此我们可以轻松包含所需的功能。 其中一些包括: 基于
阅读全文
Java 遍历ArrayList的N种方法
摘要:在本博主旧文Java ArrayList类遍历方法基础上添加数组ArrayList对象的“forEach”方法遍历它的用例 ArrayList集合 ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。 在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时
阅读全文
JVM 垃圾收集器-Java快速进阶教程
摘要:1. 概述 在本快速教程中,我们将演示不同 JVM 垃圾回收 (GC) 实现的基础知识。然后,我们将学习如何在应用程序中启用特定类型的垃圾回收。 2. 垃圾回收简介 如同它的名称一样,垃圾回收似乎将处理从内存中查找和删除垃圾。但是,实际上,垃圾回收会跟踪 JVM 堆空间中可用的每个对象,并删除未使用
阅读全文
ProcessBuilder API 指南-Java快速进阶教程
摘要:1. 概述 Process API提供了一种在 Java 中执行操作系统命令的强大方法。但是,它有几个选项,可能会使其使用起来很麻烦。 在本教程中,我们将看看 Java 如何使用ProcessBuilderAPI 缓解这种情况。 2.进程生成器接口 类提供了用于创建和配置操作系统进程的方法。每个Pr
阅读全文
Process API 指南-Java快速进阶教程
摘要:1. 简介 在本教程中,我们将深入了解进程API。 它所指的进程是一个正在执行的应用程序。Process类提供与这些进程交互的方法,包括提取输出、执行输入、监视生命周期、检查退出状态以及销毁(终止)它。 2. 使用进程类编译和运行 Java 程序 让我们看一个在ProcessAPI的帮助下编译和运行
阅读全文
Java异常层次结构-Java快速入门教程
摘要:Java 中的异常类型 基本上,Java API中有两种类型的异常。它们是: 预定义异常(内置异常) 自定义例外 预定义异常: 预定义异常是 Java 系统已定义的那些异常。这些异常也称为内置异常。 Java API 通过提供预定义异常的数量来支持异常处理。这些预定义的异常由 java 中的类表示。
阅读全文
已检查和未检查异常详解-Java快速入门教程
摘要:前面的教程中,我们已经熟悉了 java 中有两种类型的异常:第一种是预定义的异常,第二种是用户定义的异常。 预定义的异常是那些已由 java 系统定义的异常。 所有预定义的异常进一步分为两组: 已检查的异常 未检查的异常 在 Java 中已检查异常 已检查异常是那些由 java 编译器本身在编译时检
阅读全文
微服务架构的流行设计模式
摘要:几十年来,应用程序一直使用整体架构构建;但是,许多人现在正在转向微服务架构。微服务架构为我们提供了更快的开发速度、可扩展性、可靠性、使用适合的最佳技术堆栈开发每个组件的灵活性等等。微服务架构依赖于可独立部署的微服务。每个微服务都有自己的业务逻辑和数据库,由特定的域上下文组成。每个服务的测试、增强和缩
阅读全文
垃圾回收调整简介-Java快速进阶教程
摘要:从桌面上的小程序到大型服务器上的 Web 服务,各种各样的应用程序都使用 Java 平台标准版 (Java SE)。为了支持这种多样化的部署,Java HotSpot VM 提供了多个垃圾回收器,每个垃圾回收器都旨在满足不同的需求。Java SE 根据运行应用程序的计算机的类选择最合适的垃圾回收器。
阅读全文
Java 9 变量句柄揭秘-Java快速进阶教程
摘要:1. 简介 Java 9为开发人员带来了许多新的有用功能。 其中之一是java.lang.invoke.VarHandleAPI - 表示变量句柄 - 我们将在本文中探讨。 2. 什么是可变手柄? 通常,变量句柄只是对变量的类型化引用。变量可以是类的数组元素、实例或静态字段。 类在特定条件下提供对变
阅读全文
浙公网安备 33010602011771号