<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IT路上的学步者]]></title><description><![CDATA[不积跬步,无以至千里。不积小流,无以成江海。]]></description><link>https://blog.youkuaiyun.com/Fly_TheWind</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Fly_TheWind]]></copyright><item><title><![CDATA[浅谈Synchronized]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/121191432</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/121191432</guid><author>Fly_TheWind</author><pubDate>Sun, 07 Nov 2021 22:45:45 +0800</pubDate><description><![CDATA[文章目录总览Synchronized 的作用Synchronized 的使用锁优化和同步原理锁粗化锁消除锁升级偏向锁轻量级锁重量级锁Monitor引用参考
总览
Java中锁机制可以分成以下几种：

Lock
Synchronized
Automatic （CAS）

今天就我目前总结的知识来简单的聊一聊Synchronized。私以为学习需要有一个全局的概览，才可以更好的进行理解和记忆。如图是我理解的在锁升级过程中的知识概览。

Synchronized 的作用

原子性：所谓原子性就是指一个操作或者多个]]></description><category></category></item><item><title><![CDATA[谈谈Volatile]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120932467</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120932467</guid><author>Fly_TheWind</author><pubDate>Sun, 24 Oct 2021 21:14:08 +0800</pubDate><description><![CDATA[文章目录Volatile 作用1. 可见性多核CPU结构存储器层级结构CPU的多级缓存缓存一致性协议MESI2. 禁止指令重排序Java 源码字节码JVM 内存屏障汇编
Volatile 作用

可见性
禁止指令重排序

1. 可见性
想要深入理解Volatile的作用，首先要理解计算机组成原理的一些知识：
多核CPU结构
存储器层级结构
L1: 寄存器
L2: 高速缓存
L3: 高速缓存
L4: 主存
L5: 磁盘
L6: 远程文件存储
CPU的多级缓存
计算机由于Cpu的运行速度远远大于数据IO的速度，]]></description><category></category></item><item><title><![CDATA[线程池能够持有最大线程数量真的是Integer.MAX_VALUE吗？]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120837224</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120837224</guid><author>Fly_TheWind</author><pubDate>Tue, 19 Oct 2021 00:38:16 +0800</pubDate><description><![CDATA[看到这个标题，大部分朋友都会说那还用说肯定是Integer.MAX_VALUE啊
不行，我都可以给你找出源码来：
    /**
     * Creates a thread pool that creates new threads as needed, but
     * will reuse previously constructed threads when they are
     * available.  These pools will typically improve the p]]></description><category></category></item><item><title><![CDATA[通过实例来理解 Java 中的四种引用类型]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120395974</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120395974</guid><author>Fly_TheWind</author><pubDate>Tue, 21 Sep 2021 17:44:22 +0800</pubDate><description><![CDATA[Java引用类型
文章目录Java引用类型强引用释义代码演示软引用释义代码演示用途其他问题弱引用释义实例虚引用释义代码示例VisualVM查看内存情况，显式清除虚引用前后内存占用情况
Java 中有强、软、弱、虚四种引用类型。强引用这个类并不存在，默认对象都是强引用类型，相比于WeakReference、SoftReference、PhantomReference的衬托，所以才起了一个叫Strong Reference的名字。其类图如下所示：

强引用
释义
如果JVM垃圾回收器 GC 可达性分析结果为可达]]></description><category></category></item><item><title><![CDATA[ThreadLocal 简介]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120397450</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120397450</guid><author>Fly_TheWind</author><pubDate>Tue, 21 Sep 2021 11:27:48 +0800</pubDate><description><![CDATA[文章目录ThreadLocal 是什么ThreadLocal 作用从ThreadLocal 源码看 Thread实现原理ThreadLocal 类set()源码get() 源码remove() 源码ThreadLocal 面试相关问题ThreadLocal 为什么要使用弱引用ThreadLocal 为什么可能出现的内存泄露怎么避免ThreadLocal
ThreadLocal 是什么
在百度百科上的注释是：

ThreadLocal是Thread的局部变量，用于编多线程程序，对解决多线程程序的并发问题有一定]]></description><category></category></item><item><title><![CDATA[真—Redis 数据类型解析]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120338383</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/120338383</guid><author>Fly_TheWind</author><pubDate>Thu, 16 Sep 2021 22:43:42 +0800</pubDate><description><![CDATA[文章目录前言基本类型的数据结构1. 字符串 Strings1.1 SDS 定义1.2 SDS 结构1.3 SDS与C字符串区别和优点1.3.1 常数级获取字符串长度1.3.2  杜绝缓冲区溢出1.3.3 减少修改字符串带来的内存分配次数1.3.4 二进制安全1.3.5 兼容部分C字符串的函数1.3.6 总结余下的会慢慢补充
前言
众所周知，Redis支持哪些数据类型是Redis最基础的问题，然而在搜索到的绝大部分的博客只会告诉你：
键的类型只能为字符串，值有以下五种基本类型：字符串、列表、集合、散列表、有序]]></description><category></category></item><item><title><![CDATA[使用Springboot 自定义注解完成 统计函数耗时功能]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/114553987</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/114553987</guid><author>Fly_TheWind</author><pubDate>Mon, 08 Mar 2021 23:25:13 +0800</pubDate><description><![CDATA[使用Springboot 自定义注解完成 统计函数耗时功能
pom 导入依赖
建立springboot项目，在pom中导入依赖
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-aop&lt;/artifactId&gt;
&lt;/dependency&gt;

自定义注解 costTime
package  com]]></description><category></category></item><item><title><![CDATA[初学SpringBoot，在使用Mybatis+Springboot工程搭建DEMO时遇到的两个问题]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/107699060</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/107699060</guid><author>Fly_TheWind</author><pubDate>Fri, 31 Jul 2020 08:48:02 +0800</pubDate><description><![CDATA[问题1：各种bean无法正常加载
报错信息:
Error creating bean with name "userController": Unstaisfied dendency expressed field 'userService'; nest …… ; 文档根元素“mapper”必须匹配 DOCTYPE 根  “null”。

原因是在Mybatis建立对应UserMapper对应的User.xml时，第二行缺少了一个xml描述信息。
&lt;!DOCTYPE&gt; mapper PUBBLI]]></description><category></category></item><item><title><![CDATA[Word中伪代码编写]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/104504702</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/104504702</guid><author>Fly_TheWind</author><pubDate>Tue, 25 Feb 2020 20:35:03 +0800</pubDate><description><![CDATA[伪代码的写法
伪代码规范
Latex写算法的伪代码排版

]]></description><category></category></item><item><title><![CDATA[BeautifulSoup如何根据Style中是属性选择元素]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/103483791</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/103483791</guid><author>Fly_TheWind</author><pubDate>Tue, 10 Dec 2019 22:06:49 +0800</pubDate><description><![CDATA[如题，我为了提取文中红色的文字标记，必须要使用CSS选择器选中对应的标签。但是对应的Span标签中并没有标签可以使用，
使用
soup.select("span[style='color:rgb(255,0,0);']")
或者
soup.select("span[style='color:red;']")

并没有办法选中对应的spanspanspan标签

我使用百度查询了几乎大半个晚上，也...]]></description><category></category></item><item><title><![CDATA[2019秋招总结]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101556089</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101556089</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:32:32 +0800</pubDate><description><![CDATA[文章目录1. 前言2 正题[素质测评 图形题技巧](https://blog.youkuaiyun.com/Fly_TheWind/article/details/101556831)JavaJVM数据结构设计模式SpringBoot框架多线程网络编程操作系统[Linux 基本命令](https://blog.youkuaiyun.com/Fly_TheWind/article/details/101561379)计算机...]]></description><category></category></item><item><title><![CDATA[面试复习 之 数据库]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562730</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562730</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:31:00 +0800</pubDate><description><![CDATA[MyISAM和 INnoDB区别

事务
主键
外键
锁
count(*)

主从复制 
https://blog.youkuaiyun.com/qq_21153619/article/details/81529880
什么是哈希索引 //  Mysql 自适应hash
Mysql 什么时候用MyisAM和innnoDB
https://blog.youkuaiyun.com/qq_36071795/article/de...]]></description><category></category></item><item><title><![CDATA[面试复习 之 计算机网络]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562506</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562506</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:29:03 +0800</pubDate><description><![CDATA[IP协议
UDP和TCP区别
TCP 三次握手 和四次挥手
SYN flood 攻击 ，连接攻击
TCP RTCP
OSI七层模型和TCP/IP四层模型
HTTP协议 （1.1 2.0 进步 区别）报文格式

]]></description><category></category></item><item><title><![CDATA[面试复习之 Tomcat]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562465</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562465</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:23:16 +0800</pubDate><description><![CDATA[Nginx 反向代理
https://blog.youkuaiyun.com/qq_42030417/article/details/83185809
tomcat 常见面试题
https://blog.youkuaiyun.com/qq_25934401/article/details/81536958
在tomcat 中常见的三个端口 8080 8005 8009
https://blog.youkuaiyun.com/eatg...]]></description><category></category></item><item><title><![CDATA[面试复习 之 git]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562083</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101562083</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:17:29 +0800</pubDate><description><![CDATA[Git 基本命令看一遍
GIt Rebase  和 merge 区别 （https://www.jianshu.com/p/4079284dd970）
面试题
https://juejin.im/post/59ecb3976fb9a0452724bde0
https://www.cnblogs.com/darknebula/p/8732995.html
git reset 以指针的形式，将代码改回...]]></description><category></category></item><item><title><![CDATA[面试复习 之 操作系统（Linux 基本命令）]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101561379</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101561379</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 21:15:43 +0800</pubDate><description><![CDATA[Linux 查看端口 netstat
Linux 关机

sync
shutdown
reboot
halt

关机的命令有** shutdown –h now halt poweroff 和 init 0** , 重启系统的命令有 shutdown –r now reboot init 6。
如何查看linux 可用内存空间
free
top
// 区别于df df用于查询磁盘空间
// ps ...]]></description><category></category></item><item><title><![CDATA[面试复习 之 网络编程和网络协议]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101560537</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101560537</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 20:53:44 +0800</pubDate><description><![CDATA[常见试题
https://zhuanlan.zhihu.com/p/24001696
https://www.cnblogs.com/roverliang/p/5176456.html
Http协议 状态


ARP

ARP/RARP
ARP (Address Resolution Protocol) 地址解析协议
RARP (Reverse Address Resolution Protoco...]]></description><category></category></item><item><title><![CDATA[面试复习 之 多线程]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101559590</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101559590</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 20:50:25 +0800</pubDate><description><![CDATA[ThreadLocal
https://www.cnblogs.com/ldq2016/p/9041856.html
信号量
公平锁和非公平锁
Callable 、 Future 和 Future Task
https://www.cnblogs.com/dolphin0520/p/3949310.html
线程池
中断机制
Servlet 是否是线程安全
什么叫线程安全？
“当多个线程访问某个类...]]></description><category></category></item><item><title><![CDATA[面试复习 之 JDK1.6 锁优化]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101560233</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101560233</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 20:48:21 +0800</pubDate><description><![CDATA[AbstractQueuedSynchronizer
#synchronized关键字实现同步的原理
监视器monitor
字节码：

monitorenter
monitorexit

https://blog.youkuaiyun.com/hqq2023623/article/details/51000153
JDK1.6 锁优化
https://juejin.im/post/5c3ac5386fb9a0...]]></description><category></category></item><item><title><![CDATA[面试复习 多线程 之 synchronized 和 ReentrantLock]]></title><link>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101559923</link><guid>https://blog.youkuaiyun.com/Fly_TheWind/article/details/101559923</guid><author>Fly_TheWind</author><pubDate>Fri, 27 Sep 2019 20:44:18 +0800</pubDate><description><![CDATA[synchronized 和 ReentrantLock，问怎么实现的

https://www.jianshu.com/p/54e90999ee47

相似点
这两种同步方式有很多相似之处，它们都是加锁方式同步，而且都是阻塞式的同步，也就是说当如果一个线程获得了对象锁，进入了同步块，其他访问该同步块的线程都必须阻塞在同步块外面等待，而进行线程阻塞和唤醒的代价是比较高的（操作系统需要在用户态与内核...]]></description><category></category></item></channel></rss>