自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 解决报错Spring MVC found on classpath, Spring Cloud Gateway at this time. Please remove spring-boot-star

Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.项目中出现这个报错网上差额很多方法都是说1.排除掉spring-webmvc<exclusions> <exclusion> <groupId>org.sprin

2021-09-25 21:30:01 3681 2

原创 Java利用线程工厂监控线程池

文章目录ThreadFactory监控线程池扩展线程池扩展线程池示例优化线程池大小线程池死锁线程池异常信息捕获ThreadFactory线程池中的线程从哪里来呢?就是ThreadFoctorypublic interface ThreadFactory { Thread newThread(Runnable r);}Threadfactory里面有个接口,当线程池中需要创建线程就会调用该方法,也可以自定义线程工厂public class ThreadfactoryText {

2021-04-29 10:04:32 106

原创 多线程之线程池

文章目录什么是线程池JDK提供与线程池相关的API线程池的计划任务线程池的底层实现线程池的拒绝策略什么是线程池在真实的生产环境中,可能需要很多的线程来支撑整个应用,当线程数量非常多时,反而会耗尽CPU资源,如果不对线程进行控制和管理,反而会影响程序的性能,线程开销主要包括:创建与启动线程的开销线程销毁的开销线程调度的开销线程数量受限CPU处理器数量​ 线程池就是有限使用线程的一种常用方式,线程池内部可以预先创建一定数量的工作线程,客户端代码直接将任务作为一个对象提交给线程池,线程

2021-04-29 10:03:58 91

原创 多线程之线程管理

文章目录1.线程组1.1返回当前main的线程组1.2 定义线程组,如果不指定线程组,则自动归为当前所属的线程1.3 定义线程组同时指定父线程1.4创建线程时指定所属线程组1.5线程组的基本操作2.捕获线程的执行异常2.1.Thread类相关异常处理方法2.2设置线程异常的回调接口方法3.注入Hook钩子线程1.线程组​ 类似于计算机中,使用文件夹管理文件,也可以使用线程组来管理线程,在线程组中定义一组相似的线程,在在线程组中也可以定义子线程组。​ Thread类有几个构造方法允许

2021-04-29 10:03:23 97

原创 生产者消费者模式

文章目录单生产和消费模式多生产和消费模式通过管道实现线程通信单生产和消费模式在Java中,负责产生数据的模块的是生产者,负责使用数据的模块是消费者,生产者消费者解决数据的平衡问题,即先有数据才能使用,没有数据时消费者需要等待。例如:有一个饭店,它有一个厨师和一个服务员,服务员必须等厨师把菜做好了,通知到服务员才能上菜,然后返回继续等待,厨师代表生产者,服务员代表消费者,两个任务在被消费和生产同时运行。public class Text17 { public static void main(

2021-04-29 10:03:02 44

原创 多线程之Lock显示锁

文章目录ThreadLocal的使用什么是Lock显示锁Lock锁的使用lock()、unlock()方法trylock(定时锁)方法trylock()lockInterruptibly方法newCondition方法公平锁与非公平锁Reentrantlock常用方法ThreadLocal的使用除了控制资源访问外,还可以通过增加资源来保证线程安全,ThreadLocal主要解决为每个线程绑定自己的值,相当于增加了一个副本,在进行数据库访问的时候,多个线程需要自己独立的 static 成员变量吗,那就需要

2021-04-29 10:02:08 88

原创 多线程之线程间通信

文章目录什么是等待通知机制等待通知机制的实现notify不会立即释放锁对象interrupt会中断线程的等待notify与notifyAll的区别wait(Long)的使用什么是等待通知机制在单线程中,要执行的操作需要满足一定条件才能执行,可以把这个操作放在if语句块中。在多线程编程中,可能A线程的条件没有满足只是暂时的,稍后其他的线程B可能会更新条件使得A线程的条件得以满足,可以将A线程暂停,直到它的条件得到满足之后再将A线程唤醒Atomic{ while(条件不成立) { 等待 } 条

2021-04-29 10:01:23 60

原创 多线程之volatile关键字

文章目录轻量级同步机制:volatile关键字volatile的作用volatile非原子特性volatile与synchronized比较常用原子类进行自增自减操作CAS使用CAS原理实现线程安全计数器CAS中的ABA问题原子变量类使用AtomicLong定义计数器轻量级同步机制:volatile关键字volatile的作用关键作用是使变量在多个线程之间可见public class VolatileText { public static void main(String[] args)

2021-04-29 10:00:42 148

原创 多线程具体实现

文章目录Java内存模型线程同步锁概述锁的作用锁的相关概念可重入性:一个线程持有该锁的时候能够再次/多次申请该锁锁的争用与调度锁的粒度内部锁:SynchronizedSynchronized同步代码块锁对象不同不能实现同步使用常量作为锁对象同步实例方法同步静态方法同步代码块和同步方法如何选择脏读线程出现异常释放锁死锁Java内存模型线程同步线程同步机制是一套适用于协调线程之间的数据访问机制,该机制可以保障线程安全java平台提供的线程同步机制包括:锁、volatile关键字、final关键字,s

2021-04-29 09:59:52 49

原创 多线程的概述

文章目录多线程创建方式一:继承Thread类多线程创建方式二:实现Runnable接口实现Runnable接口模拟简单抢票多线程方式三:实现Callable接口线程的常用方法1.1 Thread.currentThread()1.2 Thread.setName()/getName()1.3 isAlive()1.4 Sleep()1.5 getId()1.6 yieId()1.7 setPripority()1.8 interrupt()1.9 setDaemon()线程的生命周期多线程状态图多线程的

2021-04-29 09:43:15 91

原创 IDEA 2021版新建Maven、TomCat工程

文章目录2021版IDEA中Maven、TomCat配置1.基于Webapp创建一个Maven项目1.1 新建项目模板1.2 指定名称1.3 指定信息1.4 指定Maven地址1.5 构建成功1.6 在本地仓库的路径中可以看到刚刚下载的包1.7 查看配置1.8 新建两个文件夹 java和resources1.9 标记文件夹2 在IDEA中配置TomCat2.1 配置TomCat服务器2.3 访问成功2.4 Maven构成2.5 pom.xml2.6 Maven的作用2.7 IDEA生成Maven目录树

2021-04-29 09:40:22 3314

空空如也

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

TA关注的人

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