E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
jmm(java线程内存模型)
Java
内存模型
之原子性
文章目录1.什么是原子性2.Java中的原子操作有哪些3.long和double的原子性4.原子操作+原子操作!=原子操作1.什么是原子性一系列的操作,要么全部执行成功,要么全部不执行,不会出现执行一半的情况,是不可分割的。注意:i++不是原子性的,可以用synchronized实现原子性。2.Java中的原子操作有哪些除long和double之外的基本类型(int,byte,boolean,sh
早睡身体好呀
·
2024-01-12 23:02
Java
java
jmm
原子性
终于搞懂了苦恼已久的JVM的类加载机制
如果懂得了JVM的运行原理和
内存模型
,像是一些JVM调优、垃圾回收机制等等的问题我们才能有一个更清晰的概念。
平凡的柚子
·
2024-01-12 22:43
高频面试--Rx
Java线程
切换的原理
所以本篇就从源码的角度分析Rx
Java线程
切换的原理。注意:本篇的源码基于RxJava3.0.7,RxAndroid3.
小猪快跑22
·
2024-01-12 21:18
高频面试
RxJava
线程切换
美团面试官:小伙子,说一下volatile关键字原理吧?
前言在讲述Volatile关键字之前,我们先大概讲一下cpu多核并发缓存架构,再到
JMM
,即java
内存模型
,最后到volatile关键字。
前程有光
·
2024-01-12 19:54
关于c/c++
2、C语言模拟了经典计算机体系结构“单CPU
内存模型
”,对硬件的直接操作使得C语言能在在系统编程领域屹立不倒。
zhiwang1757
·
2024-01-12 18:38
【JUC】进程和线程
Java线程
和操作系统的线程有啥区别?️JDK21的虚拟线程虚拟线程和平台线程的对比什么是进程?进程是程序的一次执行过程,是系统运行程序的基本单位。
孤寒_imbzz
·
2024-01-12 18:25
JUC并发编程
JUC
java
字节跳动后端面经(11)
区别TCP可靠传输原理,三次握手和四次挥手,为什么要四次挥手3次握手4次挥手问HTML页面渲染过程DNS域名解析过程进程与线程线程间通信的方式死锁Java基础,面向对象继承重载多态、基本变量类型JVM
内存模型
dybaby
·
2024-01-12 18:36
内存模型
与无锁编程
目录概念理解happens-beforesynchronizes-with
内存模型
顺序一致排序自由序列获取-释放序列lock-free数据结构本文主要介绍C++新标准中的
内存模型
和无锁编程的原理和实现概念理解
General_G
·
2024-01-12 17:49
C++编程
c++
linux
windows
无锁编程
线程栈默认大小
不显式设置-Xss或-XX:ThreadStackSize时,在Linuxx64上ThreadStackSize的默认值就是1024KB,给
Java线程
创建栈会用这个参数指定的大小。
1f8f4365addf
·
2024-01-12 12:50
Java 线程池中worker
Java线程
池中worker在
java线程
中,真正执行计算操作的内容是在一个worker类中。
qingshuiting
·
2024-01-12 09:52
java线程
中断之interrupt和stop
java线程
中断之interrupt和stopinterrupt方法当我们调用线程的sleep方法或者join方法时,都可以让某一些线程处于等待状态,调用当前线程的interrupt()方法就可以打断该阻塞状态
小人物不说大话
·
2024-01-12 07:42
java线程
池参数及合理设置
java线程
池参数及合理设置线程池的7大核心参数corePoolSize核心线程数目核心线程会一直存活,及时没有任务需要执行,当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理当设置
IT枫斗者
·
2024-01-12 06:41
JAVA基础工作中实际总结
编程学习
java
开发语言
word
微服务
面试
并发编程03-Java
内存模型
01
Java
内存模型
基础并发编程模型的两个关键问题线程之间的通信线程之间的同步Java
内存模型
的抽象结构从源代码到指令序列的重排序Happen-Before简介重排序数据依赖性as-if-serial语义程序顺序规则顺序一致性数据竞争顺序一致性顺序一致性
内存模型
同步程序的顺序一致性效果未同步程序的执行特征
叫我胖虎大人
·
2024-01-12 06:24
面试宝典进阶之
Java线程
面试题
T1、【初级】线程和进程有什么区别?(1)线程是CPU调度的最小单位,进程是计算分配资源的最小单位。(2)一个进程至少要有一个线程。(3)进程之间的内存是隔离的,而同一个进程中的线程之间是共享内存的。T2、【初级】线程的创建有哪几种方式?(1)继承Thread类,重写run方法。(2)实现Runnable接口,重写run方法。(3)实现Callable接口,重写call方法,结合Future创建线
Long里小花荣
·
2024-01-12 04:20
面试
java
职场和发展
一些Java多线程面试题及回答
Java线程
面试问题在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。
java欧阳丰
·
2024-01-12 03:31
Java线程
池(Executor)详解和用法
背景面试的时候经常会被三连问。用过吗?如何用的?场景是什么?所以有必要好好的研究下线程池迫在眉睫。1、讲解之前先了解下retry:因为源码中有这个retry标记先看一个简单的例子/***@authorshuliangzhao*@Title:RetryTest*@ProjectNamedesign-parent*@Description:TODO*@date2019/6/123:43*/public
境里婆娑
·
2024-01-11 23:14
【
JAVA线程
实现】
Java线程
池1.前言2.实现线程的七种方法2.1.继承Thread类2.2.匿名内部类继承Thread类2.3.实现Runnable接口2.4.匿名内部类实现Runnable接口2.5.使用Lambda
孤雨蝉鸣
·
2024-01-11 22:50
java基础
java
开发语言
线程
juc
Java线程
学习笔记
1、判断线程存活1.当线程run()或者call()方法执行结束,线程进入终止状态2.当线程内发生异常,并且异常没有被捕获,线程进入终止状态3.线程调用stop()方法后,线程进入终止状态(不推荐使用)当主线程结束时,其他线程不受任何影响,并不会随之结束。一旦子线程启动起来后,它就拥有和主线程相同的地位,它不会受主线程的影响。为了测试某个线程是否已经死亡,可以调用线程对象的isAlive()方法,
好教员好
·
2024-01-11 07:37
java
C++核心编程:P18->STL----常用算法(上)
本系列文章为黑马程序员C++教程学习笔记,前面的系列文章链接如下C++核心编程:P1->程序的
内存模型
C++核心编程:P2->引用C++核心编程:P3->函数提高C++核心编程:P4->类和对象----
爱你哦小猪猪
·
2024-01-11 06:48
C++核心编程
c++
算法
开发语言
面试
c语言
JVM基础(3)——JVM垃圾回收机制
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介我们在JVM
内存模型
一章中,介绍了JVM中的Java堆内存区域。
smart哥
·
2024-01-11 05:55
jvm专题
jvm
JVM基础(2)——JVM
内存模型
一、简介JVM会加载类到内存中,所以JVM中必然会有一块内存区域来存放我们写的那些类。Java中有类对象、普通对象、本地变量、方法信息等等各种对象信息,所以JVM会对内存区域进行划分:JDK1.8及以后,上图中的方法区变成了Metaspace——元数据区。我们本章的目的,就是介绍JVM中各块内存区域的功能,其中都是存放的哪些java对象信息。二、方法区方法区只存在于JDK1.8以前的版本,主要是存
smart哥
·
2024-01-11 05:52
jvm专题
jvm
java内存溢出初步排查
java
内存模型
java内存空间主要包括以下几个部分:方法区、堆内存、虚拟机栈、本地方法栈方法区:主要存放已被加载的类信息,常量,静态变量等。
即将头秃的程序媛
·
2024-01-10 19:18
java
开发语言
jvm与
jmm
jmm
:
内存模型
,共享内存中多线程程序读写操作cas乐观锁,比较再交换volatile禁止指令重排序/编译优化器,写变量volatile加代码最后,读变量则写开始位置jcstress多线程测试工具aqs
星辰_mya
·
2024-01-10 19:00
jvm
【读源码】Synchronized原理分析-
Java线程
互斥同步
文章目录一、Synchronized的使用1.1对象锁1.2类锁二、Synchronized原理分析2.1加锁和释放锁的原理2.2可重入原理:加锁次数计数器2.3保证可见性的原理:
内存模型
和happens-before
佩洛君
·
2024-01-10 15:11
Java源码阅读
java
开发语言
jvm
一篇文章讲清楚Java并发理论基础
文章目录前言一、计算机操作系统的木桶效应二、CPU、内存和I/O设备之间的速度不匹配的问题解决三、并发出现线程不安全的根源:可见性、原子性和有序性问题四、JAVA是怎么解决并发问题的:
JMM
(Java
内存模型
佩洛君
·
2024-01-10 15:10
面试
学习Java必看
java
开发语言
Java线程
池
目录一、什么是线程池二、线程池的使用ThreadPoolExecutorExecutors三、简单模拟实现线程池思路分析具体实现完整代码一、什么是线程池线程池能够存储一定数量的线程,当我们需要时,就从池中取出使用,用完再还给线程池。为什么要使用线程池?线程池能够减少每次启动、销毁线程的损耗,同时,在执行任务时,不需要等待线程创建就可直接执行,提高了响应速度,此外,由线程池统一调度和分配线程,有利于
楠枬
·
2024-01-10 15:29
JavaEE
java
开发语言
线程池
多线程
java连接池、C3P0、Druid德鲁伊连接池技术
java线程
池连接池C3P0Druid连接池概念:其实就是一个容器(集合),存放数据库连接的容器。
LIJINGPO
·
2024-01-10 09:04
java
JDBC
java
java 线程有那些状态如何保证线程安全
Java线程
状态有以下几种:新建状态(New):线程对象被创建后,就进入了新建状态。例如,Threadthread=newThread()。就绪状态(Runnable):也被称为“可执行状态”。
zz_ll9023one
·
2024-01-10 09:33
java
JVM
内存模型
(
JMM
)
JMM
描述了Java多线程对共享变量的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。
币来币往
·
2024-01-10 08:57
调用
Java线程
相关的API为什么能够控制操作系统线程?
今天我们解决
Java线程
的这五个问题:
Java线程
创建的完整流程Java的线程是何时与JVM线程绑定的JVM线程是何时与OS线程绑定的
Java线程
对应的OS线程有什么特殊的地方调用JavaAPI为什么能够操作
子牙老师
·
2024-01-10 06:03
java
jvm
计算机底层
Java线程
唠一唠
Java线程
池
第1章:引言大家好,我是小黑,咱们今天来聊聊
Java线程
池,如果没有线程池,每个线程都需要手动创建和销毁线程,那将是多么低效和耗资源啊!
宋小黑
·
2024-01-09 22:15
java
并发
多线程
JAVA线程
进阶2
目录一、Callable接口二、创建线程的方法三、ReentrantLock(可重入锁)四、信号量(Semaphore)五、CountDownLatch六、线程不安全的集合类解决措施一、Callable接口1、作用也是创建线程的接口,Runnable接口不注重返回结果,该接口关注线程的结果。2、代码应用eg:计算1+2+3......+1000publicclasstest{publicstati
ambition…
·
2024-01-09 16:41
java
开发语言
JAVA线程
目录一、可重入锁二、死锁三、内存可见性问题四、wait和notify五、单例模式六、生产者消费者模型七、定时器八、线程池一、可重入锁publicclasstest{publicstaticvoidmain(String[]args){Objectlocker=newObject();Threadt1=newThread(()->{synchronized(locker){System.out.pr
ambition…
·
2024-01-09 16:11
java
开发语言
深入解析
Java线程
池的扩容机制与拒绝策略
深入解析
Java线程
池的扩容机制与拒绝策略
Java线程
池是多线程编程中一项重要的工具,它能够有效地管理和调度线程,提高程序的并发性能。
极客李华
·
2024-01-09 15:14
Java基础
java
python
开发语言
Java - JVM
内存模型
3分钟教你成为JVM的尖子生
在很久很久以前,也就是1992年3月份,有一所NB轰轰的咖啡学校诞生了,它的名字叫JAVA,学校的校规极其的厉害,普通学生闻风丧胆,唯一尖子生般的人才能留下来,别猜了那人就是"你"。本色出演名单姓名别名简称学校JavaVirtualMachineJVM教室堆空间Heap老师垃圾回收器MinorGC/MajorGC学生数据Object学校平面图俗名使用权限简称Metaspace教室学生会,校长专用M
大猪大猪
·
2024-01-09 15:57
Java并发编程之
Java线程
文章目录前言01、线程简介02、线程池03、线程间通信总结前言记录一下Java并发编程的知识点。有部分内容是借鉴《Java并发编程的艺术》这本书的。本次先介绍一下线程。01、线程简介进程和线程的区别进程:当一个程序被运行,即把程序的代码从磁盘加载到内存,就是开启了一个进程。进程可以理解为程序的一个实例(例如打开网易云、浏览器)。线程:一个进程里面可以有多个线程,每个线程执行不同的任务(比如360安
Be reborn
·
2024-01-09 12:20
Java并发编程
java
java线程
池详解
线程池使用场景?java中经常需要用到多线程来处理一些业务,我们非常不建议单纯使用继承Thread或者实现Runnable接口的方式来创建线程,那样势必有创建及销毁线程耗费资源、线程上下文切换问题。同时创建过多的线程也可能引发资源耗尽的风险,这个时候引入线程池比较合理,方便线程任务的管理。java中涉及到线程池的相关类均在jdk1.5开始的java.util.concurrent包中,涉及到的几个
人生就像一场戏!
·
2024-01-09 12:42
多线程
spring
boot
redis
java
深入浅出java虚拟机
Java虚拟机:
内存模型
详解我们都知道,当虚拟机执行Java代码的时候,首先要把字节码文件加载到内存,那么这些类的信息都存放在内存中的哪个区域呢?
AI乔治
·
2024-01-09 11:40
Android 12 以上PendingIntent使用注意FLAG_IMMUTABLE
reuresthatoneofFLAG_MMUTABLErFLA-MUTABLEbespecfedwhencreatingaPendinglntent.StronglyconsiderusingFLAG_
JMM
UTABLEonl
Zsama666
·
2024-01-09 08:03
android
android
JVM中虚拟机栈和本地方法栈等
JMM
内存区域可以粗略的区分为堆内存(Heap)和栈内存
LIJINGPO
·
2024-01-09 04:29
jvm
一文搞定
JMM
核心原理
公众号《鲁大猿》,寻精品资料,帮你构建Java全栈知识体系www.jiagoujishu.cn(架构技术.cn)
JMM
引入从堆栈说起JVM内部使用的Java
内存模型
在线程栈和堆之间划分内存。
架构技术专栏
·
2024-01-09 04:45
后端
java线程
之Timer实现原理解析
1.整体图解整体结构图解2.包含任务执行逻辑的TimerTask抽象类任务抽象类TimerTask的生命周期表示如下:TimerTask的生命周期任务抽象类TimerTask的属性详细解释如下:TimerTask类的属性解析任务抽象类TimerTask的实例方法:TimerTask类的实例方法3.任务队列TaskQueue类TaskQueue内部采用最小堆来实现优先队列,其各种操作的复杂度不超过O
dimdark
·
2024-01-09 01:52
多线程与JUC
多线程与JUC1.进程与线程1.1进程与线程的概念及对比1.2并行与并发的概念2.
Java线程
2.1线程的分类2.2线程的创建方式2.3查看进程线程的方法2.4线程的相关方法2.4.1start和run
Loser_Failure
·
2024-01-08 23:15
Java
java
JVM
内存模型
学习
内存划分java虚拟机按照运行时内存使用区域划分如图:一、线程私有区虚拟机栈1、虚拟机栈描述的是Java方法执行的动态
内存模型
,一个线程对应一个栈,每个方法在执行的同时,都会创建一个栈帧,伴随着方法从创建到执行完成
最美的风景
·
2024-01-08 23:26
C++ 基础知识体系
知识体系宏声明与定义函数函数重载函数指针内敛函数默认参数函数对象面向对象面向对象与面向过程的区别封装数据成员成员方法静态成员继承单继承多继承虚继承菱形继承多态虚函数纯虚函数抽象类五大原则单一职能里氏替换开放封闭依赖转置接口分离模版类模版函数模版命名空间内存管理
内存模型
存储持续性作用域链接性动态内存分配动态内存释放
MessiGo
·
2024-01-08 21:14
C++
编程基础
c++
开发语言
JVM_
JMM
: StackOverFlow栈溢出
使用递归演示,自己调用自己导致栈空间溢出,递归和回溯。源代码:MyTest3.javapublicclassMyTest3{privateintlength;publicintgetLength(){returnlength;}publicvoidtest(){this.length++;test();}publicstaticvoidmain(String[]args){MyTest3myTes
CalmHeart
·
2024-01-08 21:26
多线程Multi-Threading
如果没有同步,当一个
Java线程
在修改一个共享变量时,另外一个线程正在使用或者更新同一个变量,这样容易导致程序出现错误的结果。有两种方式,分别是:同步代码块和同步方法;1、解释实现多线程的几种方法?
weixin_34233679
·
2024-01-08 21:53
java
python
数据库
java 面试 多线程_Java程序员面试中的多线程问题
这篇文章收集了
Java线程
方面一些典型的问题,这些问题经常被高级工程师所问到。0.Java中多线程同步是什么?在多线程程序下,同步能控制对共享资源的访问。
木木三皮尔
·
2024-01-08 21:53
java
面试
多线程
jvm内存分配&回收策略
jvm内存分配&回收策略jvm内存结构,
内存模型
以及jvm内存调优相比很多的java的程序员可能一味的觉得我
javap
·
2024-01-08 17:35
Java线程
池
Java线程
池1.为什么使用线程池?2.线程池执行原理?3.线程池参数有哪些?4.线程池大小怎么设置?线程池:一个管理线程的池子1.为什么使用线程池?
孤雨蝉鸣
·
2024-01-08 15:44
java基础
java
开发语言
juc
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他