<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yangxiaofei_java的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yangxiaofei_java</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yangxiaofei_java]]></copyright><item><title><![CDATA[特权级那些事儿-实模式下分段机制首次出现的原因]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129406179</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129406179</guid><author>yangxiaofei_java</author><pubDate>Wed, 08 Mar 2023 19:48:56 +0800</pubDate><description><![CDATA[操作系统的特权级模块在整个操作系统的学习中应该算的上是最难啃的了，提到特权级就要绕不开保护模式下的分段机制；如果想要彻底弄明白就要对比实模式下的分段机制有什么缺陷。这就衍生出很多问题如：什么是实模式？采用分段机制进行寻址的意义？什么是保护模式？为什么要设计保护模式？如果只是针对性的单独回答某个问题一直在罗列八股文要点，只讲“是什么”而忽略“为什么”，初学者看完之后会感觉始终没学透彻，更适合与有基础的人复习。任何事物发展到今天，都有段“合理”的过程，了解这个过程是怎么来的，有助于理解它今天的形态。]]></description><category></category></item><item><title><![CDATA[CPU扫盲-CPU如何执行指令以及流水线技术]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129325908</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129325908</guid><author>yangxiaofei_java</author><pubDate>Fri, 03 Mar 2023 19:27:06 +0800</pubDate><description><![CDATA[计算机基本硬件由控制器、储存器、运算器、输入设备、输出设备五大部件组成，其中运算器、控制器、部分储存器被集成在一起统称为中央处理单元。CPU在电路设计上实现了多个独立电路，支持每个步骤独立执行，CPU 可以一边执行指令，一边取指令，一边译码。虽然CPU在同一时刻只能执行一条指令，由于cs:ip的值在取码完成后就会被更新为下一条指令的地址，所以在执行这条指令的同时可以去翻译下一条指令，同时去获取下下条指令。这样的流水线模式大大提升CPU的执行效率。]]></description><category></category></item><item><title><![CDATA[CPU扫盲-自创指令集难吗?]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129198302</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129198302</guid><author>yangxiaofei_java</author><pubDate>Fri, 24 Feb 2023 13:14:17 +0800</pubDate><description><![CDATA[这篇文章则是针对指令集的专场，指令集顾名思义就是一套指令的集合。创造指令集并不难，难的是如何将指令集推广，那这篇文章我们就从创作者的角度去理解它，我们尝试创造一个只包含几个指令的指令集。当然这篇文章的目的不是摒弃全部现有指令集概念完全闭门造车，而是站在现有指令集概念的肩膀上从创造者的角度去更深入的理解它。]]></description><category></category></item><item><title><![CDATA[CPU扫盲-CPU与指令集]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129101269</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/129101269</guid><author>yangxiaofei_java</author><pubDate>Sat, 18 Feb 2023 16:12:52 +0800</pubDate><description><![CDATA[很多非开发的同学指令集名称与CPU名称分不清。这是因为一种 CPU 只能识别一种指令集，所以很多情况下 CPU 都以其支持的指令集名称来称呼，比如当我们要下载软件时通常关注的就是指令集的名称x86、ARM等，但是我们在买电脑时厂商备注的却是酷睿12代、龙芯3C5000、飞腾2000等，所以导致有的同学会把龙芯、飞腾、酷睿与x86、ARM搞混。这里的龙芯、飞腾、酷睿指的是CPU的名称，名字可以有CPU的厂商来取。而x86、ARM则是指令集的名称，基本都是由国外最早的几家处理器厂商创造并命名的]]></description><category></category></item><item><title><![CDATA[IPv6-ICMPv6协议]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125837276</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125837276</guid><author>yangxiaofei_java</author><pubDate>Sun, 17 Jul 2022 21:27:42 +0800</pubDate><description><![CDATA[ICMPv6是IPv6的基础协议，也是最重要的协议。ICMPv6有多种消息类型，IPv6中的很多功能都是利用ICMPv6中的一种或多种消息类型组合完成的。ICMPv6在IPv6中的协议号为58，该协议号在IPv6报头的“nextheader”字段中。ICMP报文有两种差错消息及信息消息​PMTU就是路径上的最小接口MTU。PMTUD的主要目的是发现路径上的MTU，当数据包被从源转发到目的地的过程中避免分段。​无状态配置，和节点启动时的一个NDP机制。......]]></description><category></category></item><item><title><![CDATA[IPv6-基础]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125837098</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125837098</guid><author>yangxiaofei_java</author><pubDate>Sun, 17 Jul 2022 21:20:24 +0800</pubDate><description><![CDATA[128bits的地址方案，解决了ipv4地址池耗尽的问题，为为了数10年提供了巨大的ip地址空间无需NAT技术了，有助于在公网上也能实现IP实名制不在有广播、不再有ARP，降低广播造成的网络资源消耗自动配置过程允许ipv6网络中的节点更加便捷接入ipv6局域网重新编址机制使得ipv6提供商之间的转换对最终用户是平滑的、无感的v4v6过渡方式丰富。............]]></description><category></category></item><item><title><![CDATA[JVM角度看方法调用-MethodHandle篇]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125136493</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/125136493</guid><author>yangxiaofei_java</author><pubDate>Sun, 05 Jun 2022 20:53:24 +0800</pubDate><description><![CDATA[JVM角度看方法调用系列文章：1.JVM角度看方法调用-开篇2.JVM角度看方法调用-反射篇3.JVM角度看方法调用-MethodHandle篇4.JVM角度看方法调用-性能压测篇（码字…）5.JVM角度看方法调用-Lambda篇（码字…）​	在我们平时开发中常用的方法调用有三种：直接调用、反射调用、MethodHandle调用，这一系列文章就围绕着三种调用方式进行原理剖析和性能分析，本文JDK的版本是1.8。在上篇文章中我们最后总结由于反射调用的种种缺陷严重影响性能，所以当我们热点代码需要用到反射调用时不]]></description><category></category></item><item><title><![CDATA[JVM角度看方法调用-反射篇]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124976129</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124976129</guid><author>yangxiaofei_java</author><pubDate>Thu, 26 May 2022 07:00:00 +0800</pubDate><description><![CDATA[文章目录一、反射调用的原理1.1获取MethodAccessor1.2 native版本MethodAccessor的实现1.3 java版本的MethodAccessor的实现二、反射调用优2.1、为什么反射调用性能低2.2、反射调用性能测试和优化(一)、直接调用(二)、反射调用(三)、反射调用优化版本1(四)、反射调用优化版本2(五)、反射调用优化版本3(六)、MethodHandle的黑魔法(七)、java版本超多态虚方法无法内联问题(八)、总结

JVM角度看方法调用系列文章：
1.JVM角度看方法]]></description><category></category></item><item><title><![CDATA[JVM角度看方法调用-开篇]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124846419</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124846419</guid><author>yangxiaofei_java</author><pubDate>Wed, 18 May 2022 17:18:34 +0800</pubDate><description><![CDATA[文章目录一、虚方法和非虚方法1.1、Interpreter下执行比较1.2、JIT下比较1.2.1、内联缓存1.2.2、去虚化和方法内联1）非虚方法内联2）完全去虚化内联3）”陷阱“导致去优化4）条件去虚化内联二、Interpreter、JIT、AOT 分析三、JVM中可以内联和不能内联的场景

JVM角度看方法调用系列文章：
1.JVM角度看方法调用-开篇

2.JVM角度看方法调用-反射篇 （码字...）

3.JVM角度看方法调用-MethodHandle篇（码字...）

4.JVM角度看方法调用-]]></description><category></category></item><item><title><![CDATA[@Async错误使用导致Spring循环依赖报错]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124179088</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124179088</guid><author>yangxiaofei_java</author><pubDate>Sun, 17 Apr 2022 00:17:37 +0800</pubDate><description><![CDATA[注：首先如果程序中出现了循环依赖本身就是程序设计存在问题，尽量在设计上避免出现循环依赖。在springboot框架中已经默认不支持循环依赖的存在了，除非设置spring.main.allow-circular-references=true
问题概述
This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - ]]></description><category></category></item><item><title><![CDATA[服务第一次访问卡顿]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124082884</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/124082884</guid><author>yangxiaofei_java</author><pubDate>Sun, 10 Apr 2022 22:45:57 +0800</pubDate><description><![CDATA[一、问题分析
前段时间有同事和我说我们自测环境新增了几个小服务第一此访问的时候总是卡卡的，后面就好了，想让我排查一下。心里想了几种可能

Apache代理服务器与后台服务器首次握手慢，后续请求复用长链接无卡顿现象。我们自测环境前端服务器用的是apache，配置了反向代理到后端小服务。如果客户端请求超过了代理服务器设置的最大链接数，当前请求时不会被转发到后台服务器的。
一个服务第一次被调用时会触发很多类的加载和初始化，但这个往往是第一次访问卡，后续访问就不卡了。因为类的卸载是比较苛刻的所以大多数类加载到jvm]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（五）框架整合 之 SpringBoot整合JPA剖析]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123099960</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123099960</guid><author>yangxiaofei_java</author><pubDate>Wed, 23 Feb 2022 21:40:11 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建（包括spring的事务机制）
]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（六）@PersistenceContext和@Autowired注入EntityManager的区别]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123056642</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123056642</guid><author>yangxiaofei_java</author><pubDate>Mon, 21 Feb 2022 22:08:50 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建（包括spring的事务机制）
]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建（包括spring的事务机制）]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123056143</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123056143</guid><author>yangxiaofei_java</author><pubDate>Mon, 21 Feb 2022 21:35:48 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建（包括spring的事务机制）
]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123055663</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123055663</guid><author>yangxiaofei_java</author><pubDate>Mon, 21 Feb 2022 21:10:36 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建
SpringDataJPA+H]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123055247</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123055247</guid><author>yangxiaofei_java</author><pubDate>Mon, 21 Feb 2022 20:45:53 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建
SpringDataJPA+H]]></description><category></category></item><item><title><![CDATA[SpringDataJPA+Hibernate框架源码剖析（一）框架介绍]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123054835</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/123054835</guid><author>yangxiaofei_java</author><pubDate>Mon, 21 Feb 2022 20:26:34 +0800</pubDate><description><![CDATA[SpringDataJPA+Hibernate框架源码剖析系列文章：

SpringDataJPA+Hibernate框架源码剖析（一）框架介绍
SpringDataJPA+Hibernate框架源码剖析（二）框架整合 之 EntityManagerFactory的构建
SpringDataJPA+Hibernate框架源码剖析（三）框架整合 之 Repository接口实现的生成
SpringDataJPA+Hibernate框架源码剖析（四）框架整合 之 事务管理器的构建
SpringDataJPA+H]]></description><category></category></item><item><title><![CDATA[从网线到IO模型（网络基础整合）]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/122945182</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/122945182</guid><author>yangxiaofei_java</author><pubDate>Tue, 15 Feb 2022 15:29:25 +0800</pubDate><description><![CDATA[文章目录网络基础1.什么是协议，常见协议2.网络应用设计模式 BS/CS优缺点什么是C/S模式什么是B/S模式优缺点3.分层模型（物数网传会表应）4.以太网帧协议（为什么需要+报文分析+演示）1)为什么需要以太网帧协议？2)ARP协议的作用？3)RARP协议作用6.IP协议（为什么需要+报文分析+演示）1)为什么需要IP协议？2)IP协议怎么区分广播域？3)IP协议段分析4)路由表，路由规则1. TCP/IP使用需要通信的目的IP地址和路由表中每一个路由项的网络掩码进行相与计算，如果相与后的结果匹配对应路由]]></description><category></category></item><item><title><![CDATA[JVM的Reference机制]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/122406005</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/122406005</guid><author>yangxiaofei_java</author><pubDate>Mon, 10 Jan 2022 11:04:42 +0800</pubDate><description><![CDATA[1.finalizer生产大于消费导致内存溢出测试
User重写了finalize方法的类在创建User对象的同时会创建一个Finalizer对象并加入到Finalizer中以unfinalized为头节点的链表中，当触发GC时如果垃圾收集器判断User对象没有与GCRoot的强引用时则会将Finalizer放到Reference.pending属性上，由线程ReferenceHandler负责处理将Finalizer添加到Finalizer.queue中，然后由线程FinalizerThread负责处理，]]></description><category></category></item><item><title><![CDATA[进程地址空间和虚拟内存]]></title><link>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/120170397</link><guid>https://blog.youkuaiyun.com/yangxiaofei_java/article/details/120170397</guid><author>yangxiaofei_java</author><pubDate>Sat, 11 Sep 2021 03:29:06 +0800</pubDate><description><![CDATA[一下内容基于80x86的linux虚拟机：
虚拟内存优点
虚拟内存作为一种逻辑层，处于应用程序的内存请求与硬件内存管理单元（MMU）之间，虚拟内存的优点有：

应用程序所需内存大于可用物理内存时也可以运行
当物理内存不足是，虚拟内存也可以映射磁盘空间，但是对程序来说还以为自己在使用内存。
程序只有部分代码装入内存时进程也可以执行
当物理内存不足时可以将部分需要执行的代码放入物理内存，暂时不需要执行的代码放入磁盘。
程序员可以编写与机器无关的代码，不用关心物理内存的组织结构
当程序需要申请一块连续内存空间时，]]></description><category></category></item></channel></rss>