自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

原创 解锁Java并发编程:深入synchronized关键字

如果线程仍然活着,又有偏向锁的栈会被执行,遍历偏向对象的锁记录,栈中的锁记录和对象头的 Mark Word 要么重新偏向于其他线程,要么恢复到无锁或者标记对象不适合作为偏向锁,最后唤醒暂停的线程。偏向锁的撤销,需要等待安全点(在这个时间点上没有正在执行的字节码),它首先暂停拥有偏向锁的线程,然后检查持有偏向锁的线程是或否或者。​​​​​​​偏向锁使用了一种等到竞争才释放锁的机制,所以当其他线程尝试竞争偏向锁,时,持有偏向锁的线程才会释放锁。​​​​​​​如果没有设置,则使用 CAS 竞争锁。

2025-02-13 17:41:33 786

原创 解密银行家算法:操作系统资源管理的秘密武器

银行家算法是操作系统领域中用于避免死锁的经典算法其核心思想是通过模拟资源分配的过程,系统在进行资源分配之前,应先计算此次分分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待实现银行家算法,系统必须设置若干数据结构int M,N;//总进程数、资源种类//默认各种资源总数目为 10 种// M 个进程对 N 类资源最大资源需求量//系统可用资源数// M 个进程已经得到 N 类资源的资源量//进程安全序列。

2025-02-11 19:18:35 815

原创 揭秘操作系统:任务调度算法的奥秘

FCFS 调度算法时一种简单实现的调度算法,公平性较好但在实际应用中需要注意长作业的等待时间较长的问题短作业有限调度算法核心思想是优先执行时间较短的作业短作业指的是估计执行时间短的作业,也可以理解为剩余执行时间短的作业高响应比优先调度算法(High Response Ratio Next,简称 HRRN) 是一种动态优先级的进程调度算法,其核心思想是根据作业的相应比来确定执行顺。

2025-02-11 15:34:00 939

原创 Docker深度解析:部署 SpringBoot 项目

编写 Dockerfile 文件: 将 dockerfile 文件打包成镜像文件: 运行该镜像: 后端部署: 修改后端端口 ip,打包项目: 创建文件夹部署需要的文件,将打包好的 jar 包放入此文件夹编写 Dockerfile 文件: 将 dockerfile 打包成镜像文件: 运行该镜像文件: 还需启动 mysql 和 redis:访问服务即可: 第二种方式:通过 compose 编排容器自动部署删除所有

2025-02-05 16:33:21 901

原创 Docker深度解析:Docker Compose

【代码】Docker深度解析:Docker Compose。

2025-02-05 16:14:52 1122

原创 Docker深度解析:容器与容器局域网

必须为第一个命令。

2025-02-05 15:50:02 628

原创 Docker深度解析:安装各大环境

【代码】Docker深度解析:安装各大环境。

2025-02-05 15:22:21 609

原创 Docker深度解析:运行原理

运行原理

2025-02-05 12:03:02 839

原创 Docker深度解析:Docker 安装

【代码】Docker深度解析:Docker 安装。

2025-02-05 11:19:38 335

原创 Docker深度解析:掌握容器技术的核心秘密

仓库是 Docker 镜像的存储和分享平台镜像是包含应用程序及其运行环境的只读文件系统容器是镜像的可运行的实例,它在隔离的环境中运行应用程序。

2025-02-04 20:50:50 1019

原创 MyBatis-Plus速成指南:通用枚举 & 多数据源

适用于多种场景:纯粹多库、读写分离、一主多从、混合模式等。

2025-02-04 18:00:15 702

原创 MyBatis-Plus速成指南:乐观锁

【代码】MyBatis-Plus速成指南:乐观锁。

2025-02-04 17:48:05 555

原创 MyBatis-Plus速成指南:条件构造器和常用接口

在真正开发过程中,组装条件是常见的功能,而这些条件来源于用户输入,是可选的因此我们在组装这些条件时,必须先判断用户是否选择了这些条件,若选择则需要组装这些条件,若没有选择一定不能组装,以免影响 SQL 执行的结果。

2025-02-04 17:22:30 391

原创 MyBatis-Plus速成指南:常用注解

经过以上的测试,MyBatis-Plus 在实现 CURD 时,会默认将 id 作为主键列,并在插入数据时,默认基于雪花算法的策略生成的 id值描述IdType.ASSIGN_ID(默认)基于雪花算法的策略生成的数据 id,与数据库 id 是否设置自增无关使用数据库的自增策略,注意,该类型请确保数据库设置了 id 自增,否则无效。

2025-02-04 17:09:49 991

原创 MyBatis-Plus速成指南:基本CURD

【代码】MyBatis-Plus速成指南:基本CURD。

2025-02-04 16:08:03 913

原创 MyBatis-Plus速成指南:简化你的数据库操作流程

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatsi-Plus 提供了通用的 Mapper 和 Service,可以不编写任何 SQL 语句的前提下,快速的实现单表的增删改查(CURD),批量逻辑删除,分页等操作。只要把 MyBatis-Plus 的特性优秀插件,以及多数据源的配置进行详细讲解。

2025-02-04 15:56:23 720

原创 RabbitMQ深度探索:消息幂等性问题

【代码】RabbitMQ深度探索:消息幂等性问题。

2025-02-04 14:59:08 1000

原创 RabbitMQ深度探索:死信队列

死信队列

2025-02-04 12:02:23 918

原创 RabbitMQ深度探索:SpringBoot 整合 RabbitMQ

【代码】RabbitMQ深度探索:SpringBoot 整合 RabbitMQ。

2025-02-04 11:43:49 1190

原创 RabbitMQ深度探索:五种消息模式

消费模式

2025-02-04 11:33:04 847

