自定义博客皮肤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)
  • 收藏
  • 关注

原创 13. 多线程(10) --- 案例:线程池

文章摘要 本文介绍了线程池的概念及其在Java中的应用。线程池通过预先创建并复用线程,减少频繁创建和销毁线程的开销,提升性能。文中用快递店的例子形象地解释了线程池的工作原理,并分析了线程池的底层实现机制,包括用户态和内核态的交互。 Java标准库中的ThreadPoolExecutor提供了灵活的线程池配置,通过核心线程数、最大线程数、工作队列及拒绝策略等参数优化任务调度。此外,文章还探讨了工厂模式在解决构造方法局限性中的应用,以二维坐标点类的实现为例,展示了工厂模式的实用性。 线程池和工厂模式都是提升代码

2025-05-25 08:34:51 858

原创 12. 多线程(9) --- 案例:定时器

我们在上个博客中学习到了 阻塞队列的使用和模拟实现,这次我们学习定时器。定时器是软件开发中的一个重要组件。类似于一个 “闹钟”。达到一个设定的时间之后,就执行某个指定好的代码。定时器是一种实际开发中非常常用的组件。比如在网络通信中,如果对方 500ms 内没有返回数据,则断开连接尝试重连比如一个 Map,希望里面的某个 key 在 3s 之后过期 (自动删除)类似于这样的场景就需要用到定时器。

2025-05-05 14:04:01 892

原创 11. 多线程(8) --- 案例:阻塞式队列

上一个博客中,我们讲解了单例模式中的多线程安全的写法,这次我们学习阻塞队列。

2025-05-05 14:03:49 914

原创 10. 多线程(7) --- 案例:单例模式 (多线程)

上一篇博客中我们主要讲解了单例模式中的懒汉模式和饿汉模式的代码书写,这一次我们把线程安全也考虑进内,来再次书写一下代码。

2025-05-03 01:46:26 837

原创 9. 多线程(6) --- 案例:单例模式 (基础)

前面的博客我们已经把多线程的基础知识都讲解完了,俗话说得好,“光练不说傻把式,又练又说真把式”,下面的博客主要讲解一些案例,咱们再来熟悉熟悉多线程代码,这次博客讲解单例模式。

2025-05-03 01:45:57 699

原创 8.多线程(5) --- wait和notify的使用

上一个博客中我们学习volatile关键字,这个博客中我们学习wait和notify。wait 是 等待,notify是通知。使用这两个方法,可以让后执行的逻辑,等待先执行的逻辑先执行,虽然无法直接干预调度器的调度顺序,但是可以让后执行的逻辑(线程)等待,等待到先执行的逻辑跑完,通知一下当前的线程,让他继续执行。

2025-05-03 01:45:34 1060

原创 7. 多线程(4) ---volatile关键字

上一篇博客中,我们主要讲解了死锁问题,这次我们讲解造成线程安全的另一个原因 - - -内存可见性问题,并且认识volatile关键字。

2025-01-09 17:18:39 705

原创 6. 多线程(4) --- 死锁问题

上一篇博客中我们讲解关键字,使用可以构成锁,如果锁比较多,乱用锁的话,可能就会造成死锁的情况,下面我们用几个例子来观察一下死锁的现象。

2025-01-09 17:18:25 1311

原创 5. 多线程(3) --- synchronized

前面我们通过在两个线程中共同对count进行加一操作,最后得到的结果和预期不一样,并且还通过画图得到了原因。在这个博客中,我们来解决一下问题—引入synchronized关键字。

2025-01-07 22:34:49 983

原创 4. 多线程(2)---线程的状态和多线程带来的风险

上一篇博客我们学习了,线程的创建,这次我们讲解 线程的状态 和 线程不安全问题。

2025-01-07 22:34:22 688

原创 3. 多线程(1) --- 创建线程,Thread类

