<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_73804764的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_73804764</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_73804764]]></copyright><item><title><![CDATA[一文读懂JVM内存区域（大白话版）]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/146407149</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/146407149</guid><author>m0_73804764</author><pubDate>Thu, 20 Mar 2025 22:44:07 +0800</pubDate><description><![CDATA[JVM内存分为线程私有和线程共享两大块，每个区域各司其职，就像公司里的不同部分的分工合作。]]></description><category></category></item><item><title><![CDATA[大白话读懂java对象创建的过程]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/146350904</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/146350904</guid><author>m0_73804764</author><pubDate>Thu, 20 Mar 2025 20:50:27 +0800</pubDate><description><![CDATA[在 JVM 中对象的创建，我们从⼀个 new 指令开始：
⾸先检查这个指令的参数是否能在常量池中定位到⼀个类的符号引用
检查这个符号引⽤代表的类是否已被加载、解析和初始化过。如果没有，就先执⾏相应的类加载过程
类加载检查通过后，接下来虚拟机将为新⽣对象分配内存。
内存分配完成之后，虚拟机将分配到的内存空间（但不包括对象头）都初始化为零值。
接下来设置对象头，请求头⾥包含了对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的 GC 分代年龄等信息。]]></description><category></category></item><item><title><![CDATA[Java 代理模式：从静态代理到动态代理]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/146266200</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/146266200</guid><author>m0_73804764</author><pubDate>Fri, 14 Mar 2025 20:27:29 +0800</pubDate><description><![CDATA[闺蜜在这里就可以看作是新娘的代理对象，代理的行为（方法）是接收和回复新郎的提问。这样做的好处是，我们可以在不修改原目标对象的前提下，扩展目标对象的功能。代理模式不仅可以扩展目标对象的功能，而且在不修改原目标对象的情况下，可以增加一些我们自定义的操作。CGLIB 动态代理通过继承目标类来生成代理类，因此它可以代理未实现任何接口的类。：动态代理更加灵活，不需要针对每个目标类都创建一个代理类，且可以直接代理实现类。我们需要手动为每个目标类创建一个代理类，并在代理类中调用目标类的方法。在 JDK 动态代理中，]]></description><category></category></item><item><title><![CDATA[Android四大组件详解（大白话版）]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/146242341</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/146242341</guid><author>m0_73804764</author><pubDate>Fri, 14 Mar 2025 17:13:03 +0800</pubDate><description><![CDATA[ 1. Activity：负责展示用户界面，就像App的一个个“页面”，用户通过它与应用交互。  
2. Service：在后台默默干活的打工人，比如播放音乐或下载文件，没有界面但能长时间运行。  
3. BroadcastReceiver：像“收音机”一样接收系统或应用发出的广播消息，比如电量低或网络变化，然后做出响应。  
4. ContentProvider：是“数据管家”，管理应用的数据并提供统一接口，让其他应用也能访问这些数据。  ]]></description><category></category></item><item><title><![CDATA[Android开发大牛养成-基础动画与复杂动画实现]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145967472</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145967472</guid><author>m0_73804764</author><pubDate>Sun, 02 Mar 2025 18:35:28 +0800</pubDate><description><![CDATA[Android 动画主要有属性动画、补间动画和帧动画。属性动画可直接改变对象属性，如平移、缩放、旋转、透明等，通过 ValueAnimator 或 ObjectAnimator 实现，可设置时长、插值器等。补间动画包括平移、旋转、缩放、透明度变化，作用于视图，不改变实际属性，有 Animation 类及子类。帧动画则是按顺序播放一系列图片，通过 AnimationDrawable 实现。动画使用时需注意性能优化，避免内存泄漏，合理设置动画参数，以实现流畅且美观的视觉效果。]]></description><category></category></item><item><title><![CDATA[HTTP 常见状态码技术解析（应用层）]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145785711</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145785711</guid><author>m0_73804764</author><pubDate>Fri, 21 Feb 2025 21:37:34 +0800</pubDate><description><![CDATA[HTTP 状态码是 HTTP 协议中用于描述请求处理结果的三位数字代码，分为五大类：`1xx`（信息性）、`2xx`（成功）、`3xx`（重定向）、`4xx`（客户端错误）、`5xx`（服务端错误）。常见状态码如 `200 OK`（请求成功）、`404 Not Found`（资源未找到）、`500 Internal Server Error`（服务器内部错误）等，分别用于表示请求成功、客户端问题或服务端故障。理解状态码的分类及语义有助于快速定位问题、优化用户体验并遵循 RESTful 设计规范。开发者应结合]]></description><category></category></item><item><title><![CDATA[TCP传输可靠性保障：理论讲解→实战面试解析]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145774199</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145774199</guid><author>m0_73804764</author><pubDate>Fri, 21 Feb 2025 13:05:52 +0800</pubDate><description><![CDATA[在数据传输比较顺利，没有太多丢失和乱序的时候，就用累计确认，简单高效地让发送方知道一大段数据都收到了。而当出现数据丢失或者乱序的情况，接收方就用选择确认，给发送方详细地说明具体哪些数据收到了，哪些没收到，让发送方只重新发送真正丢失的数据。有时候，接收方在收到数据后，不用专门马上发一个确认消息给发送方，而是可以趁着自己要给发送方发送数据的时候，顺便把这个确认信息带过去，这就是。A：通过三重确认排除网络抖动因素：1个可能是乱序，2个可能是临时延迟，3个基本确认丢包（概率学验证）想象一下网购时商品运输需要。]]></description><category></category></item><item><title><![CDATA[TCP 三次握手与四次挥手：构建与终止可靠通信的核心机制]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145754553</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145754553</guid><author>m0_73804764</author><pubDate>Thu, 20 Feb 2025 15:57:08 +0800</pubDate><description><![CDATA[TCP 协议通过三次握手和四次挥手机制，实现可靠连接建立与优雅连接终止，确保数据无损、有序传输。三次握手旨在同步双方初始序列号，验证双向通信能力，客户端与服务端通过交换 SYN、SYN-ACK、ACK 报文，确认彼此发送与接收能力，以最小代价建立全双工可信信道，抵御网络不稳定与恶意攻击。四次挥手则是独立关闭双向数据流，确保传输完整性，主动关闭方发送 FIN，被动方响应 ACK，被动方完成数据发送后再发 FIN，主动方以 ACK 响应并进入 TIME_WAIT 状态，防止报文丢失导致连接残留。]]></description><category></category></item><item><title><![CDATA[深入浅出Java虚拟机（JVM）核心原理]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145750726</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145750726</guid><author>m0_73804764</author><pubDate>Thu, 20 Feb 2025 14:34:14 +0800</pubDate><description><![CDATA[比如，它会自动帮我们分配内存来存储程序运行时产生的数据，当这些数据不再使用时，JVM 还会自动把它们占用的内存回收掉，这样就不用担心内存不够用或者内存泄漏的问题。（3）虚拟机主要的 5 大块：方法区，堆都为线程共享区域，有线程安全问题，栈和本地方法栈和计数器都是独享区域，不存在线程安全问题，而 JVM 的调优主要就是围绕堆，栈两大块进行。JVM 就负责运行这些字节码文件，它会把字节码翻译成计算机硬件能懂的指令，让程序在不同的操作系统上都能顺利运行。的缩写，简单来说，JVM 就像是一台。]]></description><category></category></item><item><title><![CDATA[JVM 类加载器深度解析（含实战案例）]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145735592</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145735592</guid><author>m0_73804764</author><pubDate>Wed, 19 Feb 2025 18:30:07 +0800</pubDate><description><![CDATA[是类加载器的协作规则：]]></description><category></category></item><item><title><![CDATA[JVM类加载过程详解：从字节码到内存的蜕变之旅]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145731203</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145731203</guid><author>m0_73804764</author><pubDate>Wed, 19 Feb 2025 15:59:59 +0800</pubDate><description><![CDATA[类加载过程就像一座精密的工厂流水线，将原材料（字节码）加工成可运行的类对象。加载的类可能被卸载。：加载工作由类加载器完成，采用双亲委派机制确保安全。5. 初始化（Initialization）：真正的诞生时刻。3. 准备（Preparation）：内存分配的预演。将其转化为JVM内存中的数据结构，才能被程序调用。码字不易，希望可以一键三连，我们下期文章再见！1. 加载（Loading）：字节码的搬运工。：由系统类加载器加载的类几乎不会被卸载，而。时，最终由启动类加载器完成。一、类加载的意义与整体流程。]]></description><category></category></item><item><title><![CDATA[JVM类文件结构深度解析：跨平台基石与字节码探秘]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145727402</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145727402</guid><author>m0_73804764</author><pubDate>Wed, 19 Feb 2025 14:45:52 +0800</pubDate><description><![CDATA[类文件是Java生态的通用中间表示，其精巧设计体现了计算机科学中抽象与实现的完美平衡。掌握这一结构，是我们开发者通向高级Java开发的必经之路！]]></description><category></category></item><item><title><![CDATA[JVM中的线程池详解：原理→实践]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145691424</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145691424</guid><author>m0_73804764</author><pubDate>Mon, 17 Feb 2025 21:19:49 +0800</pubDate><description><![CDATA[本文详细讲解了JVM中的线程池原理与实践，包括线程池的必要性、与JVM内存模型的关系、核心实现、监控与调优、常见问题排查以及线程池的生命周期管理。文章指出，合理配置和使用线程池是保障系统稳定性的关键，开发者应根据业务场景选择合适的线程池配置，实施全面监控，定期进行压力测试，并及时清理线程资源]]></description><category></category></item><item><title><![CDATA[Java内存模型（JMM）深度解析：从并发问题到解决方案]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145689249</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145689249</guid><author>m0_73804764</author><pubDate>Mon, 17 Feb 2025 20:38:50 +0800</pubDate><description><![CDATA[本文围绕 Java 内存模型（JMM）展开，深入探讨了其相关概念、原理及在并发编程中的应用，具体内容摘要如下：
JMM 产生背景：多核 CPU 时代，并发编程可提升性能，但带来可见性、原子性和有序性三大问题。根源在于 CPU 缓存机制及指令重排序，为解决这些问题引入 JMM。
JMM 架构设计
内存抽象模型：定义主内存和工作内存，线程间通信需先将本地内存修改同步到主内存，再从主内存读取。不过多线程操作共享变量可能引发线程安全问题。
内存交互协议：通过 lock、unlock、read 等 8 种原子操作保证]]></description><category></category></item><item><title><![CDATA[基于 2-gram 模型的智能宋词生成系统实现与原理]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145666819</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145666819</guid><author>m0_73804764</author><pubDate>Sun, 16 Feb 2025 17:21:17 +0800</pubDate><description><![CDATA[本文详细介绍了一个宋词生成系统的设计与实现。该系统利用 2-gram 语言模型，结合词牌规则，实现了不同词牌宋词的自动生成。同时，系统还具备词语解释查询、生成结果导出以及历史记录查看等功能。文章从系统架构、原理、代码实现等方面进行了阐述，旨在让读者全面了解该项目的工作机制。]]></description><category></category></item><item><title><![CDATA[基于N-gram模型的中文文本分析系统设计与实现]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145664876</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145664876</guid><author>m0_73804764</author><pubDate>Sun, 16 Feb 2025 15:44:28 +0800</pubDate><description><![CDATA[在宋词语料上的实验表明，系统不仅能够有效识别"东风"(157次)、"何处"(89次)等关键双字意象，还可通过三字词频分布揭示婉约派"无人会"(24次)、豪放派"千古事"(18次)等流派的用词特征。4.分别统计n-gram（n=1，2，3）的词频，存储到相应的数据结构，该数据结构包括词（词本身）和词的频度（出现次数）N-gram模型基于一个简单的假设：一个词出现的概率只与它前面的n-1个词相关，这个假设称为。对于bigram模型（二元），假设当前词的出现概率只依赖于它前面的一个词。]]></description><category></category></item><item><title><![CDATA[基于多元高斯分布的异常检测技术原理与实现]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145653104</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145653104</guid><author>m0_73804764</author><pubDate>Sat, 15 Feb 2025 19:36:43 +0800</pubDate><description><![CDATA[本文提出的基于多元高斯分布的异常检测方法，通过概率密度建模和阈值优化，实现了高效可靠的异常识别。代码实现中注重可视化分析和评估指标监控，为实际应用提供了重要参考。]]></description><category></category></item><item><title><![CDATA[Java并发中的CAS机制：原理、应用与挑战(通俗易懂版)]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145642155</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145642155</guid><author>m0_73804764</author><pubDate>Fri, 14 Feb 2025 22:15:37 +0800</pubDate><description><![CDATA[本文深入介绍了 Java 中的 CAS 机制。以银行账户转账为例，展示了其无锁操作策略。底层通过 `sun.misc.Unsafe` 类调用 CPU 指令实现，如 `AtomicInteger` 就基于此包装。不过，CAS 面临 ABA 问题、自旋开销和多变量原子性等挑战，分别可通过 `AtomicStampedReference`、自适应自旋等应对。在计数器、状态标志等场景适用性高，高并发下性能优于锁。使用时应优先用 JUC 原子类，警惕问题、控制自旋。未来有 VarHandle API、轻量级线程等演进]]></description><category></category></item><item><title><![CDATA[一文读懂乐观锁与悲观锁：如何在高并发场景下保护你的数据？]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145641672</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145641672</guid><author>m0_73804764</author><pubDate>Fri, 14 Feb 2025 21:32:54 +0800</pubDate><description><![CDATA[悲观锁假设。]]></description><category></category></item><item><title><![CDATA[基于改进K-Means算法的聚类分析与图像压缩应用研究]]></title><link>https://blog.youkuaiyun.com/m0_73804764/article/details/145616506</link><guid>https://blog.youkuaiyun.com/m0_73804764/article/details/145616506</guid><author>m0_73804764</author><pubDate>Thu, 13 Feb 2025 17:47:46 +0800</pubDate><description><![CDATA[K-Means聚类作为无监督学习中的经典算法，在数据挖掘、模式识别等领域具有广泛应用。本文基于面向对象编程范式实现了一种改进的K-Means算法，并通过二维数据聚类和图像压缩两个典型案例验证其有效性。该实现融合了K-means++初始化策略、动态可视化、簇内平方和优化等多种改进措施，显著提升了传统算法的性能。簇：是一组相似的数据点的集合，在同一个簇中的数据点之间的相似度较高，而与其他簇中的数据点相似度较低。：通常使用欧氏距离来衡量数据点之间的相似度。对于两个数据点和。]]></description><category></category></item></channel></rss>