浅析NIO包中的Buffer、Channel 和 Selector

本文将介绍 Java NIO 中三大组件 Buffer、Channel、Selector 的使用。 本来要一起介绍 非阻塞 IO 和 JDK7 的 异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。 Buffer 一个 Buffer…

hello hello 发布于 2024-08-09

JAVA NIO 一步步构建IO多路复用的请求模型

当前环境 jdk == 1.8 知识点 nio 下 I/O 阻塞与非阻塞实现 SocketChannel 介绍 I/O 多路复用的原理 事件选择器与 SocketChannel 的关系 事件监听类型 字节缓冲 ByteBuffer 数据结构 场景 接着上一篇中的站点访问问题,如果我们需要并发访问10个不同的网站,我们该如何处理? 在上一篇中,我们使用了…

hello hello 发布于 2024-08-09

JDK中的设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。 设计模式是什么 (1)反复出现问题的解决方案 (2)增强软件的灵活性 (3)适应软件不断变化 学习JDK中设计模式的好处 (1)借鉴优秀代码的设计,有助于提高代码设计能力…

hello hello 发布于 2024-08-09

Java设计模式之行为型模式(策略,观察者等)

行为型模式 行为型模式关注的是各个类之间的相互作用,将职责划分清楚,使得我们的代码更加地清晰。 策略模式 策略模式太常用了,所以把它放到最前面进行介绍。它比较简单,我就不废话,直接用代码说事吧。 下面设计的场景是,我们需要画一个图形,可选的策略就是用红色笔来画,还是绿色笔来画,或者蓝色笔来画。 首先,先定义一个策略接口: public interface…

hello hello 发布于 2024-08-09

如何高效地使用 Java 字符串

在 Java 中高效使用字符串对于优化性能和内存使用至关重要,尤其是在涉及大量字符串操作的应用程序中。 以下是更高效使用字符串的几种策略: 循环中拼接字符串 对于字符串的拼接,尤其是内部循环中,请使用 StringBuilder (non-thread-safe) 或 StringBuffer (thread-safe)。…

hello hello 发布于 2024-08-09

Java CompletableFuture 异步超时实现探索

JDK 8 中 CompletableFuture 没有超时中断任务的能力。现有做法强依赖任务自身的超时实现。本文提出一种异步超时实现方案,解决上述问题。 JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture 。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式,弥补了 Future 的缺陷。…

hello hello 发布于 2024-08-09

JVM 8 调优指南:如何进行JVM调优,JVM调优参数

这篇文章将详细介绍如何进行JVM 8调优,包括JVM 8调优参数及其应用。此外,我将提供12个实用的代码示例,每个示例都会结合JVM启动参数和Java代码。 JVM调优简介 JVM调优是指通过调整Java虚拟机的配置来提升Java应用程序的性能。这包括优化堆内存设置、选择合适的垃圾收集器以及调整其他性能相关的参数。 JVM调优的重要性 提高性能…

hello hello 发布于 2024-08-07

面试官问我:try-catch 应该在 for 循环里面还是外面?

在Java开发中,异常处理是一个非常重要的话题。面试官问你 “try catch 应该在 for 循环里面还是外面?” 这个问题,实际上是考察你对异常处理机制的理解,以及你在实际开发中如何平衡代码健壮性和性能的经验。 异常处理基础 在Java中,try-catch语句用于捕获和处理可能会抛出的异常: try { } catch (Exception e)…

hello hello 发布于 2024-08-07

为什么 Java 大佬都不推荐使用 keySet() 遍历HashMap?

在Java编程中, HashMap 是一种非常常见的数据结构。我们经常需要对其中的键值对进行遍历。通常有多种方法可以遍历 HashMap ,其中一种方法是使用 keySet() 方法。 然而,很多Java大佬并不推荐这种方法。为什么呢? keySet() 方法的工作原理 首先,让我们来看一下 keySet() 方法是如何工作的。 keySet() 方法返回…

hello hello 发布于 2024-08-07

一文学会 Java 8 的Predicates

在这份详细的指南中,您将了解 Java Predicates,这是 Java 8 中一个新颖且有用的特性。本文解释了 Java Predicates 是什么以及如何在各种情况下使用它们。 在这份详尽的指南中,您将深入了解 Java Predicates,这是 Java 8 中引入的一项新颖且实用的功能。本文不仅阐释了 Java Predicates…

hello hello 发布于 2024-08-06
上一页 下一页