上一节课,我们主要引出了线程,以及线程和进程的联系与区别,从这篇博客开始,我们开始编写代码了,Let’s go!

2025-01-06 22:43:03 868

原创 2. 进程和线程

上一篇博客,我们讲到了CPU和操作系统,今天我们讲一个操作系统中一个非常重要的概念—线程和进程。

2025-01-06 22:42:44 892

原创 1. 计算机是如何进行工作的[主讲CPU和操作系统]

哈喽,各位老铁,新的一个专题—JavaEE开始启动了,在这个博客中,我们会面向企业级开发,知识点会更多,并且会有一些项目实践等等,对此,我们可以拭目以待了,而这次博客的主要内容就是一点,简单聊聊计算机是如何工作的。

2025-01-06 22:42:25 748

原创 Java(三十) --- 基于比较的七大比较的排序算法(巨详细)

我们这个博客讲一下七大基于比较的排序。

2024-10-28 07:13:48 994 1

原创 Mysql(十) --- 用户权限和管理

我们前面学习了许多MySQL的语法和基础知识,今天我们在学一个知识点—用户权限和管理。

2024-10-28 07:13:41 1434

原创 Mysql(九) --- 事务

MySQL(九) --- 事务

2024-10-13 08:02:53 1067 1

原创 Mysql(八) --- 视图

前面我们学习了索引,这次我们来学习视图视图是一个虚拟的表,它是基于一个或多个基本表或其他视图的查询结果集。视图本身不存储数据,而是通过执行查询来动态生成数据。用户可以像操作普通表一样使用视图进行查询、更新和管理。视图本身并不占用物理存储空间,它仅仅是一个查询的逻辑表示,物理上它依赖于基础表中的数据。

2024-10-12 12:22:40 3429 2

原创 Mysql(七) --- 索引

前面我们学习了,数据库的增删改查等操作,在数据库中,用的最多的业务就是查找,在现实生活中,我们会发现有很多的关键字会被经常查到,为了可以更加高效地进行查询,我们为此引出索引MySQL的索引是一种数据结构,它可以帮助数据库高效地查询,更新数据表中的数据。索引通过一定的规则排列数据表中的记录,使得对表的查询可以通过索引的搜索来加快速度。MySQL索引类似于书籍的目录,通过指向数据行的位置,可以快速定位和访问表中的数据,比如汉语字典的目录(索引)页,我们可以按照笔画偏旁部首拼音。

2024-10-12 12:22:25 1774

原创 Mysql(六) --- 聚合函数,分组和联合查询

上一篇博客中,我们学习了数据库的设计,下来我们就要根据多种表来进行联合查询。

2024-10-07 22:04:27 1317 2

原创 Mysql(五) --- 数据库设计

上一篇博客中,我们学习增删查改等基本操作,在工作中,每种表之间都是存在关联的,而不是相互独立的,因此这一篇中,我们来学习数据库设计和联合查询• 数据库表的每⼀列都是不可分割的原子数据项,而不能是集合,数组,对象等非原子数据。• 在关系型数据库的设计中,满足第一范式是对关系模式的基本要求。不满足第一范式的数据库就不能被称为关系数据库,在满足第一范式的基础上,不存在非关键字段对任意候选键的部分函数依赖。存在于表中定义了复合主键的情况下。

2024-10-07 22:04:10 1161

原创 Mysql(三)---增删查改(基础)

上一篇我们学习了数据库的基础操作,这一篇我们学习数据库的增删改查等一系列操作。

2024-08-15 00:07:20 1250

原创 Mysql(四)---增删查改(进阶)

上一篇博客,我们学习了一些主键的概念,并且分别创造了一些示例表,下面我们添加训练案例,来对增删改查进行全面的学习。

2024-08-15 00:06:36 1127

原创 Mysql(一)---安装与配置

前端时间我们学习了数据结构和排序算法,咱们接下来学习新的知识点—数据库

2024-08-12 23:06:22 1440

