读取文件内容,然后进行处理,在Java中我们通常利用Files类中的方法,将可以文件内容加载到内存,并流顺利地进行处理。但是,在一些场景下,我们需要处理的文件可能比我们机器所拥有的内存要大。此时,我们则需要采用另一种策略:部分读取它,并具有其他结构来仅编译所需的数据。 接下来,我们就来说说这一场景:当遇到大文件,无法一次载入内存时候要如何处理。 模拟场景 假设,当前我们需要开发一个程序来分析来自服务器的日志文件,并生成一份报告,列出前10个最常用的应用程序。 每天,都会生成一个新的日志文件,其中包含时间戳、主机信息、持续时间、服务调用等信息,以及可能与我们的特定方案无关的其他数据。 2024-...

  lnZqfDbuKjjk   15天前   28   0   0 Java

就在昨晚,Java22正式发布!该版本提供了12项功能增强,其中包括7项预览功能和1项孵化器功能。它们涵盖了对Java语言、API、性能以及JDK中包含的工具的改进。 下面就来一起学习一下该版本都更新了哪些新特性! UnnamedVariables&PatternsJEP456 JEP456未命名变量和模式:当需要但未使用变量声明或嵌套模式时,提高了可读性。两者都由下划线字符表示。 价值 捕获开发人员的意图,即未使用给定的绑定或lambda参数,并强制执行该属性以澄清程序并减少出错的机会。 通过识别必须声明(例如,在catch子句中)但未使用的变量,提高所有代码的可维护性。 允许多个...

  lnZqfDbuKjjk   24天前   5   0   0 Java

如果最近您收到了MacOS14.4的升级提醒,那么建议你暂时先不要升级! 在x上,Java开发领域的一些大v们,也发现了这个问题,并提醒大家不要升级。 根据Java官方发布的文章了解到,该问题主要是由于macOS上运行的进程可能会访问受保护内存区域中的内存。在macOS14.4更新之前,在某些情况下,macOS内核会通过向进程发送信号SIGBUS或SIGSEGV来响应这些受保护的内存访问。然后该进程可以选择处理该信号并继续执行。而在最新macOS14.4中,当线程在写入模式下运行时,如果尝试对受保护的内存区域进行内存访问,macOS将发送信号SIGKILL。该进程无法处理该信号,并且该进...

  lnZqfDbuKjjk   26天前   20   0   0 Java

关于阿里的通义灵码,之前DD就给大家推荐过,虽然比起GitHubCopilot还有一些差距。但日常使用,大部分场景还是游刃有余的。另外,它还是免费使用的,还要什么自行车?最近正好看到它们在搞活动,不管你之前是否已经使用,还是没有体验过,这次都推荐来尝试一下!因为不管你觉得好不好,都有🎁拿啊🤤! 下面是领取步骤,只要动动手指跟着步骤做就可以了: 进入活动页,点击这里 登录您的阿里云账号之后,根据下图分两步点击 点击“领取盲盒”之后,领取成功如下图: 然后去IDEA或者VSCode等开发工具的插件市场里搜索:lingma,完成插件的安装,比如下面是IDEA的插件安装: 安装...

  lnZqfDbuKjjk   30天前   31   0   0 Java

当我们想要封装一些自定义功能给别人使用的时候,创建SpringBootStarter的形式是最好的实现方式。如果您还不会构建自己的SpringBootStarter的话,本文将带你一起创建一个自己的SpringBootStarter。 快速入门 创建一个新的Maven项目。第三方封装的命名格式是xxx-spring-boot-starter,例如:didispace-spring-boot-starter。 编辑pom.xml,添加spring-boot-autoconfigure和spring-boot-starter依赖 <dependencies> <depende...

  lnZqfDbuKjjk   2024年02月27日   29   0   0 Java

之前给大家推荐过一些油管上的免费学习资源,如果您还没有看过的话可以点击这里前往。 今天再给大家推荐一批Udemy上超高质量并且免费的编程课程,有需要的小伙伴可以学起来了。 1.JavaScriptEssentials 第一门免费课程是:JavaScriptEssentials。顾名思义,本课程旨在帮助您掌握JavaScript的基础知识。该课程涵盖基本的API并以一个迷你项目结束。这是一个相当小的课程,您仅需要花费6小时30分钟就可以学习完成。 通过这个教程您将学习的内容包括:编程基础知识、语言基础知识及其关键概念,以及JavaScript核心功能。当然,该课程也有一些进阶内容。所以,如果您...

  lnZqfDbuKjjk   2024年02月21日   33   0   0 Java

