Pair和Triple无缝解决多值返回问题,编写高效代码

在实际编码中,经常会遇到一个方法需要返回多个值的情况,你编写一个方法,需要同时返回某个操作的结果和一些相关的附加信息。使用传统的方式,你可能需要创建一个包含这些信息的自定义类或者使用集合(如 Map )来存储这些值。然而,这往往使得代码变得臃肿,而且对于调用方来说,理解和提取这些值可能会显得有些繁琐。 这时使用…

hello hello 发布于 2024-08-05

Java设计模式之创建型模式(工厂,单例等)

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four ( GoF ) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。 有一些重要的设计原则在开篇需要分享下,这些原则将贯通全文:…

hello hello 发布于 2024-08-05

Java中四种常用的HTTP请求调用方式

在日常工作和学习中,有很多地方都需要发送HTTP请求,本文以Java为例,总结发送HTTP请求的多种方式 HTTP请求实现过程: GET 创建远程连接 设置连接方式(get、post、put…) 设置连接超时时间 设置响应读取时间 发起请求 获取请求数据 关闭连接 POST 创建远程连接 设置连接方式(get、post、put。。。) 设置连接超时时间…

hello hello 发布于 2024-08-01

Java 21 虚拟线程的锁

介绍 Netflix 在其庞大的微服务舰队中广泛使用 Java 作为主要编程语言。随着我们采用更新的 Java 版本,我们的 JVM 生态系统团队寻找新的语言特性,以提高我们系统的人体工程学和性能。在最近的一篇文章中,我们详细介绍了在迁移到 Java 21 时,将世代 ZGC…

hello hello 发布于 2024-08-01

根据字符串长度对字符串数组进行排序

1. 概述 在本教程中,我们将探讨根据元素的长度对字符串数组进行排序的不同方法。 2. 比较器 在 Java 中进行排序时,我们经常定义一个 Comparator 来返回两个参数之间的顺序。排序算法应用Comparator 生成的排序顺序并返回排序结果。 定义 Comparator 时,我们实现以下方法 : int compare(T o1, T o2);…

hello hello 发布于 2024-07-30

AQS中公平锁与非公平锁介绍

公平锁和非公平锁 ReentrantLock 默认采用非公平锁,除非在构造方法中传入参数 true 。 public ReentrantLock() { // 默认非公平锁 sync = new NonfairSync(); } public ReentrantLock(boolean fair) { sync = fair ? new…

hello hello 发布于 2024-07-29

Java读写锁ReentrantReadWriteLock源码

读写锁 ReentrantReadWriteLock 使用示例 下面是读写锁 ReentrantReadWriteLock 的使用示例: // 这是一个关于缓存操作的故事 class CachedData { Object data; volatile boolean cacheValid; // 读写锁实例 final…

hello hello 发布于 2024-07-29

Java 中使用 JasperReports 生成大型 PDF

JasperReports 是一个开源的 Java 报表工具,允许用户创建、设计和生成各种格式的报表,如 PDF、HTML、Excel、CSV 和 XML。它广泛用于从多种数据源生成动态内容,包括数据库、XML 文件和自定义数据源,是 Crystal Reports 的替代品。 问题 在这个场景中,开发者生成月度或年度的 PDF…

hello hello 发布于 2024-07-29

Java并发三大问题与volatile关键字,CAS操作介绍

序言 先来看如下这个简单的Java类,该类中并没有使用任何的同步。 final class SetCheck { private int a = 0; private long b = 0; void set() { a = 1; b = -1; } boolean check() { return ((b == 0) || (b == -1 && a…

hello hello 发布于 2024-07-27

并发基础与Java多线程介绍

1多线程的优点 资源利用率更好 程序设计在某些情况下更简单 程序响应更快 1.1资源利用率更好案例 方式1 从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要14秒 5秒读取文件A2 2秒处理文件A3 5秒读取文件B4 2秒处理文件B5 ———————6 总共需要14秒 方式2…

hello hello 发布于 2024-07-25
上一页 下一页