杯9换功臣喜欢喝花果茶
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

JUC之sleep vs wait

在JUC之线程状态这篇博客中,我提到了除了调用锁对象的wait(long)会让线程进入有时限等待外,还可以通过调用sleep(long)方法,来进入有时限等待状态。在这篇博客中,我就讲讲两者的对比。 共同点 wait()、wait(long)和sleep(long)的效果都是让当前线程暂时放弃CPU的使用权,进入阻塞状态。 三者都可以被打断唤醒。 不同点方法归属不同 sleep(long)是Th
2025-03-30
学习笔记
#Java #JUC

JUC之线程池

线程池本质上就是管理一组线程,用来完成提交给线程池的任务。提交任务,可以调用线程池的submit方法,把实现了Runnable和Callable的任务对象,提交给线程池;而线程池就可以创建出线程对象来执行任务。 创建的线程分为两类:核心线程和救急线程。核心线程就是,当线程执行完任务之后,依然要保留到线程池中的线程;而救急线程,则是执行完任务之后,如果没有别的任务了,就不需要保留到线程池中的线程。两
2025-03-29
学习笔记
#Java #JUC

JUC之线程状态

线程有哪些状态(六种状态)Java中的线程分为6种状态,分别是NEW(新建)、RUNNABLE(可运行)、TERMINATED(终结)、BLOCKED(阻塞)、WAITING(等待)、TIMED_WAITING(有时限等待)。 当使用new关键字创建了一个线程对象之后,刚刚创建出来的线程对象,就处于新建状态。新建状态下的线程,仅仅是一个Java对象,没有和操作系统底层真正的线程关联起来,这时的线程
2025-03-29
学习笔记
#Java #JUC

Java单例模式

方式一:饿汉式介绍所谓饿汉式单例模式,就是在第一次获取单例对象之前(而不是获取时),就创建好了这个对象,比如下图的代码: 123456789101112131415public class Singtelon1 { private static final Singtelon1 INSTANCE = new Singtelon1(); private Singtelo
2025-02-23
学习笔记
#Java #设计模式

Git基础教程

为什么要学习Git在软件工程中,需要对整个团队的代码和文档(项目成果)进行统一的管理,这就需要软件配置管理了。软件配置管理(SCM)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。而Git就是一种软件配置管理软件。 相比于别的软件配置管理软件(如VSS、CVS、Subversion等),Git作为开源的分布式
2025-01-31
学习笔记
#Git

参与项目汇总

Python尝试开发一个简单的MCP项目项目简介:大三下学期接触mcp后,处于对mcp的好奇,写了一个本地智能舆情分析的系统,用户只与客户端对话,就可以完成新闻检索、舆情分析、邮件发送、文件保存等多个功能。 项目链接:JLQusername/make-a-simple-mcp-server: 本项目旨在构建一个本地智能舆情分析系统,通过自然语言处理与多工具写作,实现用户查询意图的自动理解
2025-01-28
参与项目
#项目经历

Shell基础编程学习

Shell 变量定义变量时,变量名不加美元符号,变量名和等号之间不能有空格 1your_name="b907" 变量名的命名须遵循如下规则: 只包含数字、字母和下划线 不能以数字开头 避免使用Shell关键字 使用大写字母表示常量 避免使用空格 12345678910111213141516FLOWER="www.flowertea.xyz"LD_LI
2024-12-16
学习笔记
#Shell

Linux 常用命令

几个常用命令 命令 对应英文 作用 ls list 查看当前目录下的内容 pwd print work directory 查看当前所在目录 cd [目录名] change directory 切换目录 touch [文件名] touch 如果文件不存在,新建文件 mkdir [目录名] make directory 创建目录 rm [文件名] remove 删除指定
2024-11-06
学习笔记
#Linux
123

搜索

Hexo Fluid 霰雪纷其无垠兮,云霏霏而承宇
总访问量 次 总访客数 人