首页
Portal
专栏
标签
关于
搜索
文章
帖子
进击架构,扶摇直上九万里,卷出天际~
互联网时代,海量信息杂乱冗余,如何快速的获取到更高质量的信息?关注我,我们一起从0进击架构,一起成长!
最新内容
近期热门
技术专栏
计算机科学
编程语言
框架与中间件
架构设计
音视频
AI
实战专栏
问题记录
技术实战
面试亮剑
程序人生
善用佳软
随笔记录
深入解析ThreadLocal以及内存泄漏防范 多线程中篇(十七)
[md]### 简介 从名称看,ThreadLocal 也就是thread和local的组合,也就是一个thread有一个local的变量副本 **ThreadLocal提供了线程的本地副本,也就是说每个线程将会拥有一个自己独立的变量副本** 方法简洁干练,类信息以及方法列表如下 !(data/attachment/forum/202207/17/222947wc2zw8jxrq8kq82y.png?imageMogr2/aut ...
赞
·
阅读 8137
·
程序员潇然
·
2022-07-17
java线程通信与协作小结 多线程中篇(十六)
[md]在锁与监视器中我们对Object中的方法进行了简单介绍 以监视器原理为核心,三个方法:wait,notify、notifyAll,可以完成线程之间的通信 当然,不会像“语言”似的,有多种多样的沟通语句 **只有两个关键词:“等待”与“唤醒”** 围绕着同一个监视器的等待与唤醒,就可以完成线程之间的协作 **之所以这三个方法是O ...
赞
·
阅读 7820
·
程序员潇然
·
2022-07-17
sleep、yield、join简介与用法 sleep与wait区别 中篇(十五)
[md]Object中的wait、notify、notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁(监视器)为中心的通信方法 除了他们之外,还有用于线程调度、控制的方法,他们是sleep、yield、join方法,他们可以用于线程的协作 ...
赞
·
阅读 8384
·
程序员潇然
·
2022-07-17
多线程协作wait、notify、notifyAll方法简介理解使用 中篇(十四)
[md]在锁与监视器中有对wait和notify以及notifyAll进行了简单介绍 所有对象都有一个与之关联的锁与监视器 wait和notify以及notifyAll之所以是Object的方法就是因为任何一个对象都可以当做锁对象(锁对象也是一种临界资源) 而等待与唤醒本身就是指的临界资源 * 等待,等待什么?等待获取临界资源 * 唤醒,唤醒什么?唤 ...
赞
·
阅读 7934
·
程序员潇然
·
2022-07-17
final 关键字与安全发布 多线程中篇(十三)
[md]### final的通常理解 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量) 大家应该都知道final表示最终的、最后的含义,也就是不能在继续 修饰类表示不能继承,修饰方法表示不能重写,修饰变量表示不能修改 !(data/attachment/forum/202207/17/221350ulcamcyzaxc4y4ot.png?imageMogr2/aut ...
赞
·
阅读 8282
·
程序员潇然
·
2022-07-17
volatile关键字可见性有序性与synchronized区别 中篇(十二)
[md]### 概念 JMM规范解决了线程安全的问题,主要三个方面:原子性、可见性、有序性,借助于synchronized关键字体现,可以有效地保障线程安全(前提是你正确运用) 之前说过,这三个特性并不一定需要全部同时达到,在有些场景,部分达成也能够做到线程安全。 volatile就是这样一个存在,对可见性和有序性进行保障 !(dat ...
赞
·
阅读 9064
·
程序员潇然
·
2022-07-17
synchronized关键字简介 多线程中篇(十一)
[md]前面说过,Java对象都有与之关联的一个内部锁和监视器 内部锁是一种排它锁,能够保障原子性、可见性、有序性 从Java语言层面上说,内部锁使用synchronized关键字实现 synchronized可以修饰方法,静态方法和实例方法都可以,也可以修饰一段代码({} 包裹) !(data/attachment/forum/202207/17/220715xcqi4kuhkz0akxu ...
赞
·
阅读 9545
·
程序员潇然
·
2022-07-17
Java内存模型JMM 高并发原子性可见性有序性简介 中篇(十)
[md]### JVM运行时内存结构回顾 在JVM相关的介绍中,有说到JAVA运行时的内存结构,简单回顾下 整体结构如下图所示,大致分为五大块 !(data/attachment/forum/202207/17/215911nu6zzmvmo1xc6ipc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png") 而对于方法区中的数据,是属于所有线程共享的数据结 ...
赞
·
阅读 10215
·
程序员潇然
·
2022-07-17
java锁与监视器为什么wait、notify、notifyAll定义在Object中篇(九)
[md]java锁与监视器概念 为什么wait、notify、notifyAll定义在Object中? 在Java中,与线程通信相关的几个方法,是定义在Object中的,大家都知道Object是Java中所有类的超类 在Java中,所有的类都是Object,借助于一个统一的形式Object,显然在有些处理过程中可以更好地完成转换,传递,省去了一些不必要的麻烦 另外有些 ...
赞
·
阅读 9674
·
程序员潇然
·
2022-07-17
interrupt interrupted isInterrupted 对比、区别联系 多线程中篇(八)
[md]interrupt interrupted isInterrupted 是三个“长相”非常类似的方法。 本文将对这三个方法简单的对比下,首先了解下线程停止的方式 ### 线程停止方式 在Java中如果想停止一个线程,有三种方法 * 采用退出标志,使得run方法执行完之后线程自然终止 * 使用stop强行终止线程,但该方法由于安全问题已经被deprecated * ...
赞
·
阅读 10098
·
程序员潇然
·
2022-07-17
1 ...
15
16
17
18
19
20
21
22
23
... 26
/ 26 页
下一页
疯狂的字节X
目前专注于分享Java领域干货,公众号同步更新。原创以及收集整理,把最好的留下。
包括但不限于JVM、计算机科学、算法、数据库、分布式、Spring全家桶、微服务、高并发、Docker容器、ELK、大数据等相关知识 一起进步,一起成长。
246
文章
公众号
加微信
EMail
捐助我
Links
微博
知乎
Github
gitee
扫码关注公众号
关闭
扫码加我微信
关闭
微信、支付宝 扫码捐助
关闭