<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小码农的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hhd0211</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hhd0211]]></copyright><item><title><![CDATA[Three.js篇之《DEM 地形渲染》]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/148549279</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/148549279</guid><author>hhd0211</author><pubDate>Tue, 10 Jun 2025 09:32:01 +0800</pubDate><description><![CDATA[本文基于 Vue 3 + Three.js + TypeScript 的实现方案，详细展示了 DEM（数字高程模型）地形的三维可视化流程]]></description><category></category></item><item><title><![CDATA[Java核心篇之JVM探秘：垃圾回收算法与垃圾收集器]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140398047</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140398047</guid><author>hhd0211</author><pubDate>Sat, 13 Jul 2024 15:47:57 +0800</pubDate><description><![CDATA[前边我们已经了解过了JVM的内存模型与内存分配机制，在Java的世界里，内存管理是一项至关重要的任务。与C或C++等语言不同，Java自动处理对象的创建和销毁，这一过程主要由Java虚拟机（JVM）中的垃圾回收器（GC）来完成。本文将深入探讨垃圾回收算法与垃圾收集器的细节，旨在为读者提供一个全面且深入的理解。]]></description><category></category></item><item><title><![CDATA[Java核心篇之JVM探秘：对象创建与内存分配机制]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140387391</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140387391</guid><author>hhd0211</author><pubDate>Fri, 12 Jul 2024 21:45:14 +0800</pubDate><description><![CDATA[Java虚拟机（JVM）是Java语言的核心组件之一，负责执行Java字节码。在JVM中，对象的创建和内存管理是一个复杂而精细的过程，涉及多个阶段和多种策略。本文将深入探讨JVM中的对象创建流程、内存分配机制以及它们如何影响程序性能。JVM中对象的创建和内存分配是一个多步骤、多策略的过程，涉及类加载、内存布局、垃圾回收等多个层面。理解和优化这一机制对于提升Java应用程序的性能至关重要。通过合理的设计和编码实践，我们可以最大限度地发挥JVM的优势，构建高效稳定的应用系统。]]></description><category></category></item><item><title><![CDATA[Java核心篇之JVM探秘：内存模型与管理初探]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140361697</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140361697</guid><author>hhd0211</author><pubDate>Fri, 12 Jul 2024 09:38:28 +0800</pubDate><description><![CDATA[在Java的世界里，JVM（Java Virtual Machine）扮演着至关重要的角色。它不仅提供了运行Java程序的环境，还负责管理内存，确保程序的高效和安全执行。本文将深入探讨JVM内存模型，理解其内部结构与工作原理，帮助开发者更好地优化代码，避免常见的内存问题。程序计数器（Program Counter Register）每个线程都有一个独立的程序计数器，用于指示当前线程所执行的字节码指令的位置。当线程被中断或恢复时，程序计数器可以帮助JVM找到上一次执行的位置。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之并发实践：优化与挑战]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140340492</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140340492</guid><author>hhd0211</author><pubDate>Thu, 11 Jul 2024 08:44:23 +0800</pubDate><description><![CDATA[在现代软件开发中，多核处理器的普及使得并发编程成为提高应用性能的关键。Java语言提供了丰富的工具和API来支持并发编程，但正确地使用这些工具以达到最佳性能并非易事。本文将深入探讨几种重要的并发编程模式，性能调优策略，以及在高并发环境中如何管理和优化垃圾回收。并发编程为Java应用带来了巨大的性能潜力，但同时也引入了复杂性和挑战。通过理解并正确应用并发模式，精心调优线程和内存管理，我们可以构建出既高效又稳定的并发系统。不断学习和实践，是掌握并发编程艺术的关键。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之线程池（Executor框架）深度解析]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140330968</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140330968</guid><author>hhd0211</author><pubDate>Thu, 11 Jul 2024 08:09:28 +0800</pubDate><description><![CDATA[Executor框架的设计目的是将任务的提交与执行分离，它通过Executor接口定义了执行任务的基本行为，而接口则提供了更丰富的功能，包括任务的提交、关闭执行器和等待所有任务完成的能力。这一框架的核心组件包括和。Executor框架，特别是线程池，是Java多线程编程中不可或缺的一部分。它不仅简化了线程管理，还提升了程序的性能和响应性。通过合理配置线程池的参数，开发者可以优化多线程应用，实现资源的有效利用。理解和掌握Executor框架的使用，对于构建高效、稳定的并发应用具有重要意义。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之并发工具类：深入Atomic、Concurrent与BlockingQueue]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140330231</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140330231</guid><author>hhd0211</author><pubDate>Thu, 11 Jul 2024 08:08:55 +0800</pubDate><description><![CDATA[Java的并发工具类为开发者提供了丰富的选择，以应对各种并发编程的挑战。正确地选择和使用这些工具，不仅可以提高代码的效率和可维护性，还能避免常见的并发问题，如死锁、竞态条件等。在设计并发系统时，理解每种工具的特性和适用场景，是构建健壮、高性能应用的关键。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之并发控制：掌握锁、信号量与屏障的艺术]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140317705</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140317705</guid><author>hhd0211</author><pubDate>Wed, 10 Jul 2024 11:25:14 +0800</pubDate><description><![CDATA[和各有优缺点，选择使用哪一个取决于具体的应用场景。如果你需要更简单的同步代码，并且对性能的要求不是非常高，可能是一个合适的选择。然而，如果你需要更复杂的锁行为，如公平锁、响应中断、超时机制或使用Condition，那么可能是更好的选择。在实际开发中，理解和评估这些差异对于编写高效、安全的多线程代码至关重要。锁适用于细粒度的资源保护，确保原子性和排他性。信号量适合于管理一组有限资源的访问，提供了一种定量控制并发访问的方法。障碍物（如和）用于线程间的协调，特别适合于需要同步开始或结束的多线程场景。]]></description><category></category></item><item><title><![CDATA[Windows安装达梦数据库]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140312822</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140312822</guid><author>hhd0211</author><pubDate>Wed, 10 Jul 2024 09:53:15 +0800</pubDate><description><![CDATA[在国产化趋势日益明显的今天，达梦数据库作为一款成熟的企业级数据库管理系统，正受到越来越多的关注。本篇文章将引导你完成达梦数据库的安装过程，无论你是初次接触还是希望在现有环境中添加新的数据库选项，都能从中受益。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之并发基础]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140312420</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140312420</guid><author>hhd0211</author><pubDate>Wed, 10 Jul 2024 08:41:14 +0800</pubDate><description><![CDATA[Java并发编程是现代软件开发的重要组成部分，尤其在多核处理器的环境下，能够充分利用计算资源，提升应用的性能和响应能力。本文将专注于Java并发的基础概念，重点介绍线程的创建、线程生命周期以及线程安全问题。线程是程序执行的最小单位，是操作系统能够进行运算调度的最小单位。一个标准的Java应用程序至少有一个线程，即主线程。线程允许程序在多个路径上同时执行，从而提高效率。线程安全是指当多个线程访问共享资源时，不会导致数据不一致或其它错误。]]></description><category></category></item><item><title><![CDATA[Java进阶篇之Fork/Join 框架：并行处理的艺术]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140300542</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140300542</guid><author>hhd0211</author><pubDate>Tue, 09 Jul 2024 17:14:30 +0800</pubDate><description><![CDATA[在多核时代，如何有效利用多核处理器的并行计算能力成为了软件开发中的重要议题。Java 7引入的Fork/Join框架正是为此目的而生，它提供了一套高度优化的并行任务分解和合并机制，极大地简化了并行编程的复杂度，同时提升了应用程序的性能。本文将全面剖析Fork/Join框架的原理、使用方法及最佳实践。Fork/Join框架的核心在于将一个大任务分解（Fork）成多个较小的子任务，并行执行这些子任务，然后将子任务的结果合并（Join）起来形成最终结果。]]></description><category></category></item><item><title><![CDATA[MySQL性能调优与深度分页优化策略]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140296894</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140296894</guid><author>hhd0211</author><pubDate>Tue, 09 Jul 2024 16:29:06 +0800</pubDate><description><![CDATA[在现代的Web应用和大数据环境中，MySQL作为一款广泛使用的开源关系数据库管理系统，其性能直接影响着应用程序的响应时间和用户体验。尤其是在面对海量数据的深度分页查询时，性能问题尤为突出。本文旨在探讨MySQL的性能调优策略以及深度分页查询的优化方法。MySQL性能调优是一个复杂的过程，涉及到数据库配置、查询优化、系统资源管理等多个方面。而深度分页查询的优化则需要结合具体的应用场景和数据特性，采用灵活的策略来实现高效的数据检索。通过上述的优化措施，可以显著提升MySQL在高并发和大数据环境下的表现。]]></description><category></category></item><item><title><![CDATA[【人工智能】YOLOv10训练识别苹果病害]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140058212</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140058212</guid><author>hhd0211</author><pubDate>Sat, 06 Jul 2024 15:43:18 +0800</pubDate><description><![CDATA[上一章介绍了如何使用labelImg标注工具，本文就介绍了使用YOLOv10训练可以识别苹果病害的模型。一、数据集准备1.下载数据集本文使用AppleLeaf9的数据集AppleLeaf9（包含健康苹果叶片和8类苹果叶部病害）_数据集-飞桨AI Studio星河社区。]]></description><category></category></item><item><title><![CDATA[【数据准备】标注工具labelImg安装与使用]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/140226417</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/140226417</guid><author>hhd0211</author><pubDate>Sat, 06 Jul 2024 15:19:03 +0800</pubDate><description><![CDATA[LabelImg标注工具是一款强大的图像标注软件，广泛应用于计算机视觉领域的目标检测、图像识别等任务中。它提供了直观的操作界面和丰富的标注功能，使用户能够轻松的对图像进行精确的标注。下面将详细介绍LabelImg标注工具的设置及使用步骤。在LabelImg中，可以选择PASCAL VOC、YOLO和CreateML三种格式进行类别标注，生成的文件类型分别为PASCAL VOC——xml文件（常用）YOLO——txt文件（常用）CreateML——json文件。]]></description><category></category></item><item><title><![CDATA[Spring Boot整合Elasticsearch-8.14.1]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/139991268</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/139991268</guid><author>hhd0211</author><pubDate>Wed, 26 Jun 2024 16:09:56 +0800</pubDate><description><![CDATA[如此一来，es就变成通用的了，可以传入任何索引和实体，查询分页或者非分页的数据，但是ES的版本之间变化有点大，多少版本能适用就不大清楚了，但是思路应该都是差不多的。最近项目中由于数据量大，考虑上ES，但是找了很多资料发现没有比较理想的内容，最终决定自己写一个，话不多说，直接上代码。ES-8.14.1需要引入2.17.0的版本，但是我项目中有别的地方引入了2.11.4的版本，所以最后只好手动给他过滤掉了。对了，中途还碰到个小问题，就是由于jackson包的版本冲突问题。一、建立与es的连接。]]></description><category></category></item><item><title><![CDATA[Linux安装MySQL]]></title><link>https://blog.youkuaiyun.com/hhd0211/article/details/129736732</link><guid>https://blog.youkuaiyun.com/hhd0211/article/details/129736732</guid><author>hhd0211</author><pubDate>Thu, 23 Mar 2023 20:48:15 +0800</pubDate><description><![CDATA[Linux安装MySQL]]></description><category></category></item></channel></rss>