Java基础
落叶飘淋雨
这个作者很懒,什么都没留下…
展开
-
eureka
eureka、springcloud原创 2022-09-08 17:12:09 · 163 阅读 · 0 评论 -
stream流的基本使用
public class StreamTest { public static void main(String[] args) { List<Integer> list = Arrays.asList(7, 6, 9, 3, 8, 2, 1); //遍历筛选出符合条件的元素 list.stream().filter(x -> x > 6).forEach(System.out::println); //匹配原创 2021-06-27 22:47:34 · 541 阅读 · 0 评论 -
线程的死锁
造成死锁的原因:两个线程同时互相持有各自的锁,就会造成死锁。例如下面的例子:张三首先镜子,照了镜子之后需要口红,而李四是首先口红,涂完口红后需要照镜子。如果两个线程同时进来,张三拿到镜子,李四拿到口红,张三等待涂口红后这个synchronize的方法才能结束释放,李四需要照了镜子之后synchronize的方法结束释放口红,这样就形成张三等待李四的口红,李四等待张三的镜子,互相持着自己的锁没有释放,就形成了死锁。避免死锁:不要在同一个同步块,同时持有多个对象的锁。/** 死锁:过多的同步可能会造原创 2021-05-28 01:26:09 · 184 阅读 · 0 评论 -
线程的生命周期
新生状态用new关键字建立一个线程对象后,该线程对象处于新生状态,拥有自己的内存空间,通过start可以进入就绪状态。就绪状态处于就绪状态线程具备了运行条件,等待cpu的调度就能进入运行状态。运行状态在运行状态的线程会执行自己run方法中的代码,直到等待某资源而阻塞或完成任务而死亡,在给定的时间片内没有执行借宿,cpu就会切换调度其他线程,该线程就重返回就绪状态。阻塞状态处于运行的线程在某些情况下,执行了sleep方法,或等待I/O设备资源,将让出cpu并暂时停止自己的运行,进入阻塞状态。阻.原创 2021-05-28 00:14:24 · 126 阅读 · 0 评论 -
多线程简介与三种创建方法
进程和线程进程是指一种正在运行的程序,有自己的地址空间。特点:动态性、并发性、独立性、并发和并行(并发是指多个cpu同时执行多个任务,并行是一个cpu采用时间分片同时执行多个任务)线程是进程的一个执行单位,他是程序中一个单一的顺序控制流程,又称为轻量级进程,如果进程同时运行多个线程来同时完成不同的工作,则称为多线程。特点:轻量级进程、独立调度的基本单位、可并发执行、共享进程资源线程的三种创建方法1、继承Thread类实现run方法public class TestThread {原创 2021-05-27 23:51:56 · 113 阅读 · 0 评论