<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on A-Persimmon`s</title>
    <link>https://blog.codingforjoy.com/posts/</link>
    <description>Recent content in Posts on A-Persimmon`s</description>
    <image>
      <title>A-Persimmon`s</title>
      <url>https://blog.codingforjoy.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://blog.codingforjoy.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.122.0</generator>
    <language>en</language>
    <lastBuildDate>Fri, 07 Jun 2024 11:54:44 +0800</lastBuildDate>
    <atom:link href="https://blog.codingforjoy.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI中TOPS和NPU性能指标指南</title>
      <link>https://blog.codingforjoy.com/posts/ai%E4%B8%ADtops%E5%92%8Cnpu%E6%80%A7%E8%83%BD%E6%8C%87%E6%A0%87%E6%8C%87%E5%8D%97/</link>
      <pubDate>Fri, 07 Jun 2024 11:54:44 +0800</pubDate>
      <guid>https://blog.codingforjoy.com/posts/ai%E4%B8%ADtops%E5%92%8Cnpu%E6%80%A7%E8%83%BD%E6%8C%87%E6%A0%87%E6%8C%87%E5%8D%97/</guid>
      <description>解释TOPS是什么</description>
    </item>
    <item>
      <title>深入探索：利用CloudWeGo丰富Go语言微服务</title>
      <link>https://blog.codingforjoy.com/posts/%E6%B7%B1%E5%85%A5%E6%8E%A2%E7%B4%A2%E5%88%A9%E7%94%A8cloudwego%E4%B8%B0%E5%AF%8Cgo%E8%AF%AD%E8%A8%80%E5%BE%AE%E6%9C%8D%E5%8A%A1/</link>
      <pubDate>Fri, 31 May 2024 01:23:57 +0800</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E6%B7%B1%E5%85%A5%E6%8E%A2%E7%B4%A2%E5%88%A9%E7%94%A8cloudwego%E4%B8%B0%E5%AF%8Cgo%E8%AF%AD%E8%A8%80%E5%BE%AE%E6%9C%8D%E5%8A%A1/</guid>
      <description>介绍CloudWeGo如何构建微服务</description>
    </item>
    <item>
      <title>如何构建RocketMQ-5.2源码调试环境</title>
      <link>https://blog.codingforjoy.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BArocketmq-5.2%E6%BA%90%E7%A0%81%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83/</link>
      <pubDate>Fri, 24 May 2024 13:06:57 +0800</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BArocketmq-5.2%E6%BA%90%E7%A0%81%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83/</guid>
      <description>构建最小可调试环境</description>
    </item>
    <item>
      <title>指定网段路由指定网卡</title>
      <link>https://blog.codingforjoy.com/posts/%E6%8C%87%E5%AE%9A%E7%BD%91%E6%AE%B5%E8%B7%AF%E7%94%B1%E6%8C%87%E5%AE%9A%E7%BD%91%E5%8D%A1/</link>
      <pubDate>Thu, 23 May 2024 14:19:11 +0800</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E6%8C%87%E5%AE%9A%E7%BD%91%E6%AE%B5%E8%B7%AF%E7%94%B1%E6%8C%87%E5%AE%9A%E7%BD%91%E5%8D%A1/</guid>
      <description>双卡内外任我行：指定网段路由指定网卡</description>
    </item>
    <item>
      <title>如何找到容器中准确的CPU利用率？</title>
      <link>https://blog.codingforjoy.com/posts/%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%E5%AE%B9%E5%99%A8%E4%B8%AD%E5%87%86%E7%A1%AE%E7%9A%84cpu%E5%88%A9%E7%94%A8%E7%8E%87/</link>
      <pubDate>Fri, 01 Mar 2024 01:22:55 +0800</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%E5%AE%B9%E5%99%A8%E4%B8%AD%E5%87%86%E7%A1%AE%E7%9A%84cpu%E5%88%A9%E7%94%A8%E7%8E%87/</guid>
      <description>TOP 指令怎么准确定位容器的真实情况.</description>
    </item>
    <item>
      <title>5. Spring 核心：AOP，面向切面编程</title>
      <link>https://blog.codingforjoy.com/posts/spring%E6%A0%B8%E5%BF%83aop%E9%9D%A2%E5%90%91%E5%88%87%E9%9D%A2%E7%BC%96%E7%A8%8B/</link>
      <pubDate>Sat, 08 Oct 2022 20:01:00 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/spring%E6%A0%B8%E5%BF%83aop%E9%9D%A2%E5%90%91%E5%88%87%E9%9D%A2%E7%BC%96%E7%A8%8B/</guid>
      <description>本文内容是逐段翻译Spring-Framework 1.1.x 官方文档的第5章的内容。通过在翻译阅读过程中去尝试感受当年作者的意境。为什么不是1.0？因为1.1.x才开始有官方文档，之前的版本只有api文档。
如果你想知道人为什么要这么搞，那么应该去看书/文档；如果你要知道让机器干了什么？那你应该看代码！——左耳朵耗子
5.1. 概念 面向方面编程（AOP）提供了另一种思考程序结构的方法，是对 OOP 的补充。OO 将应用程序分解为对象的层次结构，而 AOP 则将程序分解为方面或关注点。这样就能将事务管理等关注点模块化，否则这些关注点就会跨越多个对象。(这类问题通常被称为交叉问题）。
Spring 中使用了 AOP：
提供声明式企业服务，尤其是作为 EJB 声明式服务的替代。其中最重要的服务是声明式事务管理，它建立在 Spring 的事务抽象之上。 允许用户实现自定义 AOP，用 AOP 补充他们对 OOP 的使用。 因此，您可以将 Spring AOP 视为一种使能技术，它允许 Spring 在不使用 EJB 的情况下提供声明式事务管理；或者使用 Spring AOP 框架的全部功能来实现自定义方面。
如果你只对通用声明式服务或其他预打包的声明式中间件服务（如池化服务）感兴趣，就不需要直接使用 Spring AOP，也可以跳过本章的大部分内容。
5.1.1. AOP 概念 首先，让我们定义一些 AOP 核心概念。这些术语并非 Spring 特有。遗憾的是，AOP 术语并不特别直观。不过，如果 Spring 使用自己的术语，那就更令人困惑了。
切面(Aspect)：模块化的关注点，否则其实现可能会跨越多个对象。在 J2EE 应用程序中，事务管理就是横切关注点的一个很好的例子。方面使用 Spring 作为顾问或拦截器来实现。 连接点(Joinpoint)：程序执行过程中的点，如方法调用或抛出的特定异常。在 Spring AOP 中，连接点总是方法调用。Spring 并未在显著位置使用连接点一词；连接点信息可通过传递给拦截器的 MethodInvocation 参数上的方法访问，并通过 org.springframework.aop.Pointcut 接口的实现进行评估。 通知(Advice)：AOP 框架在特定连接点采取的行动。不同类型的通知包括 &amp;ldquo;around&amp;rdquo;、&amp;ldquo;before&amp;rdquo;、&amp;ldquo;throws&amp;rdquo; 通知。下面将讨论通知类型。包括 Spring 在内的许多 AOP 框架都将通知建模为拦截器，并在连接点 &amp;ldquo;around&amp;quot;维护一连串拦截器。 切点(Pointcut)：一组连接点，指定何时应触发通知。AOP 框架必须允许开发人员指定切点：例如，使用正则表达式。 引介(Introduction)：为通知类添加方法或字段。Spring 允许你为任何通知对象引介新的接口。例如，你可以使用导言让任何对象实现 IsModified 接口，以简化缓存。 目标对象(Target object)：包含连接点的对象。也称为通知对象或代理对象。 AOP 代理(AOP proxy)：由 AOP 框架创建的对象，包括通知。在 Spring 中，AOP 代理将是 JDK 动态代理或 CGLIB 代理。 编织(Weaving)：组装各个方面以创建通知对象。这可以在编译时完成（例如使用 AspectJ 编译器），也可以在运行时完成。Spring 和其他纯 Java AOP 框架一样，在运行时执行编织。 不同的通知类型包括：</description>
    </item>
    <item>
      <title>Mysql调优理论篇</title>
      <link>https://blog.codingforjoy.com/posts/mysql%E8%B0%83%E4%BC%98%E7%90%86%E8%AE%BA%E7%AF%87/</link>
      <pubDate>Tue, 17 Aug 2021 19:59:25 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/mysql%E8%B0%83%E4%BC%98%E7%90%86%E8%AE%BA%E7%AF%87/</guid>
      <description>MySQL调优理论.</description>
    </item>
    <item>
      <title>浅入Class字节码</title>
      <link>https://blog.codingforjoy.com/posts/%E6%B5%85%E5%85%A5class%E5%AD%97%E8%8A%82%E7%A0%81/</link>
      <pubDate>Sun, 20 Jun 2021 20:59:25 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E6%B5%85%E5%85%A5class%E5%AD%97%E8%8A%82%E7%A0%81/</guid>
      <description>浅入Class字节码.</description>
    </item>
    <item>
      <title>多线程下发生OOM其他线程不会停止</title>
      <link>https://blog.codingforjoy.com/posts/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B8%8B%E5%8F%91%E7%94%9Foom%E5%85%B6%E4%BB%96%E7%BA%BF%E7%A8%8B%E4%B8%8D%E4%BC%9A%E5%81%9C%E6%AD%A2/</link>
      <pubDate>Mon, 14 Jun 2021 08:03:23 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B8%8B%E5%8F%91%E7%94%9Foom%E5%85%B6%E4%BB%96%E7%BA%BF%E7%A8%8B%E4%B8%8D%E4%BC%9A%E5%81%9C%E6%AD%A2/</guid>
      <description>多线程下发生OOM其他线程不会停止.</description>
    </item>
    <item>
      <title>Java Core</title>
      <link>https://blog.codingforjoy.com/posts/java-core/</link>
      <pubDate>Sun, 06 Jun 2021 17:59:25 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/java-core/</guid>
      <description>Java 核心编程.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.codingforjoy.com/posts/%E6%B5%81%E5%AA%92%E4%BD%93%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E7%B3%BB%E5%88%97rtp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.codingforjoy.com/posts/%E6%B5%81%E5%AA%92%E4%BD%93%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E7%B3%BB%E5%88%97rtp/</guid>
      <description>流媒体网络协议系列：RTP 概述 RFC3550
RTP协议 RTP-视频流 RTP-h264 RTP-音频流 RTP-AAC </description>
    </item>
  </channel>
</rss>
