<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cold的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Myucc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Myucc]]></copyright><item><title><![CDATA[Redis知识点整理]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/136635715</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/136635715</guid><author>Myucc</author><pubDate>Thu, 04 Apr 2024 00:50:36 +0800</pubDate><description><![CDATA[3、 如果此时客户端准备好接收返回结果了，那么 Redis 中的 Socket01 会产生一个AE_WRITABLE 事件，同样压入队列中，事件分派器找到相关联的命令回复处理器，由命令回复处理器对 Socket01 输入本次操作的一个结果，比如 ok ，之后解除 Socket01 的AE_WRITABLE 事件与命令回复处理器的关联。在 Redis 中，Lua 脚本得到了广泛的应用，可以通过执行 Lua 脚本来实现一些复杂的操作，例如原子性地执行多个命令、实现复杂的数据操作逻辑等。]]></description><category></category></item><item><title><![CDATA[JVM基础知识整理]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/134656760</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/134656760</guid><author>Myucc</author><pubDate>Tue, 20 Feb 2024 22:44:25 +0800</pubDate><description><![CDATA[继承ClassLoader，重写其findClass方法。通过name构造文件绝对路径读取文件。创建文件字节输入流。创建字节数组输出流。读取输入流，将数据写入到输出流。将字节数组输出流装换成二进制字节数组。调用ClassLoader的defineClass()方法用字节数组构造clazz对象。@Override// 这里通过入参 name 构造出文件的绝对路径来获取file。try {// 创建文件字节输入流// 创建字节数组输出流int b;= 0) {]]></description><category></category></item><item><title><![CDATA[LinkedHashMap源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/136082054</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/136082054</guid><author>Myucc</author><pubDate>Thu, 08 Feb 2024 23:36:40 +0800</pubDate><description><![CDATA[LinkedHashMap是基于HashMap衍生出来的一种数据结构，它通过额外维护一个双向链表来实现记录访问顺序或者插入顺序。既然LinkedHashMap是继承自HashMap，那么很多底层和HashMap一致，这里我们只了解LinkedHashMap独有的特性。]]></description><category></category></item><item><title><![CDATA[HashMap源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135610863</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135610863</guid><author>Myucc</author><pubDate>Mon, 29 Jan 2024 18:20:23 +0800</pubDate><description><![CDATA[HashMap插入元素的方法比较复杂，其中涉及到 扩容/初始化、树化、LRC算法以及大量的if-else判断。这个node对象为HashMap的结点，它有四个属性：hash、key、value、next。keySet()用于获取所有的key，values()用于获取所有的value。这里只在代码中做一些逻辑上的简单注释。为了方便，在代码中通过注释解释。]]></description><category></category></item><item><title><![CDATA[ReentrantLock源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135684368</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135684368</guid><author>Myucc</author><pubDate>Tue, 23 Jan 2024 23:23:34 +0800</pubDate><description><![CDATA[抽象方法，用于子类继承，在公平锁和非公平锁种会分别做具体的实现。]]></description><category></category></item><item><title><![CDATA[AbstractQueuedSynchronizer源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135721452</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135721452</guid><author>Myucc</author><pubDate>Sat, 20 Jan 2024 23:02:50 +0800</pubDate><description><![CDATA[AbstractQueuedSynchronizer从名字可以看到三个信息：抽象的、同步的队列。它提供了同步状态、阻塞与唤醒线程以及先进先出队列的基础框架。JDK中许多并发工具类的实现都基于AQS，如ReentrantLock。]]></description><category></category></item><item><title><![CDATA[LinkedList源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135609944</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135609944</guid><author>Myucc</author><pubDate>Mon, 15 Jan 2024 20:53:03 +0800</pubDate><description><![CDATA[基础源码比较简单，建议手写一遍。]]></description><category></category></item><item><title><![CDATA[源码解析链接]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135608837</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135608837</guid><author>Myucc</author><pubDate>Mon, 15 Jan 2024 20:09:27 +0800</pubDate><description><![CDATA[源码链接
1、ArrayList
2、LinkedList
3、HashMap
4、TreeMap
5、HashSet
6、LinkedHashMap
7、ConcurrentHashMap
8、AbstractQueuedSynchronizer
9、ReentrantLock
10、ReentrantReadWriteLock

]]></description><category></category></item><item><title><![CDATA[ArrayList源码解析]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/135608991</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/135608991</guid><author>Myucc</author><pubDate>Mon, 15 Jan 2024 20:08:00 +0800</pubDate><description><![CDATA[ArrayList是一个基于数组来实现动态扩容的集合，具有良好的查询性能。]]></description><category></category></item><item><title><![CDATA[java基础之多线程篇]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/130276758</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/130276758</guid><author>Myucc</author><pubDate>Thu, 20 Apr 2023 21:55:51 +0800</pubDate><description><![CDATA[Lock锁是API级别的，提供了相应的接口和对应的实现类。这种方式实现锁会更加的灵活（区别于synchronized锁是JVM级别的）。synchronized锁是Java中的关键字，依靠JVM来进行识别，是虚拟机级别的（区别于Lock锁，Lock锁是API级别的）。让同一个时刻最多只有一个线程能持有对象锁，其他线程在想获取这个对象锁就会被阻塞，不用担心上下文切换的问题。Lock锁是显式锁，需要手动开启和关闭锁（别忘了最后一定要关闭锁）；同步锁也叫对象锁，是锁在对象上的，不同的对象就是不同的锁。]]></description><category></category></item><item><title><![CDATA[java基础之集合篇]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/130276606</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/130276606</guid><author>Myucc</author><pubDate>Thu, 20 Apr 2023 21:51:54 +0800</pubDate><description><![CDATA[ArrayList是基于数组来实现动态扩容。size()为实际元素个数，elementData.length为容量。linkedList相对比较简单，有空手撕一份简易版代码。]]></description><category></category></item><item><title><![CDATA[java基础之关键字篇]]></title><link>https://blog.youkuaiyun.com/Myucc/article/details/130276435</link><guid>https://blog.youkuaiyun.com/Myucc/article/details/130276435</guid><author>Myucc</author><pubDate>Thu, 20 Apr 2023 21:44:57 +0800</pubDate><description><![CDATA[慢慢学习，慢慢成长。]]></description><category></category></item></channel></rss>