• 博客(240)
  • 资源 (13)
  • 收藏
  • 关注

原创 ReentrantLock公平锁与非公平锁源码解读

一种基于AQS的可重入独占锁,它支持公平与非公平(默认)两种获取策略。

2025-12-13 21:16:56 554

原创 深入理解synchronized从对象头到锁升级全流程解析

在日常开发中,synchronized作为关键字实现同步方法和同步代码块,使得同一时间内只有一个线程可以访问被修饰的方法和代码块(被修饰的方法和代码块被官方称为临界区)。在HotSpot中,synchronized通过对象头得以实现(这一点后面的锁升级部分会具体分析),Mark Word的最低3bit用来表示对象当前的锁状态,因此任何对象都可以成为一把锁。

2025-12-09 15:59:50 610

原创 基于Java实现CAS自旋锁

CAS(CompareAndSwap的缩写,翻译过来叫比较和交换)是CPU的原子指令,Java通过JVM对这些硬件原子指令进行封装(如Unsafe),并向上提供API,使得Java能够对单个变量执行原子性的比较与更新操作。我们日常开发中所说的CAS锁实际是指CAS结合自旋的机制:当多个线程同时尝试更新某个共享变量时,如果CAS失败,线程并不会立即阻塞,而是不断地循环重试,直到更新成功。这种方式避免了传统锁的阻塞开销。

2025-12-06 10:51:48 484

原创 ThreadLocal线程记忆的光与影

掌握ThreadLocal使用方法,理解ThreadLocal的内部结构、ThreadLocal如何解决哈希冲突、避免使用ThreadLocal不当导致内存泄漏。

2025-11-29 22:50:09 625

原创 如何让线程体面地退出舞台

学会用正确的方式退出线程。结合官方文档与案例,理解Thread的中断思想和API的使用。

2025-11-27 22:42:18 467

原创 LangChain的核心组件Messages之初体验

使用Python语言集成LangChain,并通过案例来学习它的核心组件Messages。本文使用OpenAI提供的密钥,不会注册的同学可以参考我之前写的Models使用手册。

2025-11-14 22:21:03 1137

原创 LangChain的核心组件之Models使用手册

了解LangChain的基本信息,并且理解Retrieval Augmented Generation(RAG)的核心思想。使用Python语言集成LangChain,并通过案例来学习它的核心组件Models。本文虽然讲的是Models模块,但是并不涉及Agent对Models的集成使用(在后续的文章中再重点讲述),只将独立使用案例。

2025-11-06 22:54:41 709

原创 通过Ollama搭建本地LLM

Ollama是上手并运行大型语言模型(如gpt-oss、Gemma 3、DeepSeek-R1、Qwen3等)的最简单方法。

2025-11-05 22:16:10 381

原创 Spring Security之初体验

        将Spring Security集成到SpringBoot,通过配置给不同用户授权。本文适合初学者去了解Spring Security的基本应用,且部分内容只适用于前后不分离的项目。

2025-07-31 22:52:41 1286 1

原创 JavaScript之Webpack的模块加载机制

本文站在js逆向的角度总结知识,所以不讲解Webpack打包技术,只分析模块加载机制。

2025-04-27 17:13:49 772

原创 JavaScript中的this到底是什么

了解this的基本概念,通过案例了解this在不同环境下的指向。

2025-04-24 22:56:01 1211

原创 JS实现RSA加密

使用JS实现RSA加密解密。计算RSA加密允许的最大字节长度。

2025-04-17 22:24:01 585

原创 JS实现AES和DES

了解AES和DES的特点并用JS实现。

2025-04-06 16:57:16 524

原创 JavaScript的异步编程

了解异步编程实现方式。

2025-03-31 22:21:31 422

原创 JavaScript闭包

了解闭包的语法结构与应用场景。了解Python的同学可以对比一下我之前写的Python闭包文章,两者非常相似。

2025-03-30 17:56:30 461

原创 JavaScript的作用域

掌握变量的创建方法,了解他们的作用域。

2025-03-28 22:38:08 504

原创 Python进程池知多少

掌握进程池的基本概念和使用方法。

2025-03-02 11:15:50 1062

原创 Python线程池知多少

掌握线程池的基本概念和使用方法。

2025-03-01 21:04:43 936

原创 Python进程知多少

掌握进程的基本概念和使用方法,包括:创建进程、进程同步、进程间共享状态、进程通信。

