<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lw_yang的博客]]></title><description><![CDATA[喜欢学习，努力工作，也享受生活，崇尚简单的快乐和幸福 ，为理想而奋斗。]]></description><link>https://blog.youkuaiyun.com/Sophisticated_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Sophisticated_]]></copyright><item><title><![CDATA[ThreadPool 源码解析]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/125692253</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/125692253</guid><author>Sophisticated_</author><pubDate>Sat, 09 Jul 2022 13:45:29 +0800</pubDate><description><![CDATA[在工作中我们经常会用到线程池，那你知道线程池底层是怎么运作的吗？]]></description><category></category></item><item><title><![CDATA[Web API设计]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/103937175</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/103937175</guid><author>Sophisticated_</author><pubDate>Sat, 11 Jan 2020 16:40:33 +0800</pubDate><description><![CDATA[什么是Web API
使用HTTP协议通过网络调用的API，是软件组织的外部接口。通过访问URI可以与服务器完成信息交互，获取存放在服务器的数据信息
WEB API的重要性不断提升，开发人员需要设计Web API的机会也越来越多，例如：

将已发布的Web在线服务数据功能通过API公开
构建现代Web应用
开发智能手机应用
开发社交游戏
公司内部多个系统的集成

那么Web API如此重要，如何设...]]></description><category></category></item><item><title><![CDATA[Spring Aop之Target Source详解]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/103220421</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/103220421</guid><author>Sophisticated_</author><pubDate>Sat, 23 Nov 2019 23:58:35 +0800</pubDate><description><![CDATA[在Spring代理目标bean的时候，其并不是直接创建一个目标bean的对象实例的，而是通过一个TargetSource类型的对象将目标bean进行封装，Spring Aop获取目标对象始终是通过TargetSource.getTarget()方法进行的。本文首先会讲解Spring Aop是如何封装目标对象到TargetSource中的，然后会讲解TargetSource各个方法的使用原理，接着会...]]></description><category></category></item><item><title><![CDATA[解决/home/travis/.travis/functions: ./mvnw: Permission denied]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/103008313</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/103008313</guid><author>Sophisticated_</author><pubDate>Mon, 11 Nov 2019 13:00:00 +0800</pubDate><description><![CDATA[报错/home/travis/.travis/functions: line 320: ./mvnw: Permission denied
The command "eval ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V " failed. Retrying, 2 of 3.
$ java -Xmx32m -vers...]]></description><category></category></item><item><title><![CDATA[使用@Async异步注解导致该Bean在循环依赖时启动报BeanCurrentlyInCreationException异常的根本原因分析]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102896147</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102896147</guid><author>Sophisticated_</author><pubDate>Mon, 04 Nov 2019 14:41:20 +0800</pubDate><description><![CDATA[每篇一句

面试造飞机，工作拧螺丝。工作中你只需要知道那些调用命令怎么使用就行，但背后的逻辑你有必要去了解

前言
今天在自己工程中使用@Async的时候，碰到了一个问题：Spring循环依赖（circular reference）问题。
或许刚说到这，有的小伙伴就会大惊失色了。Spring不是解决了循环依赖问题吗，它是支持循环依赖的呀？怎么会呢？
不可否认，在这之前我也是这么坚信的，而且每次使...]]></description><category></category></item><item><title><![CDATA[@Async分析exposeProxy=true不生效原因]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102793703</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102793703</guid><author>Sophisticated_</author><pubDate>Tue, 29 Oct 2019 10:01:32 +0800</pubDate><description><![CDATA[每篇一句

技术的发展总会实在掌声中，伴随着嘘声中前进。因此，需要有一颗拥抱变革的心态~

前言
本文标题包含有'靓丽'的字眼：Spring框架bug。相信有的小伙伴心里小九九就会说了：又是一篇标题党文章。
鉴于此，此处可以很负责任的对大伙说：本人所有文章绝不哗众取宠，除了干货只剩干货。

相信关注过我的小伙伴都是知道的，我只递送干货，绝不标题党来浪费大家的时间和精力~那无异于谋财害命(说得严重...]]></description><category></category></item><item><title><![CDATA[服务器监控命令]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102788731</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102788731</guid><author>Sophisticated_</author><pubDate>Mon, 28 Oct 2019 22:12:36 +0800</pubDate><description><![CDATA[实时监控
top
能够实时监控系统运行状态，并且可以按照CPU及内存进行排序
top -h
  procps-ng version 3.3.10
Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
  


top状态下按M按内存使用率排序，按P按CPU使用率排序，按1可以显示每个CPU...]]></description><category></category></item><item><title><![CDATA[MySQl优化]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102759212</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102759212</guid><author>Sophisticated_</author><pubDate>Sat, 26 Oct 2019 17:49:10 +0800</pubDate><description><![CDATA[策略1.尽量全值匹配
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July';
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25;
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25 AND pos = 'dev...]]></description><category></category></item><item><title><![CDATA[MySQL索引和执行计划]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758886</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758886</guid><author>Sophisticated_</author><pubDate>Sat, 26 Oct 2019 17:36:56 +0800</pubDate><description><![CDATA[索引
索引（Index）是帮助MySQL高效获取数据的数据结构。可以得到索引的本质：索引是数据结构

右侧是数据表，一共有两列七条记录，最左边的是数据记录的物理地址
索引分类

普通索引：即一个索引只包含单个列，一个表可以有多个单列索引
唯一索引：索引列的值必须唯一，但允许有空值
复合索引：即一个索引包含多个列
聚簇索引(聚集索引)：并不是一种单独的索引类型，而是一种数据存储方式。具体细节取决于不...]]></description><category></category></item><item><title><![CDATA[MySQL慢查询]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758761</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758761</guid><author>Sophisticated_</author><pubDate>Sat, 26 Oct 2019 17:10:30 +0800</pubDate><description><![CDATA[慢查询
慢查询日志，顾名思义，就是查询慢的日志，是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下，慢查询日志是关闭的，要使用慢查询日志功能，首先要开启慢查询日志功能。

【常用配置】

slow_query_log 启动停止技术慢查询日志
slow_query_log_file 指定慢查询日志得存...]]></description><category></category></item><item><title><![CDATA[MySQL存储引擎]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758448</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758448</guid><author>Sophisticated_</author><pubDate>Sat, 26 Oct 2019 16:56:35 +0800</pubDate><description><![CDATA[查看MySQL已提供的存储引擎
mysql&gt; show engines;

查看MySQL当前默认存储引擎
mysql&gt; show variables like '%storge_engine%';

MyISAM
MySQL5.5之前的默认存储引擎
【特性】：

并发性与锁级别-表级锁
支持全文检索
支持数据压缩

【使用场景】：

非事务性应用（数据仓库、报表、日志数据）
只读类应...]]></description><category></category></item><item><title><![CDATA[MySQL逻辑架构]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758199</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102758199</guid><author>Sophisticated_</author><pubDate>Sat, 26 Oct 2019 16:40:13 +0800</pubDate><description><![CDATA[连接层

Mysql启动，等待客户端连接，每一个客户端连接请求，服务器都会新建一个线程处理（若是线程池，则分配一个空的线程），每个线程独立，拥有各自的内存处理空间，显然，若两个线程修改同一块内存是会引发数据同步问题
SQL处理层

连接到服务器，服务器对其进行验证（用户名，IP，密码），连接成功还要验证是否具有执行某个特定查询的权限

这一层的主要功能有SQL语句解析、优化、缓存查询、MySQL...]]></description><category></category></item><item><title><![CDATA[Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102680943</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102680943</guid><author>Sophisticated_</author><pubDate>Tue, 22 Oct 2019 14:11:18 +0800</pubDate><description><![CDATA[很多网站，尤其是国外网站，为了加快网站的速度，都是用了 Google 的 CDN。 但是在天朝，由于某些原因，导致全球最快的 CDN 变成了全球最慢的，这时需要一个插件将 Google 的 CDN 替换成国内的

插件下载地址：Replace Google CDN

若没有积分可评论联系我，传给你即可


...]]></description><category></category></item><item><title><![CDATA[Spring解密之RequestBodyAdvice、ResponseBodyAdvice、HttpMessageConverter]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102614321</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102614321</guid><author>Sophisticated_</author><pubDate>Fri, 18 Oct 2019 17:20:41 +0800</pubDate><description><![CDATA[Author： lwyang
SpringBoot：2.1.9.RELEASE

概述
RequestBodyAdvice
Allows customizing the request before its body is read and converted into an Object and also allows for processing of the resulting Objec...]]></description><category></category></item><item><title><![CDATA[Spring解密之HandlerInterceptor、HandlerMethodArgumentResolver、ResponseBodyAdvice执行顺序]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/102587157</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/102587157</guid><author>Sophisticated_</author><pubDate>Thu, 17 Oct 2019 19:21:04 +0800</pubDate><description><![CDATA[概述
HandlerInterceptor用于拦截请求进行预处理和后处理，一般用于一下场景：


日志记录，可以记录请求信息的日志，以便进行信息监控、信息统计、计算PV（Page View）等等。


权限检查：如登陆检测，进入处理器检测是否登陆，如果没有直接返回到登陆页面。


性能监控：有时候系统在某段时间莫名其妙的慢，可以通过拦截器在进入处理器之前记录开始时间，在处理完后记录结束时间，从而得...]]></description><category></category></item><item><title><![CDATA[利用socket raw抓包]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/83184729</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/83184729</guid><author>Sophisticated_</author><pubDate>Sun, 29 Sep 2019 09:06:53 +0800</pubDate><description><![CDATA[RAW SOCKET能够对较低层次的协议直接访问，网络监听技术很大程度上依赖于它。该文介绍了利用RAW SOCKET捕获网络底层数据包的步骤和方法
【原理】网卡对数据帧进行硬过滤（根据网卡的模式不同采取不同的操作，如果设置了混杂模式，则不做任何过滤直接交给下一层，否则非本机mac或者广播mac的会被直接丢弃）。在进入ip层之前，系统会检查系统中是否有通过socket(AP_PACKET,SOCK_...]]></description><category></category></item><item><title><![CDATA[利用libpcap抓包（一）----------libpcap基本使用]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/83338772</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/83338772</guid><author>Sophisticated_</author><pubDate>Sun, 29 Sep 2019 09:06:47 +0800</pubDate><description><![CDATA[libpcap安装
先安装flex，bison
yum -y install flex
yum -y install bison

下载libpcap源码并解压，再输入如下命令
./configure
make
make install

libpcap常用函数
int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf);

查找所有可用的网络...]]></description><category></category></item><item><title><![CDATA[利用libpcap抓包（二）----------网络数据包头结构定义]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339048</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339048</guid><author>Sophisticated_</author><pubDate>Sun, 29 Sep 2019 09:06:40 +0800</pubDate><description><![CDATA[这里在head.h的头文件中定义了以太网，IP, PPPOE, ARP, TCP, UDP 等数据包头部的结构体，以便于对数据包进行解析，其实在库中有已经定义好的各个数据包头部，像ethhdr，iphdr，tcphdr等，这里自己写一遍可以加深对网络数据包的理解。
/******************************************************************...]]></description><category></category></item><item><title><![CDATA[利用libpcap抓包（三）----------数据包解析函数的实现]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339483</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339483</guid><author>Sophisticated_</author><pubDate>Sun, 29 Sep 2019 09:06:34 +0800</pubDate><description><![CDATA[下面是对抓取到的数据包进行解析，分2层以太网的解析，3层ip，icmp的解析，4层tcp，udp的解析
/******************************************************************************
  文 件 名   : callback.c
  版 本 号   : V1.1
  负 责 人   : Sophisticated
  ...]]></description><category></category></item><item><title><![CDATA[利用libpcap抓包（四）----------抓包主函数的实现]]></title><link>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339797</link><guid>https://blog.youkuaiyun.com/Sophisticated_/article/details/83339797</guid><author>Sophisticated_</author><pubDate>Sun, 29 Sep 2019 09:06:27 +0800</pubDate><description><![CDATA[main函数的实现，调用libpca提供的库函数，抓取数据包，然后交给回调函数进行对数据包的解析
/******************************************************************************
  文 件 名   : packetAnalyze.c
  版 本 号   : V1.1
  负 责 人   : Sophisticated
...]]></description><category></category></item></channel></rss>