原创 RabbitMQ深度探索:创建消息队列

【代码】RabbitMQ深度探索:创建消息队列。

2025-02-04 11:18:03 1011

原创 RabbitMQ深度探索:从安装配置到高级应用的全面解析

RabbitMQ 是实现了高级消息队列(AMQP) 的开源消息代理软件(亦称面向消息的中间件),RabbitMQ 服务器是用 Erlang 语言编写的RabbitMQ 官网。

2025-02-04 11:02:48 446

原创 RabbitMQ深度探索:简单实现 MQ

如果 MQ 接收到生产者投递信息,如果消费者不存在的情况下,消息是否会丢失?

2025-02-04 09:48:23 758

原创 RabbitMQ深度探索:前置知识

前置知识

2025-02-04 09:37:06 828

原创 秒懂Redis:持久化与主从复制

通过 RDB 方式实现持久化,一旦 Rdis 异常退出,就会丢失最后一次快照以后更改的所有数据。这就需要开发者根据具体的应用场合,通过组合设置自动快照条件的方式来将可能发生的数据损失控制能够接受的范围。

2025-02-03 21:34:10 613

原创 秒懂Redis:Spring 整合 Redis

【代码】秒懂Redis:Spring 整合 Redis。

2025-02-03 21:01:50 907

原创 秒懂Redis:set 数据类型

在集合类型的基础上,有序集合类型为集合中的每个元素一个分数这使得我们不仅可以完成插入、删除和判断元素是否存在集合中还能够获得分数最高或最低的前 N 个元素获取指定范围内的元素与分数有关的操作有序集合和列表类型有类似点:二者都是有序的二者都可以获得某一范围的元素二者区别:列表类型是通过链表实现的,获取靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会变慢有序集合类型使用散列列表实现,所有即使读取位于中间部分的数据也很快。

2025-02-03 20:56:30 938

原创 秒懂Redis:list 数据类型

list 可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素或者获得列表的某一片段列表类型内部是使用双向链表实现的,所以向列表两端添加元素的时间复杂度为 O(1),获取数据越接近两端的元素速度就越快即使有上千万条数据,获取头部或尾部的 10 条记录也是极快的。

2025-02-03 18:22:27 223

原创 秒懂Redis:Hash 数据类型

hash 叫散装队列,它提供了字段和字段值的映射字段值只能是字符串类型,不支持散装类型、集合类型。

2025-02-03 18:10:46 226

原创 秒懂Redis:String 数据类型

redis 中没有使用 C 语言的字符串表示,而是自定义一个数据结构叫SDS即简单动态字符串C 语言对字符串的存储是使用字符数组,遇到 '\0' 字符认为字符串结束,redis 的字符串可以存储任何类型的数据,因为任何类型数据都可以表示成二进制,sds 结构中的 charbuf[] 就是存储了二进制数据二进制安全:存入什么数据取出的还是什么数据redis 中的 sbs 不像 C 语言处理字符串那样遇到 '\0' 字符认为结束,sbs 不会对存储的二进制数据进行处理,存入什么数据取出还是什么数据。

2025-02-03 18:00:36 195

原创 秒懂Redis:安装 Redis

Redis 不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如 Java、C、C#、C++、php、Node.js、Go 等在官方网站里有一些 Java 的客户端,有 Jedis、ZRedisson、Jredis、JDBC-Redis 等,其中官方推荐使用 Jedis 和 Redisson在企业中用的最多的就是 Jedis。

2025-02-03 17:24:15 842

原创 秒懂Redis:快速掌握NoSQL数据库核心概念

NoSQL 泛指关系型数据库,NoSQL 即 Not-Only SQL ,它可以作为关系型数据库的良好补充NoSQL 数据库的产生就是为了解决大规模数据集合多重种类带来的挑战,尤其是大数据应用难题。

2025-02-03 16:47:32 562

原创 URL 和 URI 的区别

URI 和 URL 的区别

2025-02-03 16:29:39 397

原创 Linux环境下的Java项目部署技巧:常用操作

【代码】Linux环境下的Java项目部署技巧:常用操作。

2025-02-03 16:20:34 221

原创 Linux环境下的Java项目部署技巧:项目部署

【代码】Linux环境下的Java项目部署技巧:项目部署。

2025-02-03 16:07:55 586

原创 Linux环境下的Java项目部署技巧:Nginx 详解

Nginx 详解

2025-02-03 15:53:37 439

原创 Linux环境下的Java项目部署技巧:安装 Nginx

反向代理:时服务器端代理,只要用户访问服务器,都是反向代理,实现业务调用正向代理:是客户端代理,只要用户上网就使用正向代理,实现网络通信整个上网过程都是先正向后反向代理。

2025-02-03 15:30:10 914

原创 Linux环境下的Java项目部署技巧:安装 Mysql

【代码】Linux环境下的Java项目部署技巧:安装 Mysql。

2025-02-02 22:31:55 1119

原创 Linux环境下的Java项目部署技巧:环境安装

【代码】Linux环境下的Java项目部署技巧:环境安装。

2025-02-02 22:04:28 1056

原创 Maven全解析:Maven 进阶

正式开发,不同的项目组开发不同的工程。maven-dao 工程开发完毕,发布到私服 maven-service 从私服下载 dao公司在自己的局域网内部搭建自己的远程仓库服务器,成为私服。私服服务器既是公司内部的 maven 远程仓库,每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自己开发的项目打成 jar 包并发送到私服服务器,其他项目组从私服服务器下载所有依赖的构建(jar)

2025-02-02 21:27:27 1317

深入核心:一步步手撕Tomcat搭建自己的Web服务器

tomcat 完整文件

2025-02-02

数据结构排序算法的分析图

数据结构排序算法的分析图

2024-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除