跳至主要內容
如何在Java中读取超过内存大小的文件

如何在Java中读取超过内存大小的文件

读取文件内容,然后进行处理,在Java中我们通常利用 Files 类中的方法,将可以文件内容加载到内存,并流顺利地进行处理。但是,在一些场景下,我们需要处理的文件可能比我们机器所拥有的内存要大。此时,我们则需要采用另一种策略:部分读取它,并具有其他结构来仅编译所需的数据。

接下来,我们就来说说这一场景:当遇到大文件,无法一次载入内存时候要如何处理。

模拟场景

假设,当前我们需要开发一个程序来分析来自服务器的日志文件,并生成一份报告,列出前 10 个最常用的应用程序。

每天,都会生成一个新的日志文件,其中包含时间戳、主机信息、持续时间、服务调用等信息,以及可能与我们的特定方案无关的其他数据。


DD编辑部原创大约 5 分钟JavaJava
Java 22 发布,一文了解全部新特性

Java 22 发布,一文了解全部新特性

就在昨晚,Java 22正式发布!该版本提供了 12 项功能增强,其中包括 7 项预览功能和 1 项孵化器功能。它们涵盖了对 Java 语言、API、性能以及 JDK 中包含的工具的改进。

下面就来一起学习一下该版本都更新了哪些新特性!

Unnamed Variables & Patterns - JEP 456

JEP 456 - 未命名变量和模式:当需要但未使用变量声明或嵌套模式时,提高了可读性。两者都由下划线字符表示。

价值


程序猿DD原创大约 10 分钟JavaJava
如何创建自己的Spring Boot Starter并为其编写单元测试

如何创建自己的Spring Boot Starter并为其编写单元测试

当我们想要封装一些自定义功能给别人使用的时候,创建Spring Boot Starter的形式是最好的实现方式。如果您还不会构建自己的Spring Boot Starter的话,本文将带你一起创建一个自己的Spring Boot Starter。

快速入门

  1. 创建一个新的 Maven 项目。第三方封装的命名格式是 xxx-spring-boot-starter ,例如:didispace-spring-boot-starter

  2. 编辑pom.xml,添加spring-boot-autoconfigurespring-boot-starter依赖


程序猿DD原创大约 3 分钟Spring BootSpring Boot
Google发布开源大模型Gemma,网友辣评:国产大模型又有机会提升了

Google发布开源大模型Gemma,网友辣评:国产大模型又有机会提升了

就在昨晚,Google发布了最新的开源大语言模型:Gemma。该模型采用了与Google最强模型Gemini相同的技术基础。

目前开源的Gemma共提供两种规模的模型:2B(20亿参数)和7B(70亿参数)。

该模型的推出主要对标之前主流的开源大模型 Llama-2,从其提供的技术报告来看,Gemma展现了更卓越的性能,Gemma模型甚至可以直接运行在笔记本或台式机上。

而且在重要的基准测试方面,Gemma 7B甚至超越了其他体积更大的模型:


程序猿DD原创小于 1 分钟前沿资讯前沿资讯人工智能
盘点 Udemy 上最受欢迎的免费编程课程(1)

盘点 Udemy 上最受欢迎的免费编程课程(1)

之前给大家推荐过一些油管上的免费学习资源,如果您还没有看过的话可以点击这里前往

今天再给大家推荐一批Udemy上超高质量并且免费的编程课程,有需要的小伙伴可以学起来了。

1. JavaScript Essentials


程序猿DD原创大约 5 分钟工具推荐免费资源Udemy
Java 21 虚拟线程如何限流控制吞吐量

Java 21 虚拟线程如何限流控制吞吐量

虚拟线程(Virtual Threads)是 Java 21 所有新特性中最为吸引人的内容,它可以大大来简化和增强Java应用的并发性。但是,随着这些变化而来的是如何最好地管理此吞吐量的问题。本文,就让我们看一下开发人员在使用虚拟线程时,应该如何管理吞吐量。

在大多数情况下,开发人员不需要自己创建虚拟线程。例如,对于 Web 应用程序,Tomcat 或 Jetty 等底层框架将为每个传入请求自动生成一个虚拟线程。

如果在应用程序内部需要自行调用来提供业务并发能力时,我们可以使用Java 21新特性:虚拟线程(Virtual Threads)中介绍的方法去创建和使用,比如较为常用的就是Executors.newVirtualThreadPerTaskExecutor()


程序猿DD原创大约 2 分钟JavaJavaJava 21虚拟线程
Spring Boot整合Postgres实现轻量级全文搜索

Spring Boot整合Postgres实现轻量级全文搜索

有这样一个带有搜索功能的用户界面需求:

搜索流程如下所示:

这个需求涉及两个实体:


DD编辑部原创大约 4 分钟Spring BootSpring Boot
React Native 和 Flutter 怎么选

React Native 和 Flutter 怎么选

React Native 和 Flutter 是跨平台应用开发框架的领导者,它们各有优势和局限的地方,所以它们都有存在和被选择的场景,这取决于开发者的项目需求、成本预算和团队能力。如果你是为了考虑就业,那么所处地区的岗位机会和薪资水平也都是考虑因素。

下面这个视频分别介绍了 React Native 和 Flutter 在各方面的对比,比如:编程语言、社区生态、文档质量、可扩展性、维护成本、性能对比等开发者关注的内容。


DD编辑部原创大约 3 分钟技术选型React NativeFlutter
IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。

Spring、Quarkus等主流框架的支持增强

  1. Search Everywhere功能中增加Endpoints选项卡

程序猿DD原创大约 4 分钟IntelliJ IDEA前沿资讯IntelliJ IDEA
10秒开服!隔壁奶奶都能搞定幻兽帕鲁、雾锁王国的开服指南

10秒开服!隔壁奶奶都能搞定幻兽帕鲁、雾锁王国的开服指南

最近《幻兽帕鲁》和《雾锁王国》非常火热,玩过的小伙伴们都说非常上头!有跟朋友对战需求的小伙伴们可以通过本文拥有一台高性价比的专用服务器,随时可以用来跟朋友一起玩游戏!

敲重点!!!

  1. 步骤非常简单,就算你不是程序员,也可以轻松完成!!
  2. 目前很多云服务商和淘宝上都有类似的服务,但DD对比下来,腾讯云目前是最具性价比的,所以这里给大家推荐一下

开服步骤

  1. 选择游戏

程序猿DD原创大约 3 分钟优惠活动云服务
2
3
4
5
...
91