虚拟线程(VirtualThreads)是Java21所有新特性中最为吸引人的内容,它可以大大来简化和增强Java应用的并发性。但是,随着这些变化而来的是如何最好地管理此吞吐量的问题。本文,就让我们看一下开发人员在使用虚拟线程时,应该如何管理吞吐量。 在大多数情况下,开发人员不需要自己创建虚拟线程。例如,对于Web应用程序,Tomcat或Jetty等底层框架将为每个传入请求自动生成一个虚拟线程。 如果在应用程序内部需要自行调用来提供业务并发能力时,我们可以使用Java21新特性:虚拟线程(VirtualThreads)中介绍的方法去创建和使用,比如较为常用的就是Executors.newVir...

  lnZqfDbuKjjk   2024年02月20日   37   0   0 Java

最近《幻兽帕鲁》和《雾锁王国》非常火热,玩过的小伙伴们都说非常上头!有跟朋友对战需求的小伙伴们可以通过本文拥有一台高性价比的专用服务器,随时可以用来跟朋友一起玩游戏! 敲重点!!! 步骤非常简单,就算你不是程序员,也可以轻松完成!! 目前很多云服务商和淘宝上都有类似的服务,但DD对比下来,腾讯云目前是最具性价比的,所以这里给大家推荐一下 开服步骤 选择游戏 进入开服页面,入口链接:https://curl.qcloud.com/1mik3tYN 根据你要玩的游戏,点击不同的专区,目前支持:《幻兽帕鲁》和《雾锁王国》 选择机器配置 选择好游戏之后,下面会展现支持的规格(如下图所示)...

  lnZqfDbuKjjk   2024年02月19日   13   0   0 Java

有段时间没有更新IDEA了,早上看到IntelliJIDEA2024.1EAP5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。 Spring、Quarkus等主流框架的支持增强 SearchEverywhere功能中增加Endpoints选项卡 具体如下图所示: 开发者可以在这里直接搜索通过Spring、Quarkus、Micronaut、Ktor实现的接口来找到具体的代码实现位置。这个功能非常实用,尤其是对于接手老项目的开发者来说,可以快速的定位接口实现来完成开发任务或问题排查。 ...

  lnZqfDbuKjjk   2024年02月19日   35   0   0 Java

有这样一个带有搜索功能的用户界面需求: 搜索流程如下所示: 这个需求涉及两个实体: “评分(Rating)、用户名(Username)”数据与User实体相关 “创建日期(createdate)、观看次数(numberofviews)、标题(title)、正文(body)”与Story实体相关 需要支持的功能对User实体中的评分(Rating)的频繁修改以及下列搜索功能: 按User评分进行范围搜索 按Story创建日期进行范围搜索 按Story浏览量进行范围搜索 按Story标题进行全文搜索 按Story正文进行全文搜索 Postgres中创建表结构和索引 创建users表和s...

  lnZqfDbuKjjk   2024年02月19日   41   0   0 Java

之前已经分享过多篇关于SpringBoot中使用Java21新特性虚拟线程的性能测试案例: SpringBoot3.2虚拟线程搭建静态文件服务器有多快? SpringBoot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较 早上看到群友问到一个关于虚拟线程遇到MySQL连接不兼容导致的性能问题: 这个问题确实之前就有看到过相关的评测,顺着个这个问题,重新把相关评测找出来,给大家分享一下。 以下内容主要参考文章:https://medium.com/deno-the-complete-reference/springboot-physical-vs-virtual-thr...

  lnZqfDbuKjjk   2024年01月19日   12   0   0 Java

工作流是我们开发企业应用几乎必备的一项功能,工作流引擎发展至今已经有非常多的产品。最近正好在接触Camunda,所以来做个简单的入门整合介绍。如果您也刚好在调研或者刚开始计划接入,希望本文对您有所帮助。如果您是一名Java开发或Spring框架爱好者,欢迎关注我程序猿DD,持续非常技术干货。 Camunda简介 Camunda是一个灵活的工作流和流程自动化框架。其核心是一个运行在Java虚拟机内部的原生BPMN2.0流程引擎。它可以嵌入到任何Java应用程序和任何运行时容器中。 官网网站:https://www.camunda.org/ 入门文档:https://docs.camunda....

  lnZqfDbuKjjk   2024年01月18日   14   0   0 Java

在DD长期更新的Java新特性专栏中,已经介绍过Java16中开始支持的新特性:record的使用。 之前只是做了介绍,但没有结合之前的编码习惯或规范来聊聊未来的应用变化。最近正好因为互相review一些合作伙伴的代码,产生了一些讨论话题,主要正针对于有了record之后,其实之前有些用Lombok的场景,是可以替换掉了。 今天我们就来小小的总结下,我们可以在哪些地方,利用record来替换Lombok。 Lombok的威力 Lombok是我一直都喜欢使用的工具,因为它可以让我们的代码变的更加整洁。比如:当我们要写一个User对象的时候,如果不使用Lombok,往往需要写这么多内容: publ...

  lnZqfDbuKjjk   2024年01月12日   15   0   0 Java

