<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Soldier_son的博客]]></title><description><![CDATA[java]]></description><link>https://blog.youkuaiyun.com/Soldier_son</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Soldier_son]]></copyright><item><title><![CDATA[xxl-job在项目中的使用]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/138250615</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/138250615</guid><author>Soldier_son</author><pubDate>Sat, 27 Apr 2024 17:38:52 +0800</pubDate><description><![CDATA[xxl-job在项目中的详细使用。]]></description><category></category></item><item><title><![CDATA[mybatis插件使用详解]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/138029511</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/138029511</guid><author>Soldier_son</author><pubDate>Sun, 21 Apr 2024 13:25:35 +0800</pubDate><description><![CDATA[mybatis插件使用]]></description><category></category></item><item><title><![CDATA[nacos之config详细入门]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/138015559</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/138015559</guid><author>Soldier_son</author><pubDate>Sun, 21 Apr 2024 00:32:55 +0800</pubDate><description><![CDATA[nacos 官网：https://nacos.io/]]></description><category></category></item><item><title><![CDATA[安装nginx]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/130471371</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/130471371</guid><author>Soldier_son</author><pubDate>Wed, 03 May 2023 12:01:44 +0800</pubDate><description><![CDATA[nginx安装]]></description><category></category></item><item><title><![CDATA[Linux安装JDK]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/129800218</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/129800218</guid><author>Soldier_son</author><pubDate>Mon, 27 Mar 2023 18:18:29 +0800</pubDate><description><![CDATA[将安装包上传到Linux服务器的 /opt目录下(可自定义选择目录)，然后解压。在文件的最后添加以下参数(注意：你的目录如果不一样，则需要修改下)至此，恭喜你，jdk已经安装完成了！编辑 /etc/profile 文件。添加完成保存后重新初始化配置文件。如果显示如下内容，则表示安装成功。]]></description><category></category></item><item><title><![CDATA[工作遇到的问题处理，持续更新中...]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/129119886</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/129119886</guid><author>Soldier_son</author><pubDate>Mon, 20 Feb 2023 10:43:46 +0800</pubDate><description><![CDATA[问题处理记录]]></description><category></category></item><item><title><![CDATA[面试官问你是否了解JUC包？]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/118086796</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/118086796</guid><author>Soldier_son</author><pubDate>Mon, 21 Jun 2021 14:59:36 +0800</pubDate><description><![CDATA[JUC源码简析
线程安全性：多个线程访问某个类时，这个类始终都能表现出正确的行为，那么就称这个类是线程安全的。
如何保证一个类的线程安全：


变量不共享
变量在线程间隔离。例如：局部变量、ThreadLocal等。


共享不可变


共享可变加同步


乐观锁
对数据的安全性持乐观的态度，认为该数据不会被别人改变，就算改变了再选择"原谅"就好了。
代表：CAS