2025-03-01 12:10:51 1284

原创 Python多线程知多少

掌握多线程的基本概念和使用方法,包括:创建线程、线程同步、线程通信、守护线程、事件对象、队列。

2025-02-27 22:44:17 931

原创 Python闭包知多少

熟悉闭包语法结构,通过案例来了解闭包的使用场景。

2025-02-24 22:46:39 588

原创 Python生成器知多少

熟悉生成器的作用和基本使用方法。

2025-02-24 11:15:29 1201

原创 Python装饰器知多少

熟悉装饰器的作用和基本使用方法,熟悉Python的一些常见的装饰器方法。

2025-02-21 16:55:13 938

原创 Python迭代器知多少

掌握迭代器的使用方法。了解迭代器和可迭代对象的区别。通过案例实现迭代器和可迭代对象。

2025-02-20 21:46:03 887

原创 Scrapy之一个item包含多级页面的处理方案

在实际开发过程中,我们所需要的数据往往需要通过多个页面的数据汇总得到,通过列表获取到的数据只有简单的介绍。站在Scrapy框架的角度来看,实际上就是考虑如何处理一个item包含多级页面数据的问题。本文将以获取叶子猪网站的手游排行榜及手游详情为学习案例来解决这个问题。

2025-01-24 00:11:36 549

原创 初步搭建并使用Scrapy框架

在pipelines.py文件中配置open_spider和close_spider方法,分别表示在爬虫程序执行前执行的方法和在爬虫程序执行之后执行的方法。: 刷新页面,在浏览器检查中查看第一个和最后一个,发现图片链接的初始接收属性并不是src,而是data-original,src是加载以后才代替data-original的。:修改src获取的方法,并再次运行项目。:来到pipelines.py文件,其中process_item方法中的item就是我们刚才在爬虫程序配置的boot对象。

2025-01-22 14:57:40 1467

原创 Kubernetes之NodeSelector与NodeName实战

通过配置NodeSelector与NodeName实现Pod运行(或优先运行)在我们期望的节点之上。了解这两种实现方法的区别。

2024-12-28 21:57:56 895

原创 Kubernetes标签详解

标签可以在定义资源的时候创建,也可以在定义资源以后创建,通过定义标签可以实现对资源进行松散耦合,实现统一管理。

2024-12-28 16:35:01 1012

原创 Kubernetes命名空间详解

了解命名空间的使用场景和使用方法,通过案例实战理解命名空间对资源的逻辑隔离方法。

2024-12-03 21:53:26 1022

原创 Kubernetes基于containerd从Harbor上拉取镜像

当容器运行时为containerd时,学会如何根据Harbor上的镜像创建Pod。其中主要涉及到升级containerd版本、利用docker往Harbor传递镜像,containerd与Harbor关键配置信息

2024-11-24 10:36:22 1690

原创 Docker数据卷使用手册

我们在很多网上教程上可以看到很多老师们往往将数据卷划分为三个种类:匿名卷、命名卷、绑定挂载。也有老师将数据卷分为四个种类:匿名卷、命名卷、绑定挂载、临时挂载。但是我去官方网站看了相关文档,文档中十分明确地将绑定挂载(Bind mounts)、数据卷(Volumes)、临时挂载(tmpfs mounts)规定为三个类别。大家学习绑定挂载和临时挂载时,通过docker inspect命令查看容器详情时也会发现Mounts中的Type值为bind。而数据卷的Type值为volume。但是对于这种概念性的东西每个人

2024-08-25 21:36:25 1158 2

原创 Docker绑定挂载使用手册

掌握绑定挂载、临时挂载的常用命令。理解绑定挂载、数据卷、临时挂载之间的区别。

2024-08-25 20:56:29 1212

原创 Docker基础命令

Docker是一个用于开发、发布和运行应用程序的开放平台。Docker可让您将应用程序与基础架构分离,以便快速交付软件。借助Docker,您可以像管理应用程序一样管理基础架构。通过利用Docker 的发布、测试和部署代码方法,您可以显著减少编写代码和在生产中运行代码之间的延迟。

2024-08-11 22:15:32 1032

原创 FastDFS安装与测试