本文我们一起看看SpringBoot中JdbcClient和JdbcTemplate之间的差异。 以下内容使用的Java和SpringBoot版本为: Java21 SpringBoot3.2.1 假设我们有一个ICustomerService接口: publicinterfaceICustomerService{ List<Customer>getAllCustomer(); Optional<Customer>getCustomerById(intid); voidinsert(Customercustomer); voidupdate(intid,Cu...

  lnZqfDbuKjjk   2024年01月10日   9   0   0 Java

之前分享了关于Spring新项目SpringAI的介绍视频。视频里演示了关于使用SpringAI将OpenAI的能力整合到Spring应用中的操作,但有不少读者提到是否有博客形式的学习内容。所以,本文就将具体介绍如何使用SpringAI快速让您的Spring应用拥有生成式AI的强大能力。 动手试试 第一步:使用你最喜欢的IDE来生成一个基础的SpringBoot项目。如果您还不会这个,建议先前往SpringBoot快速入门学习。 第二步:pom.xml中引入依赖。当前分为两个,AzureOpenAI和OpenAI,选择其中一个你在用的即可。 <dependency> <gro...

  lnZqfDbuKjjk   2024年01月09日   11   0   0 Java

SpringBoot3.2于2023年11月大张旗鼓地发布,标志着Java开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用ProjectLoom的虚拟线程释放可扩展性,从而减少资源消耗并增强并发性。 NativeImage支持:通过NativeImage编译制作速度极快的应用程序,减少启动时间并优化资源利用率。 JVM检查点:利用CRaC项目的JVM检查点机制实现应用程序的快速重启,无需冗长的重新初始化。 RestClient:采用新的RestClient接口的功能方法,简化HTTP交互并简化代码。 SpringforApachePulsar:利用Ap...

  lnZqfDbuKjjk   2024年01月05日   9   0   0 Java

SpringFramework是一种流行的开源企业级框架,用于创建在JavaVirtualMachine(JVM)上运行的独立、生产级应用程序。而SpringBoot是一个工具,可以让使用Spring框架更快、更轻松地开发Web应用程序和微服务。随着SpringBoot的不断发展,开发人员必须跟上最新的升级和变化。 最近,SpringBoot宣布发布3.2.x版本,该版本带来了多项新功能、错误修复和增强功能,鉴于对SpringBoot2.7.x版本的支持已于2023年11月18日结束,这是一个非常重要且强制性的关注用于将SpringBoot应用程序升级到最新的3.x版本。 因此,在本文中,我们...

  lnZqfDbuKjjk   2023年12月29日   15   0   0 Java

睡不着,看到一个有意思的网站:EstimateGithubWorthGenerator。 它可以用来估算GitHub账号的价值。马上试了一下。 我的账号估值:$23806.2 操作很简单,点击EstimateGithubWorthGenerator,进入网站。 具体如下图: 在唯一的输入框中,输入您的GitHub账号,点击按钮GenerateWorth按钮,就能获得文章开头的估值图片了。 周五了,一起摸摸鱼,来试试,顺便留言说说你的估值,看看谁的最高 网站地址:https://github-worth.vercel.app/ 如果您觉得DD分享的内容不错,可以点击文末卡片关注,持续分享原创...

  lnZqfDbuKjjk   2023年12月29日   12   0   0 Java

GitHub团队近日分享了他们将GitHub.com的底层数据库无缝升级到MySQL8.0的经验。 据介绍,GitHub使用MySQL来存储大量关系数据,因此在不影响网站服务级别目标(SLO)的情况下升级主机集群(1200多台MySQL主机)绝非易事。其团队表示,为了升级到MySQL8.0,他们规划、测试和升级本身总共花费了一年多的时间,并且需要GitHub内部多个团队的协作。 GitHub的MySQL基础设施概览: 由1200多台主机组成,包括数据中心中的 Azure虚拟机和裸机主机 存储超过300TB的数据,并在50多个数据库集群中每秒处理550万次查询 每个集群都配置为具...

谷歌最新推出的GeminiAI模型在昨天首次亮相后,评论褒贬不一。但在人们发现该公司演示中最引人注目的部分几乎完全是伪造的后,用户对谷歌技术不再那么信任,对谷歌的诚信表示怀疑。 一段标题为《与Gemini互动:体验多模态AI》的视频昨天观看量达到一百万,其受欢迎的原因并不难理解。这个令人震惊的演示“展示了我们与Gemini互动的一些精彩时刻”,显示了这款多模态模型(即理解并结合语言和视觉理解能力的模型)如何能够灵活应对多种输入(全套视频可见:15个视频,带你全面了解Google最强AI模型Gemini是如何像人一样看、听、说!)。 首先,它描述了一只鸭子的草图是如何从一条简单的线条演变成一个...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~