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
Java并发编程基础面试题
并发编程基础 - 多线程的上下文切换问题
目录1、什么是线程上下文2、哪些可以引发上下文切换3、怎么查看上下文切换4、怎么减少上下文切换,对实际的应用场景的理解记得在两年前,翻开《
Java并发编程
的艺术》开篇就讲的上下文切换可能使多线程比串行执行还慢
it_lihongmin
·
2023-09-30 17:26
高并发
线程上下文切换
pidstat
vmstat
mysql全文索引模糊查询,已获万赞
①并发编程
Java并发编程
是整个Java开发体系中最难以理解,但也是最重要的知识点之一,因此学习起来比较费劲,从而导致很多人望而却步,但是无论是职场面试还是高并发高流量的系统的实现都离不开并发编程,能够真正掌握并发编程的人才在市场上供不应求
不爱吃榴莲.
·
2023-09-30 09:41
程序员
面试
经验分享
java
2021
Java并发编程
<线程基础>
1、并发编程的优点充分利用多核cup提成系统的性能2、并发编程的三要素原子性一致性有序性3、并发和并行有什么区别并发:cup来回切换做多件事并行:多个cup做多件事4、什么是线程死锁死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。模拟线程死锁publicclassDeadLockDemo{privatestaticObjectresource1
MeteorCat
·
2023-09-30 05:59
计算机网络
基础面试题
笔记
1.电路交换与分组交换的区别?优劣对比。电路交换:由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成)。因而有以下优缺点。优点:①由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。②通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。③双方通信时按发送顺序传送数据,不存在失序问题。④电路交换既适用于传输模拟信号,
小马和小金
·
2023-09-29 22:45
计算机网络基础
java并发编程
分析(干货)
能会随着Java版本的不断升级而提高。到了Java1.6,synchronized进行了很多的优化,有适应自旋、锁消除、锁粗化、轻量级锁及偏向锁等,效率有了本质上的提高。在之后推出的Java1.7与1.8中,均对该关键字的实现机理做了优化。需要说明的是,当线程通过synchronized等待锁时是不能被Thread.interrupt()中断的,因此程序设计时必须检查确保合理,否则可能会造成线程死
java欧阳丰
·
2023-09-29 18:29
【
Java并发编程
】线程中断机制(辅以常见案例)
文章目录1.为什么需要2.如何理解3.如何使用3.1.中断相关API3.2.中断正常状态下的线程3.3.中断特殊状态下的线程4.如何安全的停止线程5.参考资料本文由浅入深介绍了中断机制、中断的常见案例和使用场景。1.为什么需要因为一些原因需要取消原本正在执行的线程。我们举几个栗子:假设踢足球点球时,A队前4轮中了4个球,B队前4轮只中了2个球,此时胜负已分,第5轮这个点球就不用踢了,此时需要停止A
Fire Fish
·
2023-09-29 13:48
java
java
开发语言
聊聊高并发(二)结合实例说说线程封闭和背后的设计思想
下面这个定义来自《
Java并发编程
实战》,这本书强烈推荐,是几个Java语言的作者合写的,都是并发编程方面的大神。线程安全指的是:当多个线程访问某个类时,这个类始终都能表现出正确的行为。
wenming6688
·
2023-09-29 07:27
java并发编程
中的四个关键字:ThreadLocal、Volatile、Synchronized和Atomic
本文将详细介绍
Java并发编程
中的四个关键字:ThreadLocal、Volatile、Synchronized和Atomic,分别介绍它们的作用、使用方法、实现原理以及注意事项。
是三好
·
2023-09-29 07:40
java补充
java
开发语言
并发
Java多线程并发编程核心知识
话不多说,开卷吧
Java并发编程
线程什么是线程线程创建的几
逍遥Sean
·
2023-09-29 03:45
#
并发编程
java
全面理解Java内存模型
如果我们要想深入了解
Java并发编程
,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。
江江JJ
·
2023-09-28 15:54
聊一聊Java 21,虚拟线程、结构化并发和作用域值
JDK21在这个领域取得了巨大的改进,使
Java并发编程
变得更加简单和顺畅。更准确地说,这些改进在J
小技术君
·
2023-09-28 14:56
java
开发语言
Java并发编程
异步操作Future和FutureTask
码农在囧途生活是一个洗礼自己的过程,这个洗礼并不是传统意义上的洗礼,传统意义上的洗礼通常认为这个人的思想得到洗礼,灵魂得到洗礼,十分的清新脱俗,不世故,不圆滑,而现实的洗礼实则是让一个人褪去幼稚,褪去无知,让你变得点头哈腰,圆滑世故,我们都是动物,需要物质满足,更需要欲望填补,所以,变成自己小时候唾骂的对象也是可以理解,不过这是一个选择,你可以进行选择,只是在物欲横流的时代,多数人没有这种选择的权
刘牌
·
2023-09-28 09:14
JAVA
基础面试题
【JAVA语言】Java程序运行机制程序员编写*.java源文件使用javac编译成*.class字节码文件JVM解释字节码文件为机器码,并执行【JAVA语言基础】String是最基本的数据类型吗?答:不是。Java中的基本数据类型只有8个:byte、short、int、long,float、double,char,boolean;除了基本类型(primitivetype),剩下的都是引用类型(r
爱强拆的鲁班七号
·
2023-09-28 08:27
面试重点
java
面试
Daemon线程(守护线程)
守护线程不一定执行完完整内容,这取决于用户线程的存在与否;设置守护线程,一定要在线程启动start之前进行设置;不能在启动之后设置;Java普通运行是两个线程,一个主线程,一个GC线程;GC线程是守护线程;《
java
未知~
·
2023-09-27 01:18
JVM
学习总结
JAVA
C/C++面经嵌入式面经软件开发面经<30/30>-- 单片机相关(三)
C/C++可参考嵌入式项目交流分享链接:嵌入式项目交流分享(附源码)安卓高频面经解析大全专栏链接:150道安卓高频面试题全解析安卓高频面经解析大全目录详情:安卓面经_anroid面经_150道安卓常见
基础面试题
全解析安卓系统
爱打球的程小员许乔丹
·
2023-09-26 08:32
单片机
c语言
嵌入式硬件
嵌入式
开发语言
java
基础面试题
-易错,模糊,不熟悉.(附详细解析)
1.下面两个代码块能正常编译和执行吗?//代码块1shorts1=1;s1=s1+1;//代码块2shorts1=1;s1+=1;答:代码块1编译报错,错误原因是:不兼容的类型:从int转换到short可能会有损失…代码块2正常编译和执行.其实,s1+=1相当于s1=(short)(s1+1).2.基础考察,指出下题的输出结果Integera=128,b=128,c=127,d=127;Syste
或许吧或许吧
·
2023-09-25 22:58
Java
基础面试题
精选:深入探讨哈希表、链表和接口等
目录1.ArrayList和LinkedList有什么区别?2.ArrayList和Vector有什么区别?3.抽象类和普通类有什么区别?4.抽象类和接口有什么区别?5.HashMap和Hashtable有什么区别?6.HashMap底层是如何实现的?7.HashMap和HashSet有什么区别?8.说说你对红黑树的见解?9.哈希冲突及解决方法?10.HashMap和ConcurrentHashM
发呆的百香果子
·
2023-09-25 19:08
面试题
java
散列表
链表
大数据
基础面试题
七:Flink
大数据
基础面试题
七:Flink目录大数据
基础面试题
七:Flink十四、Flink14.1简单介绍一下Flink14.2Flink跟SparkStreaming的区别14.3Flink集群有哪些角色?
大数据面壁者
·
2023-09-25 16:45
大数据
Java常见
基础面试题
文章目录Java面试题练习1、JDK和JRE有什么区别?2、==和equals的区别是什么?3.Java数据类型分为两大类。基本类型和对象类型。4.final在Java中有什么作用5.Java中的Math.round(-1,5)等于多少?6.Stringstr="i"与Stringstr=newString("i")一样吗?7.如何将字符串反转?8.String类的常用方法都有哪些?2022.5.
骑鱼~过海
·
2023-09-25 16:02
Java基础学习笔记
面试
JDK21最终版协程实现之虚拟线程
JDK21中就在这方面做了很大的改进,让
Java并发编程
变得更简单一点,更丝滑一点。之前写过JDK21Feature。
·
2023-09-25 11:11
后端
JDK21并发编程实战之协程之虚拟线程
JDK21中就在这方面做了很大的改进,让
Java并发编程
变得更简单一点,更丝滑一点。之前写过JDK21Feature。
JavaEdge.
·
2023-09-25 06:34
javase
java
Java并发编程
——初识JUC
文章目录初识JUC一、什么是JUC二、进程和线程2.1进程和线程2.2并行和并发2.3Java线程有几个状态2.4wait/sleep的区别初识JUC一、什么是JUCJUC是java.util.concurrent包的简称,这是一个处理线程的工具包。二、进程和线程2.1进程和线程进程:一个进程,qq.exe之类的程序的集合,一个进程往往可以包含很多个线程,至少包含一个线程:操作系统能够进行运算调度
YaDe.
·
2023-09-25 04:42
Java
JUC
java
juc
java并发编程
——JUC并发包简介
JUC并发包简介JUC并发包简介JUC包的主体结构各个模块的详解锁机制类Locks并发集合类Collections线程池相关类Executer信号量三组工具类Tools原子类操作类AtomicJUC并发包简介JDK并发工具类是JDK1.5引入的一大重要的功能,集中在Java.util.concurrent包下。java.util.concurrent包主要包含了并发集合类以及线程池和信号量三组重要
mkfka
·
2023-09-25 04:10
java并发编程
并发编程——JUC并发工具
CountDownLatch核心源码SemaphoreSemaphore应用Semaphore核心源码CyclicBarrierCyclicBarrier应用CyclicBarrier核心源码总结前言JUC是
Java
叫我二蛋
·
2023-09-25 04:39
Java
java
开发语言
并发模型相关资料
书籍推荐
Java并发编程
实战(豆瓣)(java并发的圣经)多处理器编程的艺术(豆瓣)(并发编程的各种算法,java实现,有点难度)并发的艺术(豆瓣)(多核处理器的共享内存模型中的各
jackben
·
2023-09-24 23:04
AQS如何实现
目录AQS的定义AQS如何实现AQS主要方法代码实现AQS的核⼼思想AQS的定义在
Java并发编程
中,AQS(AbstractQueuedSynchronizer)是一个用于实现同步器的抽象基类。
墨子白
·
2023-09-24 18:19
java
jvm
开发语言
Java并发编程
——线程池Executor
目录一、线程池`Executor`1.传统`newThread`的弊端因此日常使用线程的时候,尽量避免使用`newThread`去创建线程,从而减少不必要的麻烦和困扰;2.线程池的优点3.线程池(`ThreadPoolExecutor`)的核心类参数说明:`ThreadPoolExecutor`一共有七个参数,这七个参数配合起来,构成了线程池强大的功能。4.`corePoolSize`、`maxi
zjtMeng
·
2023-09-24 10:05
Java并发编程
Java并发编程
Excecutor
线程池
创建线程池
JAVA并发编程
——线程池详解
线程池详解1.Executor结构2.ThreadPoolExecutorFixedThreadPoolSingleThreadExecutorCachedThreadPool扩展ThreadPoolExecutor3.ScheduledThreadPoolExecutor核心方法不同的take()操作任务执行的不同如何保证即将执行的任务在队列头部4.线程池五种状态5.线程池内线程如何复用?核心线
Colins~
·
2023-09-24 10:35
java
java
开发语言
线程池
【
Java并发编程
】——线程池
一、什么是线程池?1.什么是线程池线程池顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取线程不用自行创建,使用完毕不需要销毁线程而是放回池中,从而减少创建和销毁线程对象的开销。例如:为线程池提供一个Runnable,就会有一个线程调用run方法。当run方法退出时,这个线程不会死亡,而是留着池中准备为下一个请求提供服务。2.为什么使用线程池线程是一种昂贵的资源,需要
@六便士
·
2023-09-24 10:35
java
java并发编程
线程池_
java并发编程
——线程池
1.为什么使用线程池诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。一般处理方式:每当一个请求到达就创建一个新线程,然后在新线程中为请求服务。然而无限制创建线程存在以下问题:线程创建开销非常高,同时需要jvm和操作系统提供一些辅助操作。资源消耗,活跃的线程会消耗系统资源,尤其是内存。可运行的线程数量大于处理器数量,某些线程就
lucyjones
·
2023-09-24 10:04
java并发编程线程池
Java并发编程
——线程池与Executor
这里写目录标题线程池核心参数corePoolSizemaximumPoolSizekeepAliveTime与unitrunnableTaskQueuethreadFactoryRejectedExecutionHandler(饱和策略)线程池的处理流程Executor框架成员ThreadPoolExecutorSingleThreadExecutorFixedThreadPoolCachedTh
天来天往
·
2023-09-24 10:04
多线程
多线程
并发编程
JAVA并发编程
——线程池
概述前面所说的都是通过创建线程的方法使程序并行运行,一般的做法是,创建一个Runnable对象,然后封装为Thread对象,通过start方法启动线程,并在线程运行过程中通过sleep、interrupt等方法来控制线程的运行。可见,在之前的程序书写中,线程的创建、运行、休眠和终止都是手动完成的。如果创建线程较少,这种手动操作并不繁琐,但如果创建线程过多,这种手动操作就显得有些繁琐。在一个最多支持
传臣、
·
2023-09-24 10:34
Java
线程池
Java并发编程
——线程池
一、池化技术程序运行的本质是占用系统资源,而池化技术可以优化资源的使用。池化技术:事先准备好一些资源,有人要用,就来拿,用还之后还给线程池(生活类似场景:共享充电宝)线程池的好处:1.降低资源的消耗2.提高响应的速度3.方便管理(线程复用、控制最大并发数、管理线程)二、线程池(三大方法)1.newSingleThreadExecutor()newSingleThreadExecutor()方法创建
Alchemy_Ding
·
2023-09-24 10:33
Java并发编程(补充)
多线程
java
并发编程
java并发编程
——线程池ThreadPoolExecutor使用
文章目录线程池ThreadPoolExecutor使用测试为什么要用自定义线程池线程池ThreadPoolExecutor使用线程池ThreadPoolExecutor使用以下代码基于JDK1.8。packagethread;importjava.util.concurrent.*;/***第四种使用Java多线程的方式,线程池*/publicclassMyThreadPoolDemo{publi
怪我冷i
·
2023-09-24 10:03
java
Java并发编程
——线程池提前预热所有核心线程
##可以提前预热所有核心线程executorService.prestartAllCoreThreads();
鳄鱼的眼泪1
·
2023-09-24 10:33
java
java
Java并发编程
—— 线程池
线程的缺点:1、线程的创建需要开辟内存资源:本地方法栈、虚拟机栈、程序计数器等线程私有变量的内存。所以频繁的创建和消耗会带来一定的性能开销2、使用线程不能友好的管理任务和友好的拒绝任务。在《阿里巴巴java开发手册》中要求,线程资源必须通过线程池提供,不允许在应用中自行显示创建线程。线程池: 定义:使用池化技术来管理和使用线程的技术,就叫做线程池线程池的创建方式包含7种创建方式一:创建固定个数的
MercuryG
·
2023-09-24 10:32
(五)深入剖析并发之AQS独占锁&重入锁ReetrantLock及Condition实现原理
引言在我们前面的文章《深入理解
Java并发编程
之无锁CAS机制》中我们曾提到的CAS机制如果说是整个
Java并发编程
基础的话,那么本章跟大家所讲述的AQS则是整个JavaJUC的核心。
竹子爱熊猫
·
2023-09-24 09:30
并发编程
java
多线程
并发编程
Golang
基础面试题
汇总
数据库Etcd分布式锁原理raft算法。Etcd分布式锁实现原理1.在etcd系统里创建一个key。2.如果创建失败,key存在,则监听key的变化事件,直到该key被删除,回到1。3.如果创建成功,则认为获得了锁。Etcd工作原理httpserver接受请求并转发给store进行处理,如果涉及节点修改,则交给raft进行状态变更、日志记录,然后同步给其他节点以确认提交,最后提交数据,并再次同步。
小47丫
·
2023-09-22 01:55
go
golang
go
Java并发编程
第6讲——线程池(万字详解)
Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池,本篇文章就详细介绍一下。一、什么是线程池定义:线程池是一种用于管理和重用线程的技术(池化技术),它主要用于提高多线程应用程序的性能和效率。ps:线程池、连接池、内存池和对象池等都是编程领域中典型的池化技术。首先有关线程的使用会出现两个问题:线程是宝贵的内存资源、单个线程约占1MB空间,过多分配易造成内
橡 皮 人
·
2023-09-21 13:17
Java并发编程
java
Java并发编程
线程池
面试
Java并发编程
第7讲——CompletableFuture、Future和ForkJoinPool(万字详解)
在Java中进行异步计算是比较难以理解的。一般来说,我们希望将任何计算都视为一系列步骤,但是在异步的情况下,这些步骤通常以回调函数的形式存在,要么散布在代码中,要么互相嵌套的很深。而我们需要处理可能发生在某个步骤中的错误时,情况就变得更加复杂,而CompletableFuture就是来解决这些“困扰”的。一、什么是CompletableFutureCompletableFuture是Java8中引
橡 皮 人
·
2023-09-21 13:17
Java并发编程
java并发编程
异步编排
java8特性
面试
Java并发编程
第5讲——volatile关键字(万字详解)
volatile关键字大家并不陌生,尤其是在面试的时候,它被称为“轻量级的synchronized”。但是它并不容易完全被正确的理解,以至于很多程序员都不习惯去用它,处理并发问题的时候一律使用“万能”的sychronized来解决,然而如果能正确地使用volatile的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。下面我们从volatile关键字的定义
橡 皮 人
·
2023-09-21 13:47
Java并发编程
java
并发编程
Java内存模型
volatile关键字
Java并发编程
第8讲——ThreadLocal详解
ThreadLocal无论是在项目开发还是面试中都会经常碰到,它的重要性可见一斑,本篇文章就从ThreadLocal的使用、实现原理、核心方法的源码、内存泄漏问题等展开介绍一下。一、什么是ThreadLocalThreadLocal是java.lang下面的一个类,在JDK1.2版本加入,作者是JoshBloch(集合大神)和DougLea(并发大神)。它提供了一种线程局部变量的方式,线程局部变量
橡 皮 人
·
2023-09-21 13:11
Java并发编程
java
java并发编程
面试
jvm
Java并发编程
:两个线程交替打印0-100的奇偶数
问题描述:两个线程交替打印输出数字0~100,一个线程只打印偶数,另一个只打印奇数方案一:使用synchronized关键字创建两个线程,一个线程处理偶数,一个线程处理奇数,两个线程之间通过synchronized进行同步,保证count++每次只有一个线程进行操作为什么两个线程能交替执行,这里很巧的是count从0123...自增过程就是一个奇偶数交替的过程,实际上两个线程都是在不停的尝试(wh
Java后端何哥
·
2023-09-21 11:20
Java基础
wait-notify交替打印
synchroized交替打印
网络
基础面试题
1.ISO/OSI的七层模型ISO国际标准化组织OSI开放系统互连TCP和UDP都会进行差错校验,TCP会告诉A包发错了,但UDP不会告诉A发错了会把包丢弃。静态路由不需要路由器做任何的计算,对路由器的消耗是最小的,效率最高但是缺点是配置复杂。动态路由有的会计算路径、计算带宽,配置更简单,缺点消耗路由器的cpu需要运算,路由器的压力会比较大。mac地址(邮编)ip地址(门牌号)端口号(收件员)ma
包小志
·
2023-09-21 04:25
网络基础知识
网络
智能路由器
Java
基础面试题
一、Java
基础面试题
1.什么时候需要用到序列化和反序列化呢?
阿福66
·
2023-09-21 02:14
java
开发语言
面试
学习
java面试题
java面试题java
基础面试题
1.hashcode和equals如何使用2.
mua码
·
2023-09-20 23:31
java
开发语言
既生synchronized,何生volatile
我们知道,synchronized和volatile两个关键字是
Java并发编程
中经常用到的两个关键字,而且,我们知道synchronized可以保证并发编程中不会出现原子性、可见性和有序性问题,而volatile
莫生人
·
2023-09-20 23:42
JDK8新特性-函数式编程
函数式编程-Stream流1.概述1.1原因:公司现在代码大量使用用函数式编程;代码可读性高;简化多层嵌套;处理大数据下集合的效率高(并行流),
java并发编程
多线程。
褚师子书
·
2023-09-20 22:14
java知识脉络
java
学习
intellij-idea
java基础-并发编程-CyclicBarrier(JDK1.8)源码学习
CyclicBarrier源码学习
Java并发编程
(十六):CyclicBarrier源码分析CyclicBarrier执行流程:最后一个就位线程负责把所有条件队列中的线程添加到同步队列,然后在finally
Semanteme
·
2023-09-20 10:56
java
学习
开发语言
【Java
基础面试题
】string和stringbuffer和stringbuilder的区别是什么(135)
string和stringbuffer和stringbuilder的区别:1、String是字符串常量,而StringBuffer和StringBuilder是字符串变量。由String创建的字符内容是不可改变的,而由StringBuffer和StringBuidler创建的字符内容是可以改变的。2、StringBuffer是线程安全的,而StringBuilder是非线程安全的。StringBu
DevínKelly
·
2023-09-20 10:52
java
java
开发语言
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他