悲观锁
对数据的安全性持悲观的态度，认为共享的数据必定会被改变，所以在使用该数据时必须强占。
代表：synchronized、Reentra]]></description><category></category></item><item><title><![CDATA[这么简单的CountDownLatch你竟然说你不会？]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/116208626</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/116208626</guid><author>Soldier_son</author><pubDate>Wed, 28 Apr 2021 09:36:53 +0800</pubDate><description><![CDATA[文章目录前言一、CountDownLatch源码总览二、关键方法源码分析countDown()await()CountDownLatch如何使用总结

前言
CountDownLatch顾名思义是一个倒计数闩锁，这次我们来玩点新东西，如果你不知道这个类怎么用，我们来通过源码来看看这个类有什么用！先看源码再使用！是谁给我的自信？竟然先看源码再使用，而不是先使用再研究源码？因为CountDownLatch源码真的是 超！级！简！单！接下来让我们一起来看看吧！


一、CountDownLatch源码总览

看！]]></description><category></category></item><item><title><![CDATA[RocketMQ之NameServer详解]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/115053711</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/115053711</guid><author>Soldier_son</author><pubDate>Sat, 10 Apr 2021 21:37:05 +0800</pubDate><description><![CDATA[文章目录前言一、NameServer的作用二、NameServer启动过程1.启动类NamesrvStartup2.读入数据总结

前言
RocketMQ是阿里巴巴开源的一个顶级项目，高性能加上几乎能做到零丢失率让它在越来越多的企业项目中运用，这篇文章不会讲RocketMQ在项目中去如何使用，而是基于源码级别进行剖析讲解。首先来看看RocketMQ的架构图。

RocketMQ分为四个部分：
1、NameServer
NameServer是RocketMQ的路由中心，用于Broker服务的注册和发现，类似z]]></description><category></category></item><item><title><![CDATA[CountDownLatch是(算)什么东西？]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/111669705</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/111669705</guid><author>Soldier_son</author><pubDate>Tue, 26 Jan 2021 10:53:00 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结

前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例可供参考
一、pandas是什么？
示例：pandas 是基于NumPy 的一种工具，该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.引入库
代码]]></description><category></category></item><item><title><![CDATA[线程池原理ThreadPoolExecutor]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/111659971</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/111659971</guid><author>Soldier_son</author><pubDate>Mon, 25 Jan 2021 12:20:02 +0800</pubDate><description><![CDATA[文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结

前言
上一篇已经介绍完了ThreadPoolExecutor结构体系，也对FutureTask做了详细的分析，这次将对ThreadPoolExecutor源码进行详细分析，面试过程中问到的线程池原理和重要参数也都是在这个类中，作为线程池的核心实现类，学习多线程无论如何都要把这个类给掌握了。

提示：以下是本篇文章正文内容，下面案例可供参考
一、pandas是什么？
示例：pandas 是基于NumPy 的一种工具，该工具是为了解决]]></description><category></category></item><item><title><![CDATA[线程池原理FutureTask，你懂了吗？]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/111307190</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/111307190</guid><author>Soldier_son</author><pubDate>Thu, 24 Dec 2020 12:38:57 +0800</pubDate><description><![CDATA[文章目录前言一、ThreadPoolExecutor结构体系二、使用步骤1.引入库2.读入数据总结

前言
线程池在项目中使用的还是比较多的，那为什要用线程池呢？线程池顾名思义，是放线程的池子，主要有以下优势：

复用线程可以降低系统的资源消耗。
通过已有线程来处理请求，可以提高系统响应效率。
方便管理线程，保证系统的稳定性，防止并发量大而导致无限制创建线程产生OOM等问题。
提供更强大的功能，如延时定时线程池。
下面我通过分析ThreadPoolExecutor类的源码来介绍线程池原理。


一、Thre]]></description><category></category></item><item><title><![CDATA[ReentrantLock源码详解]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/110136059</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/110136059</guid><author>Soldier_son</author><pubDate>Fri, 27 Nov 2020 14:01:27 +0800</pubDate><description><![CDATA[系列文章目录
提示：这里可以添加系列文章的所有文章的目录，目录需要自己手动添加
例如：第一章 Python 机器学习入门之pandas的使用

提示：写完文章后，目录可以自动生成，如何生成可参考右边的帮助文档
文章目录系列文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结


前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例]]></description><category></category></item><item><title><![CDATA[多线程并发的开端-AQS]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/110049820</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/110049820</guid><author>Soldier_son</author><pubDate>Wed, 25 Nov 2020 10:36:55 +0800</pubDate><description><![CDATA[文章目录前言一、AQS是什么？二、源码解析1.引入库2.读入数据总结

前言
多线程并发在java中有着举足轻重的地位。在日常的增删查改项目中可能接触的比较少，可能就线程池接触的多一点，但线程池实现原理中肯定也有AQS的影子。要想理解多线程并发，AQS这个核心类是绕不过的。那么AQS是个什么东西？是如何实现的呢？我们一起来看看。

一、AQS是什么？
它的全称是AbstractQueuedSynchronizer，是juc包下的一个核心类。它提供了用于实现依赖先进先出(FIFO)等待队列的阻塞锁和相关同步器]]></description><category></category></item><item><title><![CDATA[LinkedHashMap比HashMap多了啥？]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/110001988</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/110001988</guid><author>Soldier_son</author><pubDate>Mon, 23 Nov 2020 22:02:29 +0800</pubDate><description><![CDATA[文章目录前言一、LinkedHashMap数据结构二、源码分析1.主要属性2.构造函数2.关键方法1、afterNodeAccess(Node e)2、afterNodeInsertion(boolean evict)总结

前言
继承自HashMap，LinkedHashMap = HashMap + LinkedList，话不多说，直接看源码。

一、LinkedHashMap数据结构
双链表结构：单向链表 + 双向链表。如下图所示：

再来看看源码数据结构
static class Entry&lt;]]></description><category></category></item><item><title><![CDATA[jdk1.8的HashMap源码解析]]></title><link>https://blog.youkuaiyun.com/Soldier_son/article/details/109668024</link><guid>https://blog.youkuaiyun.com/Soldier_son/article/details/109668024</guid><author>Soldier_son</author><pubDate>Sun, 15 Nov 2020 22:00:03 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

文章目录前言一、HashMap是什么？二、HashMap源码解析1.主要属性2.构造方法3.构造方法总结

前言
HashMap在工作中是最常用的一种数据结构，那么深入了解它的工作原理也成了必不可少的一环，而且大部分面试都会问到HashMap底层原理，学习它益处多多。

一、HashMap是什么？
HashMap是基于数组+单向链表+红黑树等基本数据结构组成的一种存储key-value键值对的数据结构。基于hash操作查找速度非常快。
使用]]></description><category></category></item></channel></rss>