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
并发编程JUC
现在的Java面试已经和2年前完全不一样了!
最近和不少出去面试的朋友闲聊,都发现,两年前面试高级开发,会
JUC
、JVM相关的知识点都是加分项,现在反而成了基本要求,不会这
Java程序员YY
·
2023-11-24 10:26
字节跳动后端Java面试题——MySQL、Tomcat、设计模式、
并发编程
为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。如有侵权请联系我文章的不足和错误请指正,好的建议也不要吝啬,我都会采纳并更正您的点赞是我持续更新的动力一、MySQL部分数据库三范式是什么?有哪些数据库优化方面的经验?请简述常用的索引有哪些种类?以及在MySQL数据库中索引的工作机制是什么?MySQL的基础操作命令:MySQL的复制原理以及流程。MySQL支持的复
Java_苏先生
·
2023-11-24 09:20
JDK1.5 新特性【反射】
反射机制、自定义注解、设计模式、AOP技术、Netty、Spring架构、SpringBoot自定义插件、多线程或
JUC
。2、反射技术2.1、概念Java中的反射是指程序在运行时动态地获取类的信
让线程再跑一会
·
2023-11-24 08:04
JavaSE
java
开发语言
JUC
之深入理解ReentrantReadWriteLock
GitHub:https://github.com/JDawnF/learning_noteReentrantReadWriteLock,读写锁,是用来提升并发程序性能的锁分离技术的Lock实现类。可以用于“多读少写”的场景,读写锁支持多个读操作并发执行,写操作只能由一个线程来操作。ReadWriteLock使得你可以同时有多个读取者,只要它们都不试图写入即可。如果写锁已经被其他任务持有,那么任何
striveb
·
2023-11-24 08:39
JUC
JUC
深入理解AQS之ReentrantReadWriteLock详解
并发编程
系列读写锁介绍现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁(读多写少)。
lang20150928
·
2023-11-24 08:36
其他
基础
java
开发语言
后端
JUC
(Java Util Concurrent)多线程并发库
JUC
(JavaUtilConcurrent)是Java中用于编写多线程并发程序的库。
风月无边
·
2023-11-24 08:30
Java
java
深入探讨Python中的协程
协程是一种轻量级的
并发编程
方式,可以在单个线程内实现并发执行的效果。在Python中,协程通过asyncio模块提供的异步编程功能来实现。本文将详细介绍Python中协程的概念、使用方法和示例代码。
冰雪之境
·
2023-11-24 06:09
python
java
开发语言
Python
golang
并发编程
go的
并发编程
go在语言层面支持并发,go标准库提供的所有系统调用操作(包括所有同步IO操作),都会分配CPU给其他goroutine,这使得轻量级线程的切换管理不依赖于系统的线程和进程,也不需要依赖于
一弓虽
·
2023-11-24 05:54
go基础学习
golang
Go语言工程进阶-
并发编程
这是我参与「第五届青训营」笔记创作活动的第3天前言基于前文的Go语言基础语法,本文主要介绍Go语言进阶编程中的
并发编程
,从
并发编程
的视角介绍Go语言高性能的本质。
沐雨橙风24
·
2023-11-24 05:24
青训营笔记
go
Go
并发编程
详解
概述简而言之,所谓
并发编程
是指在一台处理器上“同时”处理多个任务。随着硬件的发展,并发程序变得越来越重要。Web服务器会一次处理成千上万的请求。
金戈鐡馬
·
2023-11-24 05:53
Go语言
golang
后端
开发语言
go语言
并发编程
(一)
一、协程Goroutine通常情况下,程序在运行时只有一条主协程,按照顺序的形式来进行执行。当我们想让程序的两个函数及多个函数进行并发执行时,需要在函数名前加上关键字go,来为程序建立一个子协程。在子协程结束后,主协程才会结束。通常,应用在Web服务器端来给用户提供信息。import"fmt"import"time"funcshowMessage(msgstring){fori:=0;i<=6;i
冰激凌不是冰的
·
2023-11-24 05:53
go并发
golang
开发语言
后端
Go语言
并发编程
:通道(Channel)的使用
Go语言
并发编程
:通道(Channel)的使用Go语言提供的协程(goroutine)来进行
并发编程
,协程是轻量级线程,对资源消耗相对线程来说比较小,一个程序中可以同时运行成千上万个协程。
go lang
·
2023-11-24 05:21
go
golang
go
【Go语言学习】——
并发编程
并发编程
参考博客go语言中的并发是通过用户态的线程实现的,相比起java需要自己维护线程池并进行调度和上下文切换,go主需要利用goroutine去管理并发,并且相比内核态的线程更加轻量化,可以创建成千上万的
KayCh
·
2023-11-24 05:20
学习
golang
java
【Hello Go】Go语言
并发编程
并发编程
概述基本概念go语言的并发优势goroutinegoroutine是什么创建goroutine如果主goroutine退出runtime包GoschedGoexitGOMAXPROCSchannel
学习同学
·
2023-11-24 05:19
go语言
golang
算法
开发语言
Java基础-
并发编程
-原子类的使用与原理解析
Java工程师知识树/Java基础原子类概述在JDK1.5版本之前,多行代码的原子性主要通过synchronized关键字进行保证。在JDK1.5版本,Java提供了原子类专门确保变量操作的原子性。原子类是java.util.concurrent.atomic开发包下的类:原子类的原理原子类的原理:原子类是通过自旋CAS操作volatile变量实现的。CAS是compareandswap的缩写,即
HughJin
·
2023-11-24 04:39
03弱引用内存泄露和hash冲突-ThreadLocal详解-
并发编程
(Java)
文章目录1问题2内存泄露3弱引用4问题分析4.1key为强引用4.2key为弱引用4.3内存泄漏的真正原因4.4为什么Entry的key使用弱引用5hash冲突的解决5.1hash计算5.2set()方法中的hash冲突解决5.3remove()中的hash冲突1问题如果我们在使用ThreadLocal的过程中发现有内存泄漏的情况,是不是这个内存泄漏跟Entry中使用弱引用的key有关系?下面我们
gaog2zh
·
2023-11-24 01:15
#
并发编程
ThreadLocal
并发编程
Java并发之原子变量及CAS算法-上篇
Java并发之原子变量及CAS算法-上篇概述本文主要讲在Java
并发编程
的时候,如果保证变量的原子性,在JDK提供的类中式怎么保证变量原子性的呢?。
凯哥Java
·
2023-11-24 01:42
美团二面:聊聊线程池设计与原理,由表及里趣味解析
关于线程池,无论是在实际的项目开发还是面试,它都是
并发编程
中当之无愧的重中之重。因此,掌握线程池是每个Java开发者的必备技能。
该用户快成仙了
·
2023-11-24 00:11
面试
java
线程池
java
并发编程
(二)之线程池
文章目录一摘要二线程池的好处三线程池解决的问题四ThreadPoolExecutor总体设计五ThreadPoolExecutor核心参数5.1corePoolSize5.2maximumPoolSize5.3keepAliveTime5.4unit5.5workQueue5.6threadFactory5.7handler六ThreadPoolExecutor参数设置6.1corePoolSiz
l昨日青天
·
2023-11-24 00:40
并发编程
java
线程池
并发编程
面试官:来!聊聊线程池的实现原理以及使用时的问题
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多Spring源码分析和Java
并发编程
文章。
天堂2013
·
2023-11-24 00:38
多线程
Java
线程池
并发
多线程及
并发编程
之线程池一
为什么使用线程池呢?Java中的线程池是运用场景最多的并发框架,但思考下为什么要使用线程池呢?(1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。(2)提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。(3)提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是如果想要合
都要好好的O
·
2023-11-24 00:36
并发编程
并发编程
多线程
线程池
Java
并发编程
学习——线程池
此文章大部分内容出自《Java
并发编程
的艺术》第九章Java中
Mr..Li
·
2023-11-24 00:05
Java
Java
线程池
go语法 — channel的基础用法
1、channel介绍Channel是go语言内置的一个非常重要的特性,也是go
并发编程
的两大基石之一(另一个是go,也就是goroutine),Go内建channel实现了go协程之间数据的读写相关操作
RachelHwang
·
2023-11-23 22:09
go
golang
开发语言
后端
go
并发编程
之JMM&volatile详解
系列文章目录Java
并发编程
技术知识点梳理(第一篇)操作系统底层工作的整体认识Java
并发编程
技术知识点梳理(第二篇)
并发编程
之JMM&volatile详解Java
并发编程
技术知识点梳理(第三篇)CPU
yemuxiaweiliang
·
2023-11-23 19:33
并发编程
java
后端
JUC
之Atomic原子类
目录一.前言二.CAS和Unsafe2.1.CAS2.2.sun.misc.Unsafe三.java.util.concurrent.atomic包下各个类3.1.原子更新基本类型3.2.原子更新数组3.3.原子更新引用类型3.4.原子更新字段类一.前言java.util.concurrent.atomic包提供了一些基于CAS(Compare-and-Swap)算法的原子操作类,用于在多线程环境
流华追梦^_^
·
2023-11-23 18:25
Java
java
开发语言
Java volatile详解
二
并发编程
的3个基本概念1.原子性
Big Skipper
·
2023-11-23 18:24
JAVA基础
JUC
并发
CopyOnWriteArrayListArrayList并发写入时线程不安全CopyOnWriter写入时复制,COW,计算机程序设计领域的一种优化策略读写分离ReadWriteLock读的时候可以被多线程读写的时候只能一个线程去写读-读:可以共存读-写、写-写:不能共存独占锁(写锁):一次只能被一个线程占有共享锁(读锁):多个线程可以同时占有BlockingQueue阻塞队列使用条件:多线程并
潘晟
·
2023-11-23 18:21
Java
并发编程
(07):Fork/Join框架机制详解
1、编码案例基于1+2..+100的计算案例演示Fork/Join框架基础用法。importjava.util.concurrent.ForkJoinPool;importjava.util.concurrent.ForkJoinTask;importjava.util.concurrent.RecursiveTask;publicclassForkJoin01{publicstaticvoidm
联旺
·
2023-11-23 13:42
Java 面试系列:Java 并发包中的高级同步工具 + 面试题
Java中的并发包指的是java.util.concurrent(简称
JUC
)包和其子包下的类和接口,它为Java的并发提供了各种功能支持,比如:提供了线程池的创建类ThreadPoolExecutor
you的日常
·
2023-11-23 11:30
并发编程
(三)共享模型之管程(上)
一、共享带来的问题问题:两个线程对初始值为0的静态变量一个做自增,一个做自减,各做5000次,结果是0吗?问题分析:以上的结果可能是正数、负数、零。因为Java中对静态变量的自增、自减并不是原子操作,要彻底理解,必须从字节码来进行分析。1.临界区(1)一个程序运行多个线程本身是没有问题的(2)问题出在多个线程访问共享资源①多个线程读共享资源其实也没有问题②在多个线程对共享资源读写操作时发送指令交错
来世做春风嘛
·
2023-11-23 10:54
JUC并发编程
java
开发语言
并发编程
并发编程
(三)共享模型之管程(下)
十一、重新理解线程状态转换假设有线程【Threadt】十二、多把锁将锁的粒度细分:好处:增强并发度。坏处:如果一个线程需要同时获得多把锁,就容易发生死锁。十三、活跃性1.死锁一个线程需要同时获取多把锁,这时就容易发生死锁。【t1线程】获得A对象锁,接下来想获取B对象的锁;【t2线程】获得B对象锁,接下来想获取A对象的锁。2.定位死锁检测死锁可以使用jconsole工具,或者使用jps定位进程id,
来世做春风嘛
·
2023-11-23 10:54
JUC并发编程
java
开发语言
后端
并发编程
《Java
并发编程
》共享模型之无锁
《Java
并发编程
》专栏索引《Java
并发编程
》进程与线程《Java
并发编程
》共享模型之管程《Java
并发编程
》共享模型之内存《Java
并发编程
》共享模型之无锁《Java
并发编程
》共享模型之不可变《Java
ReadThroughLife
·
2023-11-23 10:52
Java
#
Java
并发编程
Java
Java
并发编程
并发编程
(二)共享模型之管程
文章目录共享模型之管程1.1线程出现问题的根本原因分析问题的进一步描述临界区竞态条件1.2synchronized解决方案synchronizedsynchronized原理synchronized加在方法上“线程八锁”1.3变量的线程安全分析1.3.1成员变量和静态变量的线程安全分析1.3.2局部变量线程安全分析线程安全的情况线程不安全的情况不安全原因分析解决方法思考private或final的
LeslieGuGu
·
2023-11-23 10:52
Java并发编程
多线程
并发编程
java
《Java
并发编程
》共享模型之管程
《Java
并发编程
》专栏索引《Java
并发编程
》进程与线程《Java
并发编程
》共享模型之管程《Java
并发编程
》共享模型之内存《Java
并发编程
》共享模型之无锁《Java
并发编程
》共享模型之不可变《Java
ReadThroughLife
·
2023-11-23 10:51
Java
#
Java
并发编程
Java
并发编程
Java
并发编程
《Java
并发编程
》共享模型之不可变
《Java
并发编程
》专栏索引《Java
并发编程
》进程与线程《Java
并发编程
》共享模型之管程《Java
并发编程
》共享模型之内存《Java
并发编程
》共享模型之无锁《Java
并发编程
》共享模型之不可变《Java
ReadThroughLife
·
2023-11-23 10:21
#
Java
并发编程
Java
Java
并发编程
Java
不可变
并发编程
——共享模型之管程
0).前言虽然写代码的大多数时候都没有newThread(),但是tomcat是多线程的,所以项目上线后,每一个接口都面临着并发问题,所以并发线程还是很重要的,无处不在。1).共享问题用代码就是这么描述的:importorg.junit.jupiter.api.Test;publicclassProblem{staticintcount=0;@Testpublicvoidtest()throwsI
耶瞳
·
2023-11-23 10:20
java
线程
并发编程
Java
并发编程
笔记 第四章:共享模型_管程
网课链接:黑马程序员java并发.第四章:共享模型管程第四章共享模型_管程章节总结4.1共享带来的问题1.临界区CriticalSection2.竞态条件RaceCondition4.2synchronized解决方案1.解决手段4.3方法上的synchronized4.4变量的线程安全分析成员变量和静态变量是否线程安全?局部变量是否线程安全?线程安全的情况Private或final的重要性局部变
Petardation
·
2023-11-23 10:20
java
并发编程
并发编程
并发编程
第四章共享模型之管程(悲观锁)
主要课程的部分内容多线程共享cpu出现的问题:出现问题的原因是,每次的加操作不是一条指令,而是多条指令,如果是多条指令的话就有可能被打断,并且篡改变量的值。共享资源读的时候是没问题的,写的时候是有问题。如何避免竞争状态?第一个问题,如果是放在外面就是让五千行代码执行完之后再执行别的线程的代码第二个问题,两个保护的是两个对象,这样的话就无法保证一个资源同一时间内只有一个线程在使用。第三个问题:不可以
UESTC-涛涛
·
2023-11-23 10:49
java并发编程
java高并发编程
并发编程
JUC
深度学习(三)共享模型之管程
前言,本篇文章会介绍的内容不少,按需观看,全部了解会让你对锁的概念加深一层。共享问题共享带来的问题从两个方面来说一:关于临界区1:一个程序运行多个线程本身是没有问题2:问题出在多个线程访问共享资源(a.多个线程共享资源也没问题。b.在多个线程对共享资源读写操作时发生指令交错,就会出现问题。)3:一段代码块内如果存在堆共享资源的多线程读写操作,称这段代码块为临界区。举个例子:我们如果按照上述的执行顺
左灯右行的爱情
·
2023-11-23 10:49
JUC
jvm
java
开发语言
Java
并发编程
-共享模型之管程(Monitor/Synchronized)(四)
共享问题java中对全局变量的操作是通过JMM(java内存模型)内存模型实现的,全局变量保存在主存中,但是变量的计算则是在线程的工作内存中。如果对变量的操作不是原子操作(比如i++是由多条指令的操作集合)那么就会带来线程安全问题。比如下面的i++和i++操作,结果可能就不是0。staticintcount=0;@TestpublicvoidtestJMM()throwsInterruptedEx
融极
·
2023-11-23 10:49
并发编程
java
并发编程
系列学习笔记03(共享模型之管程)
共享模型之管程回顾故事:老王有一把算盘,租给其他人用使用;怎么样能租给更多人,得到更多的租金,而不能出现问题;共享模型代理的问题不同线程同时对同一共享变量进行操作,最终将导致结果出现无法预测根本原因为Java内存模型分主内存和工作内存加上线程在执行过程中可能出现上下文切换具体案例:两个不同线程对一个int共享变量同时做++与--;i++对应了JVM字节码如下:getstatici//获取静态变量i
法号轻尘
·
2023-11-23 10:18
#
网课笔记
多线程
java
并发编程
jvm
thread
并发编程
:(三)共享模型之管程
一、共享问题1、共享带来的问题多线程的环境下,由于多个公共资源可能会被多个线程共享,也就是多个线程可能会操作(增、删、改等)同一资源。当多个线程操作同一资源时,很容易导致数据错乱,或发生数据安全问题(数据有可能丢失,有可能增加,有可能错乱)。2、Java的体现两个线程对初始值为0的静态变量一个做自增,一个自减,各做5000次publicclassTest11{staticintcount=0;pu
小幸运安然
·
2023-11-23 10:18
多线程与并发
多线程
深入
并发编程
——共享模型之管程(悲观锁)
深入
并发编程
——共享模型之管程(悲观锁)synchronized变量变量的线程安全成员变量和静态变量的线程安全:局部变量的线程安全:重量级锁及MonitorJava对象头:Monitor概念:轻量级锁锁动态锁膨胀自旋优化锁消除偏向锁撤销对象的可偏向状态情况批量重偏向批量撤销
修小修
·
2023-11-23 10:18
深入并发编程
java
jvm
面试
JUC
并发编程
共享模型之管程(三)(上)
三共享模型之管程(上)4.1共享问题问题发现@Slf4jpublicclassShareTest01{staticintcount=0;publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt1=newThread(()->{for(inti=0;i{for(inti=0;i{for(inti=0;i{for(inti
晓风残月Lx
·
2023-11-23 10:47
JUC
java
jvm
juc
并发
JUC
并发编程
共享模型之管程(三)(中)
4.5Monitor概念Java对象头以32位虚拟机为例(在32位虚拟机中,1个机器码等于4字节,也就是32bit,在64位虚拟机中,1个机器码是8个字节,也就是64bit)普通对象数组对象其中MarkWord结构为:最后两位是锁标志位64位虚拟机MarkWord原理之Monitor(锁)Monitor被翻译为监视器或管程每个Java对象都可以关联一个Monitor对象,如果使用synchroni
晓风残月Lx
·
2023-11-23 10:47
JUC
java
jvm
开发语言
juc
并发
java
并发编程
(3) 共享模型之管程 1
文章目录前言1.java的内存模型1.
并发编程
的两个问题2.Java内存模型的抽象结构2.问题分析3.临界区和竞态条件1临界区CriticalSection2竞态条件4.解决方法1.synchronized2
JWASX
·
2023-11-23 10:17
多线程
java
开发语言
后端
并发编程
:共享模型之内存
目录一、Java内存模型(JMM)二、可见性退不出的循环解决方法三、有序性原理之指令级并行指令重排序对多线程的影响四、volatile原理保证可见性(写、读屏障)保证有序性(读、写屏障)注意:(volatile解决不了原子性问题)double-checkedlocking问题五、synchronized和volatie的对比六、happens-before管程锁定规则volatile变量规则线程启
一只奋斗的程序羊
·
2023-11-23 10:15
并发编程
java
多线程
JUC
并发编程
:共享模型之管程
JUC
并发编程
:共享模型之管程0.整体目录1.共享问题1.1举例共享带来的问题1.2Java代码的体现1.3问题分析1.4临界区CriticalSection1.5竞态条件RaceCondition2.
boy快快长大
·
2023-11-23 10:43
Java并发编程
java
并发编程
:共享模型之管程
目录管程临界区竞态条件案例通过synchronized阻塞解决synchronized添加位置设计模式之保护性暂停Join原理修改线程状态的几种方法单向改变不可返回的状态双向可改变的状态多把锁线程活跃性死锁定位死锁活锁饥饿ReentrantLock可重入可打断锁超时固定顺序运行线程管程所谓管程:指的是管理共享变量以及对共享变量的操作过程,让它们支持并发。翻译为Java就是管理类的成员变量和成员方法
zmbwcx2003
·
2023-11-23 10:13
java
开发语言
Spring源码-6.动态代理原理分析
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring源码、
JUC
源码如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:源码溯源
爱吃芝士的土豆倪
·
2023-11-23 09:25
Spring
spring
java
后端
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
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
其他