摘要: 阅读全文
posted @ 2022-06-03 14:28 浅枫 阅读(18) 评论(0) 推荐(0) 编辑
摘要: Lock锁只能用于代码块,是显示锁,需要自己开启和关闭锁,一般在try中加锁,finally中解锁。synchronized可用于方法和代码块,是隐式锁,出了作用域会行解锁。可优先考虑使用Lock锁,调度性能相对高一点,并且提供了更多的子类。如可重入锁 ReentrantLock 阅读全文
posted @ 2022-06-03 14:08 浅枫 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 多个线程各自占有一定的资源(拿到了对象锁),但又需要其他线程拥有的资源,互相等待对方释放资源,导致停止执行的情况。同时拥有两个以上的锁,就可能有死锁的问题。 产生死锁的四个必要条件: 1、互斥条件:一个资源每次只能被一个进程使用 2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放 阅读全文
posted @ 2022-06-03 13:25 浅枫 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 1、先通过注释写思路,再补充细节 2、集合都加泛型进行限制 阅读全文
posted @ 2022-06-03 12:25 浅枫 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 线程同步:多个线程操作同一资源 并发:同一个对象被多个线程同时操作 解决线程同步问题的核心,是让线程排好队一个个来(队列),同时还要使用锁确保安全。 要确保线程安全,必然会降低效率。 线程同步 方式一:使用synchronized修饰方法或代码块 每个对象都有一把锁,使用synchronized修饰 阅读全文
posted @ 2022-05-28 17:41 浅枫 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-05-28 13:17 浅枫 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 批量替换 方式1:按住shift + alt,鼠标左键选择多个位置或区域(可以多次选择) 方式2:按住鼠标中键选择多个位置或区域(多行的同一列位置或一个矩形区域) 阅读全文
posted @ 2022-05-28 10:24 浅枫 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 主题配置: 装Material Theme UI 插件 ,选择Solarized Light主题完整教程:https://www.jianshu.com/p/07517cb518df 重启后样式失效问题解决: 也可根据IDEA版本,在插件官网下载兼容版本进行安装 插件官网 https://plugi 阅读全文
posted @ 2022-05-28 10:14 浅枫 阅读(1387) 评论(0) 推荐(0) 编辑
摘要: 前提:函数式接口(只有一个抽象方法) 1、外部类实现接口 2、静态内部类实现接口(static修饰) 3、局部内部类实现接口(main方法中) 4、匿名内部类实现接口(没有类名,通过接口名进行创建) 5、Lambda表达式(函数式接口,写法固定,只有一个方法,所以程序能够识别) 6、Lambda表达 阅读全文
posted @ 2022-05-26 21:24 浅枫 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 线程的创建方式 1、继承Thread类 Java只能单继承,不灵活 2、实现Runnable接口 Java可以多实现,灵活 3、实现Callable接口 有返回值 可以抛出异常 使用静态代理,目标类可以专注做自己的事,代理类可以实现目标类做不了的事 目标类实现了Runable接口,Thread类也实 阅读全文
posted @ 2022-05-26 21:20 浅枫 阅读(19) 评论(0) 推荐(0) 编辑