- 博客(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
原创 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
原创 3. 多线程(1) --- 创建线程,Thread类
上一节课,我们主要引出了线程,以及线程和进程的联系与区别,从这篇博客开始,我们开始编写代码了,Let’s go!
2025-01-06 22:43:03
868
原创 1. 计算机是如何进行工作的[主讲CPU和操作系统]
哈喽,各位老铁,新的一个专题—JavaEE开始启动了,在这个博客中,我们会面向企业级开发,知识点会更多,并且会有一些项目实践等等,对此,我们可以拭目以待了,而这次博客的主要内容就是一点,简单聊聊计算机是如何工作的。
2025-01-06 22:42:25
748
原创 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:10
1161
原创 Mysql(四)---增删查改(进阶)
上一篇博客,我们学习了一些主键的概念,并且分别创造了一些示例表,下面我们添加训练案例,来对增删改查进行全面的学习。
2024-08-15 00:06:36
1127
原创 初始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(二十五)---二叉树的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(十六)数据结构结构---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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人