在Linux服务器上搭建单机版FastDFS系统。(考虑到Linux服务器访问GitHub受限,这里我将依赖包下载到本地,再将本地的依赖包上传到Linux服务器上。所以我的操作与Wiki上的操作略有不同,但本质一样)。在Linux服务器上,使用命令行实现文件上传、下载、删除等功能。熟悉FastDFS系统架构。

2024-01-06 23:22:12 1999 1

原创 Python字典类型

掌握字典类型的使用方法,包括:创建、循环、常用方法等操作。

2023-11-28 21:35:43 1342

原创 Python集合类型

掌握set和frozenset两种集合的使用方法,包括:创建、交集、并集、差集等操作。

2023-11-26 21:11:43 1232

原创 Python序列类型

掌握Python序列类型(list、tuple、range)的常用方法(创建、循环、查询、删除、切片等)。

2023-11-24 17:05:41 1068

原创 Python字符串类型

掌握字符串类型的使用方法。本文参考官方文档列举了各种字符串方法的使用方法,如有错误烦请指正。

2023-11-17 11:36:59 439

原创 Python数字类型

掌握Python两种数据类型的使用方法。数字类型有三种,分别是:整数(int)浮点数(float)复数(complex)另外,布尔值类型(bool)是整数类型的子类型。

2023-10-22 21:23:46 448

原创 用Netty搭建文件上传系统

客户端向服务端发送一个文件(可以是视频、音频、文本、表格等格式的文件),服务端接收文件并保存到指定的目录下。服务端保存好文件之后向客户端发送回应:xxx文件收到了。

2023-05-23 18:44:19 2099 2

分隔EXCEL相邻列,用于生成SQL插入格式

分隔EXCEL相邻列,用于生成SQL插入格式。

2023-11-02

xxl-job整合mybatis&&mysql&&stringboot

搭建xxl-job&&mybatis&&mysql&&stringboot

2022-08-06

springboot整合mybatis

springboot整合mybatis基本配置

2022-08-06

Spring Cloud项目技术解决方案闪电战

相关文档:https://blog.csdn.net/qq_39706570/article/details/111017828 项目集成了以下功能: 1、服务注册与发现 2、Eureka用户认证 3、服务续约保活(心跳机制) 4、Eureka高可用 5、Eureka健康检测 6、服务下线 7、远程调用 8、负载均衡 9、服务雪崩 10、服务降级 11、Hystrix熔断器 12、Hystrix隔离策略 13、Hystrix数据监控 14、Feign远程调用 15、Zuul服务网关 16、admin服务监控

2021-01-17

熟练使用stream操作集合,能通过例题举一反三,合理地将案例融入到实际工作中。

中间方法 distinct filter map flatMap limit skip sorted 终止方法 allMatch anyMatch collect findAny findFirst forEach max/min noneMatch reduce Collectors的方法 averaging collectingAndThen countIng groupingBy joining mapping maxBy/minBy partitioningBy summarizing

2022-05-03

掌握RabbitMQ几种常用模式的思想。本文将基于RabbitMQ官网提供相关的代码案例。

掌握RabbitMQ几种常用模式的思想。本文将基于RabbitMQ官网提供相关的代码案例。

2022-01-21

erlang+rabbitMQ.zip

otp_win64_23.3.exe rabbitmq-server-3.8.16.exe

2022-01-08

多区域随机点击器1.0.exe

自由配置点击参数:鼠标弹起时间、点击次数、点击区域、点击日志、识别颜色数量、识别颜色频率。

2022-01-08

阿里EasyExcel导出案例

阿里EasyExcel导出案例

2022-01-19

ZooInspector.zip

一款很好的ZooKeeper数据可视化工具,包括支持查看ZooKeeper集群地址。

2011-11-27

非常轻量又实用的鼠标拾色器小工具

鼠标实时取色,按F1键控制开启和关闭识色,单机编辑框可复制,一款非常轻量便捷的小工具。 注意:使用前务必将电脑的缩放与布局调整为100% 使用教程:https://blog.csdn.net/qq_39706570/article/details/112689714

2021-01-15

ExcelUtil-master.zip

封装了excel工具类,只需要几行代码就能实现导入导出功能,适用导出List<Bean>和List<Map>的类型。项目来源于:https://github.com/SargerasWang/ExcelUtil

2020-06-15

demo-1.zip

这是一个springboot+jpa的项目压缩包,里面主要是对jpa做了一些基本操作,小白可以下载看看,大神直接掠过。

2020-08-08

空空如也

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

TA关注的人

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