原创 Mysql(二)---数据库基础

上一篇博客我们学习Mysql数据库的安装与配置,今天我们学习Mysql数据库基础。

2024-08-12 23:06:06 869

原创 初始Java

本篇博客应该要放到学习Java的第一位,但是在学习完JavaSE和数据结构之后,写这一篇可能会有不一样的感受吧,言归正传,咱们开干。

2024-08-11 22:00:00 877

原创 Java(二十八)---哈希桶的模拟实现以及有关Map和Set的Oj题

在上一篇博客中,我们学习了关于Map和Set的,Tree类型和Hash类型,下面我们学习哈希桶的模拟实现以及有关Map和Set的Oj题。

2024-08-09 08:32:10 1135 1

原创 Java(二十九)---反射、枚举以及lambda表达式

Java(二十九)---反射、枚举以及lambda表达式

2024-08-09 08:31:54 816

原创 Java(二十六)---优先级队列(堆)

Java(二十六)---优先级队列(堆)

2024-07-29 20:00:00 1958

原创 Java(二十七)---二叉搜索树以及Map和Set

Java(二十七)---二叉搜索树以及Map和Set

2024-07-29 20:00:00 741

原创 Java(二十四)---二叉树进阶

上一篇我们学习二叉树的基本概念,现在开始上手实践了,在实践之前,再说一些关键的概念,以及如何操作。

2024-07-23 22:00:00 882 1

原创 Java(二十五)---二叉树的oj题

上一篇我们学习了一些有关二叉树的基本操作,现在我们写几道oj题进行巩固,然后再把剩余的两个方法写一下。1.相同的树2.另一棵树的子树3.翻转二叉树4.对称二叉树5.平衡二叉树6.二叉搜索树与双向链表7.二叉树遍历8.二叉树的层序遍历9.二叉树的最近公共祖先10.从前序与中序遍历序列构造二叉树11.从中序与后序遍历序列构造二叉树12.根据二叉树创建字符串13.二叉树的前序遍历(非递归)14.二叉树的中序遍历(非递归)15.二叉树的后序遍历(非递归)16.判断一棵树是不是完全二叉树足足十六道题,加油干!

2024-07-23 22:00:00 450

原创 Java(二十三)--- 二叉树基础

前几篇我们学习了栈和队列的相关操作。今天我们学习一个比较难得知识点,二叉树,本篇博客只讲关于有关二叉树的概念和性质,下一篇再讲相关操作,最后再讲关于二叉树的相关oj题。

2024-07-20 10:07:05 639

原创 Java(二十一)---栈的使用和模拟实现

Java(二十一)---栈的使用和模拟实现

2024-07-18 22:39:53 995

原创 Java(二十二)---队列

上一篇我们学习了栈(Stack) ,现在讲队列(Queue)。

2024-07-18 22:38:45 997

原创 Java(二十)---双向链表

Java(二十)---双向链表

2024-07-16 22:50:19 852

原创 Java(十九)---单向链表常见题目汇总

Java(十九)---单链表常见题目汇总

2024-07-16 22:48:27 894

原创 Java(十八)---单链表

单链表的模拟实现

2024-07-11 22:30:00 758

原创 Java(十六)数据结构结构---List、ArrayList以及顺序表

前面我们讲了很多关于Java数据结构的基础知识,现在我们开始正式进入Java数据结构的第一章开始学习,List、ArrayList以及顺序表

2024-06-10 22:00:00 864

原创 Java(十七)---ArrayList的使用

上一篇我们模拟实现了ArrayList的部分功能,现在我们讨论如何使用Java中自带的ArrayList方法。

2024-06-10 22:00:00 1479

原创 Java数据结构准备工作---常用类

上一节课我们学习时间复杂度和空间复杂度。今天我们学习常用类这个就是我们要学习的内容。

2024-06-09 22:00:00 831

空空如也

空空如也

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

TA关注的人

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