<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SOS_suyan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SOS_suyan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SOS_suyan]]></copyright><item><title><![CDATA[虚拟线程(Virtual Thread)]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/151830858</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/151830858</guid><author>SOS_suyan</author><pubDate>Thu, 18 Sep 2025 16:41:12 +0800</pubDate><description><![CDATA[虚拟线程是一种轻量级的线程，旨在解决传统资源占用较大、调度开销高的问题。传统线程是由操作系统进行调度和管理的，而虚拟线程的调度由 Java 虚拟机(JVM)管理。虚拟线程并不由操作系统调度，而是由普通线程调度。一个操作系统可以调度成百上千个虚拟线程。显著的性能优势：在这个 I/O 密集型的测试场景中，虚拟线程比传统线程执行速度提升了 50 倍适用于高并发场景：虚拟线程特别适合处理大并发任务而不会耗尽系统资源资源效率：虚拟线程能更有效地利用系统资源，允许创建大量并发任务而不会耗尽系统资源。]]></description><category></category></item><item><title><![CDATA[HashMap是如何 put 并自动扩容？]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/149981688</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/149981688</guid><author>SOS_suyan</author><pubDate>Wed, 27 Aug 2025 21:34:59 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Java Integer 中的 “128 陷阱”]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/149312984</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/149312984</guid><author>SOS_suyan</author><pubDate>Wed, 16 Jul 2025 17:19:16 +0800</pubDate><description><![CDATA[Integer 类型中 equals() 比较不涉及到地址，只涉及到它们拆箱后的值]]></description><category></category></item><item><title><![CDATA[解锁Java并发编程：深入synchronized关键字]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145616310</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145616310</guid><author>SOS_suyan</author><pubDate>Thu, 13 Feb 2025 17:41:33 +0800</pubDate><description><![CDATA[如果线程仍然活着，又有偏向锁的栈会被执行，遍历偏向对象的锁记录，栈中的锁记录和对象头的 Mark Word 要么重新偏向于其他线程，要么恢复到无锁或者标记对象不适合作为偏向锁，最后唤醒暂停的线程。偏向锁的撤销，需要等待安全点(在这个时间点上没有正在执行的字节码)，它首先暂停拥有偏向锁的线程，然后检查持有偏向锁的线程是或否或者。​​​​​​​偏向锁使用了一种等到竞争才释放锁的机制，所以当其他线程尝试竞争偏向锁，时，持有偏向锁的线程才会释放锁。​​​​​​​如果没有设置，则使用 CAS 竞争锁。]]></description><category></category></item><item><title><![CDATA[解密银行家算法：操作系统资源管理的秘密武器]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145578235</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145578235</guid><author>SOS_suyan</author><pubDate>Tue, 11 Feb 2025 19:18:35 +0800</pubDate><description><![CDATA[银行家算法是操作系统领域中用于避免死锁的经典算法其核心思想是通过模拟资源分配的过程，系统在进行资源分配之前，应先计算此次分分配资源的安全性，若分配不会导致系统进入不安全状态，则分配，否则等待实现银行家算法，系统必须设置若干数据结构int M,N;//总进程数、资源种类//默认各种资源总数目为 10 种// M 个进程对 N 类资源最大资源需求量//系统可用资源数// M 个进程已经得到 N 类资源的资源量//进程安全序列。]]></description><category></category></item><item><title><![CDATA[揭秘操作系统：任务调度算法的奥秘]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145571318</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145571318</guid><author>SOS_suyan</author><pubDate>Tue, 11 Feb 2025 15:34:00 +0800</pubDate><description><![CDATA[FCFS 调度算法时一种简单实现的调度算法，公平性较好但在实际应用中需要注意长作业的等待时间较长的问题短作业有限调度算法核心思想是优先执行时间较短的作业短作业指的是估计执行时间短的作业，也可以理解为剩余执行时间短的作业高响应比优先调度算法(High Response Ratio Next，简称 HRRN) 是一种动态优先级的进程调度算法，其核心思想是根据作业的相应比来确定执行顺。]]></description><category></category></item><item><title><![CDATA[Docker深度解析：部署 SpringBoot 项目]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145457152</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145457152</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 16:33:21 +0800</pubDate><description><![CDATA[编写 Dockerfile 文件：
		

		将 dockerfile 文件打包成镜像文件：
		

		运行该镜像：
		

		
	
	后端部署：

	修改后端端口 ip，打包项目：
		创建文件夹部署需要的文件，将打包好的 jar 包放入此文件夹编写 Dockerfile 文件：
		

		将 dockerfile 打包成镜像文件：
		

		运行该镜像文件：
		

		 还需启动 mysql 和 redis：访问服务即可：
	

第二种方式：通过 compose 编排容器自动部署

删除所有]]></description><category></category></item><item><title><![CDATA[Docker深度解析：Docker Compose]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145456584</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145456584</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 16:14:52 +0800</pubDate><description><![CDATA[【代码】Docker深度解析：Docker Compose。]]></description><category></category></item><item><title><![CDATA[Docker深度解析：容器与容器局域网]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145456023</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145456023</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 15:50:02 +0800</pubDate><description><![CDATA[必须为第一个命令。]]></description><category></category></item><item><title><![CDATA[Docker深度解析：安装各大环境]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145455709</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145455709</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 15:22:21 +0800</pubDate><description><![CDATA[【代码】Docker深度解析：安装各大环境。]]></description><category></category></item><item><title><![CDATA[Docker深度解析：运行原理]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145452050</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145452050</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 12:03:02 +0800</pubDate><description><![CDATA[运行原理]]></description><category></category></item><item><title><![CDATA[Docker深度解析：Docker 安装]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145444637</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145444637</guid><author>SOS_suyan</author><pubDate>Wed, 05 Feb 2025 11:19:38 +0800</pubDate><description><![CDATA[【代码】Docker深度解析：Docker 安装。]]></description><category></category></item><item><title><![CDATA[Docker深度解析：掌握容器技术的核心秘密]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442994</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442994</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 20:50:50 +0800</pubDate><description><![CDATA[仓库是 Docker 镜像的存储和分享平台镜像是包含应用程序及其运行环境的只读文件系统容器是镜像的可运行的实例，它在隔离的环境中运行应用程序。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：通用枚举 & 多数据源]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442707</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442707</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 18:00:15 +0800</pubDate><description><![CDATA[适用于多种场景：纯粹多库、读写分离、一主多从、混合模式等。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：乐观锁]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442519</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442519</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 17:48:05 +0800</pubDate><description><![CDATA[【代码】MyBatis-Plus速成指南：乐观锁。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：条件构造器和常用接口]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442276</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145442276</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 17:22:30 +0800</pubDate><description><![CDATA[在真正开发过程中，组装条件是常见的功能，而这些条件来源于用户输入，是可选的因此我们在组装这些条件时，必须先判断用户是否选择了这些条件，若选择则需要组装这些条件，若没有选择一定不能组装，以免影响 SQL 执行的结果。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：常用注解]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145441645</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145441645</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 17:09:49 +0800</pubDate><description><![CDATA[经过以上的测试，MyBatis-Plus 在实现 CURD 时，会默认将 id 作为主键列，并在插入数据时，默认基于雪花算法的策略生成的 id值描述IdType.ASSIGN_ID(默认)基于雪花算法的策略生成的数据 id，与数据库 id 是否设置自增无关使用数据库的自增策略，注意，该类型请确保数据库设置了 id 自增，否则无效。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：基本CURD]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145441456</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145441456</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 16:08:03 +0800</pubDate><description><![CDATA[【代码】MyBatis-Plus速成指南：基本CURD。]]></description><category></category></item><item><title><![CDATA[MyBatis-Plus速成指南：简化你的数据库操作流程]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145440795</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145440795</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 15:56:23 +0800</pubDate><description><![CDATA[MyBatis-Plus 是一个 MyBatis 的增强工具，在 MyBatis 的基础上只做增强不做改变，为简化开发、提高效率而生。MyBatsi-Plus 提供了通用的 Mapper 和 Service，可以不编写任何 SQL 语句的前提下，快速的实现单表的增删改查(CURD)，批量逻辑删除，分页等操作。只要把 MyBatis-Plus 的特性优秀插件，以及多数据源的配置进行详细讲解。]]></description><category></category></item><item><title><![CDATA[RabbitMQ深度探索：消息幂等性问题]]></title><link>https://blog.youkuaiyun.com/SOS_suyan/article/details/145439008</link><guid>https://blog.youkuaiyun.com/SOS_suyan/article/details/145439008</guid><author>SOS_suyan</author><pubDate>Tue, 04 Feb 2025 14:59:08 +0800</pubDate><description><![CDATA[【代码】RabbitMQ深度探索：消息幂等性问题。]]></description><category></category></item></channel></rss>