<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[成功不可复制，努力值得期待]]></title><description><![CDATA[Speak less do more.]]></description><link>https://blog.youkuaiyun.com/ad031097</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ad031097]]></copyright><item><title><![CDATA[Redis之基础篇]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/135925530</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/135925530</guid><author>ad031097</author><pubDate>Sun, 04 Feb 2024 13:39:10 +0800</pubDate><description><![CDATA[Redis是一种基于键值对（Key-Value）的NoSQL数据库，它支持string（字符串）、hash（哈希）、list（列表）、set（集合）、zset（有序集合）、Bitmaps（位图）、HyperLogLog、GEO（地理信息定位）等多种数据结构和算法。因此Redis可以满足多种应用场景。而且因为Redis会将数据存储在内存中，因此它的读写性能非常好，Redis还具有将数据存到快照或者日志上的机制，这便于数据恢复。Redis还提供键过期、发布订阅、事务、流水线、lua脚本等附加功能。]]></description><category></category></item><item><title><![CDATA[RabbitMQ入门]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/135668777</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/135668777</guid><author>ad031097</author><pubDate>Mon, 29 Jan 2024 15:06:31 +0800</pubDate><description><![CDATA[RabbitMQ是一款使用Erlang语言开发的，实现 AMQP（Advanced Message Queuing Protocol ）的开源消息中间件。它支持多种客户端如：Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等，支持AJAX，持久化，用于在分布式系统中存储转发消息，在易用性、扩展性、高可用性等方面表现不俗。所以笔者整理了这篇RabbitMQ入门的文章根据下方思维导图来一一介绍。]]></description><category></category></item><item><title><![CDATA[Spring入门心经之第四章 事务详解]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/132139314</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/132139314</guid><author>ad031097</author><pubDate>Wed, 17 Jan 2024 16:37:01 +0800</pubDate><description><![CDATA[从逻辑上来说事务就是把一组动作看成一个操作，要么都执行，要么都不执行。例如下面这段代码，如果这段代码不在同一事务的话，那么执行结束时只有老王被插入到数据库，小明没有被插入，这个操作不符合业务上的一致性。另外补充一点，使用事务进行增删改查时，必须保证所使用的数据库引擎支持事务；例如常用的MySQL5.5后版本默认使用支持事务的 innodb引擎，MySQL5.5前数据库引擎则为myisam，那么程序也就不再支持事务了。]]></description><category></category></item><item><title><![CDATA[Spring入门心经之第三章 MVC详解]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/132139297</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/132139297</guid><author>ad031097</author><pubDate>Thu, 10 Aug 2023 08:45:05 +0800</pubDate><description><![CDATA[MVC（Model View Controller）是一种软件设计规范，是一种将业务逻辑、数据、显示分离的一种解耦思想。由模型(Model)处理应用程序的数据部分，视图(View)处理数据显示部分，它们两者之间交友控制器(Controller)调度，控制器通常从视图读取数据，控制用户输入，并向模型发送数据。而Spring MVC是由Spring提供的遵循MVC的规范的轻量级web框架，目的是为了简化Java栈的web开发。]]></description><category></category></item><item><title><![CDATA[Spring入门心经之第二章 AOP详解]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/132043966</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/132043966</guid><author>ad031097</author><pubDate>Sun, 06 Aug 2023 15:17:18 +0800</pubDate><description><![CDATA[AOP(Aspect-Oriented Programming:面向切面编程)，是Spring中一个重要内容，在AOP思想中例如权限控制日志管理事务控制等被定义为切面，它实际做的就是将核心功能与切面功能拆分，降低核心功能与切面功能的耦合度，然后在把核心功能和切面功能编织在一起。Spring是基于动态代理实现AOP的。Spring默认情况下在目标类实现接口时是通过JDK代理实现的，只有非接口的是通过Cglib代理实现的。前置通知(Before Advice)：在目标对象的方法被调用前调用通过功能。]]></description><category></category></item><item><title><![CDATA[Spring入门心经之第一章 IOC详解]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130693306</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130693306</guid><author>ad031097</author><pubDate>Tue, 01 Aug 2023 21:42:48 +0800</pubDate><description><![CDATA[我们继续深入源码，会发现在XmlBeanDefinitionReader类中可以看到doLoadBeanDefinitions()方法，这个方法主要作用是载入Bean定义资源文件，然后将Bean定义资源转换为Document对象，具体过程由documentLoader实现。// 创建文件解析器工厂// 创建文档解析器// 解析// 设置解析XML的校验try {" +throw pcex;]]></description><category></category></item><item><title><![CDATA[来聊聊LinkedHashMap]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129982089</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129982089</guid><author>ad031097</author><pubDate>Sun, 30 Jul 2023 15:31:59 +0800</pubDate><description><![CDATA[保持遍历顺序和插入顺序一致性。支持按照元素访问顺序排序,适用于封装LRU缓存工具。因为内部使用双向列表，尽管在插入和删除元素时会略微慢于 HashMap ，但在迭代访问时由于可以利用链表结构，随着元素个数增加，迭代效率会比HashMap高很多。LinkedHashMap是在HashMap基础上在各个节点之间增加一条双向链表，使得原先散列在不同bucket、单链表、红黑树上的节点之间可以通过双向链表进行操作，实现有序关联，其逻辑结构如下图所示。]]></description><category></category></item><item><title><![CDATA[HashMap线程安全问题]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129856199</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129856199</guid><author>ad031097</author><pubDate>Fri, 14 Jul 2023 16:58:07 +0800</pubDate><description><![CDATA[假设有两个线程A、B都在进行put操作，并且算出来的插入下标一致，当线程A执行完上面这段代码时时间片耗尽被挂起，此线程B抢到时间片完成插入元素，然后线程A重新获得时间片继续往下执行代码，直接插入，这就会导致线程B插入的数据被覆盖，从而线程不安全。因为有next指向，所以当e指向的元素插入到新数组中时指向消失，next指向的元素不会被垃圾清除。然后e指向next，而next为7，再次循环，此时e.next=3，而在上次循环中3.next=7，出现环形链表，构成一个死循环，最终导致CPU100。]]></description><category></category></item><item><title><![CDATA[MySQL之基础篇]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130253388</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130253388</guid><author>ad031097</author><pubDate>Fri, 07 Jul 2023 22:30:54 +0800</pubDate><description><![CDATA[数据库（DataBase，DB）是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。数据库管理系统(database management system)是一种操纵和管理数据库的大型软件，是用于建立、使用和维护数据库，简称dbms。数据库系统（database systems），是由数据库及其管理软件组成的系统。数据库管理员 : 数据库管理员(Database Administrator, 简称 DBA)负责全面管理和控制数据库系统。]]></description><category></category></item><item><title><![CDATA[从CPU缓存一致性到Volatile]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/128070890</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/128070890</guid><author>ad031097</author><pubDate>Wed, 05 Jul 2023 21:08:40 +0800</pubDate><description><![CDATA[​举个例子，当一台计算机是由多核CPU构成时，为了性能根据上面所说的写回策略，CPU-01从内存中加载了变量X，并将变量X改为9527（初始值为0）写入L1/L2 Cache中，并没有写入到主内存中，这时CPU-02从内存中读取变量X的值，则会读到错误的值，因为CPU-01没有更新变量X到内存中，此时内存中的值仍旧为0，这就是所谓的缓存一致性问题。举个例子，有个变量s，cpu操作变量s时，先检查 Cache Line里面有没有变量s，如果有则先更新Cache Line中的值，然后再写入到主内存；]]></description><category></category></item><item><title><![CDATA[MySQL之索引篇]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130253400</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130253400</guid><author>ad031097</author><pubDate>Mon, 15 May 2023 14:22:58 +0800</pubDate><description><![CDATA[索引是帮助Mysql高效获取数据的数据结构，就好比是一本书的目录，可以直接根据页码找到对应的内容，目的就是为了加快数据库的查询速度。]]></description><category></category></item><item><title><![CDATA[IDEA常用的快捷键（Windows版）]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130382241</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130382241</guid><author>ad031097</author><pubDate>Wed, 26 Apr 2023 11:20:53 +0800</pubDate><description><![CDATA[IDEA常用的快捷键]]></description><category></category></item><item><title><![CDATA[Centos7环境下MySQL8部署安装]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130308325</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130308325</guid><author>ad031097</author><pubDate>Sat, 22 Apr 2023 18:17:44 +0800</pubDate><description><![CDATA[本文以Centos7为例，安装部署MySQL8]]></description><category></category></item><item><title><![CDATA[聊聊Java IO中的设计模式]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130189270</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130189270</guid><author>ad031097</author><pubDate>Sun, 16 Apr 2023 22:05:32 +0800</pubDate><description><![CDATA[如下图，Something类向拥有Target的行为我们就编写一个适配器，继承Something、Target，用Target方法封装Something。适配器主要用来协调接口不兼容，就比如笔记本电脑端口外界显示屏，端口不匹配，就需要一个适配器来将两边连接起来。，在不改变现有对象结构的情况下，动态地给一个对象添加一些额外的职责的模式，就增加功能来说，装饰模式比生成子类更灵活。中的适配器模式前，我们先了解下适配器分为两种形式：对象适配器和类适配器。类的行为，我们就可以编写一个适配器，将。使用到了观察者模式。]]></description><category></category></item><item><title><![CDATA[Java IO基础知识总结]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130162475</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130162475</guid><author>ad031097</author><pubDate>Fri, 14 Apr 2023 21:29:32 +0800</pubDate><description><![CDATA[IO即Input/Output，IO是实现输入和输出的基础，可以方便的实现数据的输入和输出。将数据输出到外部存储的过程叫数据输出。将数据输入到计算机内存的过程叫数据输入。]]></description><category></category></item><item><title><![CDATA[JVM入门]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/130148364</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/130148364</guid><author>ad031097</author><pubDate>Fri, 14 Apr 2023 10:45:57 +0800</pubDate><description><![CDATA[Java虚拟机是运行Java字节码的虚拟机，它就是一台小型计算机，因为它的存在，屏蔽掉了底层操作系统的差异，使JAVA可以一次编写，随处运行。类加载器实现将编译后的 class 文件字节码内容加载到内存中，并将这些内容转为为方法区的运行时数据结构，注意只能决定类加载，至于能不能运行则是由来决定。]]></description><category></category></item><item><title><![CDATA[windosw Terminal使用SSH免密登录服务器]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129954749</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129954749</guid><author>ad031097</author><pubDate>Tue, 04 Apr 2023 15:47:06 +0800</pubDate><description><![CDATA[windows使用SSH（免密码登录）到服务器，及配置多个SSH免密码登录。]]></description><category></category></item><item><title><![CDATA[什么是HashMap]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129804641</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129804641</guid><author>ad031097</author><pubDate>Tue, 28 Mar 2023 09:33:40 +0800</pubDate><description><![CDATA[HashMap是一种快速的查找并且插入、删除性能都良好的一种 K/V键值对的数据结构，它基于哈希表的 Map 接口实现，是常用的 Java 集合之一，是非线程安全的。HashMap默认的初始化大小为 16。之后每次扩充，容量变为原来的 2 倍。HashMap可以存储 null 的 key 和 value，但 null 作为键只能有一个，null 作为值可以有多个。HashMap的底层在JDK1.8之前采用数组+链表组成，用找到数组索引位置，如果冲突则使用拉链法解决。在JDK1.8之后的HashMap。]]></description><category></category></item><item><title><![CDATA[docker入门]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129351250</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129351250</guid><author>ad031097</author><pubDate>Fri, 24 Mar 2023 15:02:25 +0800</pubDate><description><![CDATA[我们都知道docker的隔离性，网络也是个隔离性的一部分，Linux使用了命名空间来进行资源的隔离，比如pidnamespace就是用来隔离进程的，是用来隔离文件系统的,是用来隔离网络的。每一个都提供了一个独立的网络环境,包括网卡路由iptable规则等等，都是与其它的隔离的。docker容器在默认情况下,一般会分配一个独立的,也就是网络类型中的Bridge模式。因为Bridge模式使用的是独立的，那么就需要一种技术让服务器和docker容器的端口构建映射关系，以确保外部用户可以通过端口访问到。]]></description><category></category></item><item><title><![CDATA[小程序跳转时传入数组参数小记]]></title><link>https://blog.youkuaiyun.com/ad031097/article/details/129500157</link><guid>https://blog.youkuaiyun.com/ad031097/article/details/129500157</guid><author>ad031097</author><pubDate>Mon, 13 Mar 2023 21:37:42 +0800</pubDate><description><![CDATA[参数携带参数进行跳转，将数组通过。]]></description><category></category></item></channel></rss>