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并发编程基础面试题
Java并发编程
-synchronized
目录1.synchronized在jdk1.6中的优化1.1锁消除1.2锁粗化1.2锁升级/锁膨胀1.2.1锁升级原理1.2.2自适应自旋锁2.synchronized实现原理3.synchronized和Lock的对比1.synchronized在jdk1.6中的优化在JDK1.5的时候,DougLee推出了ReentrantLock,lock的性能远高于synchronized,所以JDK团队
MOONNIFE
·
2023-09-20 07:03
Java并发编程
java
Java并发
Java并发编程
之并发容器 CopyOnWrite,ConcurrentSkipListMap/Set,阻塞队列等
前言JUC高并发容器是基于非阻塞算法(或者无锁编程算法)实现的容器类,无锁编程(LockFree)算法主要通过CAS(CompareAndSwap)+volatile组合实现,通过CAS保障操作的原子性,通过volatile保障变量的内存的可见性。无锁编程(LockFree)算法的主要优点:(1)开销较小:不需要在内核态和用户态之间切换进程。(2)读写不互斥:只有写操作需要使用基于CAS机制的乐观
干天慈雨
·
2023-09-19 02:09
Golang
基础面试题
01
背景在之前的文章中分享了k8s相关的面试题,本文我们重点来讨论和k8s密切相关的Go语言面试题。这几年随着云原生的兴起,大部分后端开发者,特别是Java开发者都或多或少的想学习一些Go相关的技能,所以今天分享的内容比较初级,适合Go语言初学者。本文内容依然来自于这个仓库https://github.com/bregman-arie/devops-exercises以下是具体内容:()的内容是我的补
·
2023-09-18 15:44
go面试
ChatGPT 整理的 “Java
基础面试题
集锦:完全版“ (5)
user:411.什么情况下需要使用反射?assistant:反射主要用于以下情况:在运行时获取类的信息:通过反射API,可以获取类的名称、属性、方法、注解等元数据信息。动态创建对象:反射API可以在运行时根据类的信息,动态创建对象。调用对象的方法或操作属性:反射API可以在运行时根据类的信息,动态调用对象的方法或操作属性。修改对象的私有属性:利用反射API可以获取对象的私有属性并修改其值。在框架
博扬java张
·
2023-09-17 19:35
java
人工智能
面试
后端
spring
【JUC】
Java并发编程
从挖坑到入土全解(2)
目录我们锁的到底是什么(8个案例)案例1案例2案例3案例4案例5案例6案例7案例8总结我们锁的到底是什么(8个案例)有a、b两个线程,我们基于如下代码进行改造:publicstaticvoidmain(String[]args){PhonephoneA=newPhone();newThread(()->{phoneA.sendEmail();},"a").start();try{TimeUnit.
AQin1012
·
2023-09-17 19:34
JUC
Java
java
juc
并发
synchronized
锁
Golang
基础面试题
01
Golang面试题合集.png背景在之前的文章中分享了k8s相关的面试题,本文我们重点来讨论和k8s密切相关的Go语言面试题。这几年随着云原生的兴起,大部分后端开发者,特别是Java开发者都或多或少的想学习一些Go相关的技能,所以今天分享的内容比较初级,适合Go语言初学者。image.png本文内容依然来自于这个仓库https://github.com/bregman-arie/devops-ex
crossoverJie
·
2023-09-17 10:06
golang
开发语言
后端
第一章
Java并发编程
与高并发解决方案知识点:线程安全;线程封闭;线程调度;同步容器;并发容器;AQS;J.UC高并发的解决思路与手段:扩容,缓存,队列,拆分,服务降级与熔断,数据库切库,分库分表基本概念:并发
YoungChen_
·
2023-09-16 20:30
基础面试题
1、面向对象的三个基本特征?封装,继承,多态;`继承:让某个类型的对象获得另一个类型的对象的属性的方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。` 封装:隐藏部分对象的属性和实现细节,对数据的访问只能通过外公开的接口。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使
wjg1024
·
2023-09-16 09:07
面试
java
开发语言
Java内存区域(运行时数据区域)和内存模型(JMM)
而内存模型(JavaMemoryModel,简称JMM)是定义了线程和主内存之间的抽象关系,即JMM定义了JVM在计算机内存(RAM)中的工作方式,如果我们要想深入了解
Java并发编程
,就要先理解好Java
王树民
·
2023-09-16 07:07
性能评估
Java并发编程
之CompletableFuture详解
1、Futuru接口和Callable接口Future接口定义了操作异步任务执行的方法,如:获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、是否执行完毕等Callable接口中定义了需要有返回结果的任务要执行的方法,如:主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,过一段时间才会去获取子任务的执行结果实现Callable接口中的ca
咸鱼也有爱
·
2023-09-16 00:13
面试总结
笔记
Java并发编程
java
分布式
全面了解 Java 原子变量类
一、原子变量类简介为何需要原子变量类保证线程安全是
Java并发编程
必须要解决的重要问题。Java从原子性、可见性、有序性这三大特性入手,确保多线程的数据一致性。
淋风沐雨
·
2023-09-15 18:39
WEB开发
java
java
Java并发编程
:Lock
版权声明:本文为海子原创文章,转载请注明出处!在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行
ZebraWei
·
2023-09-15 02:59
Java并发编程
的艺术读书笔记(第1-3章)
Java并发编程
的艺术第一章并发编程的挑战1.1上下文切换1.1.1多线程一定快吗1.1.2测试上下文切换次数和时长1.1.3如何减少上下文切换1.1.4减少上下文切换实战1.2死锁1.3资源限制的挑战
Eden_Bristol
·
2023-09-14 21:52
学习总结
java
并发编程
高并发编程
《
Java并发编程
的艺术》读书笔记
Java并发编程
的艺术ch1并发编程的调整1.1上下文切换在单核CPU的情况下,也存在上下文切换的概念(时间片)任务的状态从保存到再加载就是一次切换在数据量少的情况下,串行有可能比并发编程效率高使用Lmbench
野生程序猿RW
·
2023-09-14 21:51
日常
java
多线程
jvm
数据库
并发编程
《
java并发编程
的艺术》读书笔记 1~2章
1.java并发基本概念1.1上下文切换实现原理:通过CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,时间片非常短,CPU通过不停的切换线程执行,让我们感觉多个线程是同时执行的。CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片会切换到下一个任务,并保存上一个任务的状态,下次切换到这个任务时就会加载这个状态,这就是一次上下文切换。上下文切换会影响多线程执行速度的。上下文
终究还是一人独行
·
2023-09-14 21:18
java
开发语言
Java并发编程
实战(3)- 互斥锁
我们在这篇文章中主要讨论如何使用互斥锁来解决并发编程中的原子性问题。概述并发编程中的原子性问题的源头是线程切换,那么禁止线程切换可以解决原子性问题吗?这需要分情况讨论,在单核CPU的情况下,同一时刻只有一个线程执行,禁止CPU中断,就意味着操作系统不会重新调度线程,也就禁止了线程切换,这样获取CPU使用权的线程就可以不间断的执行。在多核CPU的情况下,同一时刻,有可能有两个线程同时执行,一个线程执
技术修行者
·
2023-09-14 18:40
Android面试题_安卓面经(23/30)设计模式源码案例
系列专栏:安卓高频面经解析大全专栏链接:150道安卓高频面试题全解析安卓高频面经解析大全目录详情:安卓面经_anroid面经_150道安卓常见
基础面试题
全解析安卓系统Framework面经专栏:Android
爱打球的程小员许乔丹
·
2023-09-14 06:30
android
设计模式
java
【朝夕教育】2023年03月 其他-Web前端
基础面试题
(react专项_35道)
文章目录一、react篇1、react生命周期函数2、React类组件(Classcomponent)和函数式组件(Functionalcomponent)之间有何不同3、React状态(state)和属性(props)之间有何不同4、什么是高阶组件5、为什么建议传递给setState的参数是一个callback而不是一个对象6、(在构造函数中)调用super(props)的目的是什么7、Reac
微软MVP Eleven
·
2023-09-14 02:18
编程
前端
react.js
javascript
1.前端
基础面试题
(HTML5、CSS3)
HTML5、CSS31、H5的新特性有哪些?C3的新特性有哪些?H5新特性1、拖拽释放(Drapanddrop)APIondrop拖放是一种常见的特性,即抓取对象以后拖到另一个位置在HTML5中,拖放是标准的一部分,任何元素都能够拖放2、自定义属性data-id3、语义化更好的内容标签(header,nav,footer,aside,article,section)4、音频,视频(audio,vi
一个不善言辞的女人
·
2023-09-13 19:50
【秋招面试专题解析】数据库事务深入分析
这份笔记+学习脑图可以帮你系统地学习
Java并发编程
知识,并告别碎片化获取知识的弊端。一面介绍一
专注Java13年
·
2023-09-13 16:38
程序员
java
后端
面试
Java并发编程
实战 第13章 显示锁
内置锁的局限性:无法中断一个正在等待获取锁的线程,或者无法在请求获取一个锁时无限的等待下去。内置锁必须在获取该锁的代码块中释放,这就简化了编码工作,并且与异常处理操作实现了很好的交互,但却无法实现非阻塞结构的加锁规则。这都是使用synchronnized的原因。13.1Lock与ReentrantLock必须在finally中释放锁Locklock=newReentrantLock();...lo
程人之美
·
2023-09-13 05:01
并发编程
java
多线程
并发编程
Java并发编程
实战 第11章 性能与可伸缩性
线程的主要目的是提高程序的运行性能。提高资源利用率,系统响应性。11.1对性能的思考多线程开销:线程之间的协调(加锁、触发信号、内存同步),上下文的切换,线程创建和销毁,线程的调度。11.1.1性能与可伸缩性可伸缩性:当增加计算资源(CPU、内存、存储容量、IO),程序的吞吐朗或者处理能力相应增加。11.1.2评估各种性能权衡因素避免不成熟的优化,首先使程序正确,然后提高运行速度。11.2Amda
程人之美
·
2023-09-13 05:31
并发编程
多线程
java
【JUC】
Java并发编程
从挖坑到入土全解(一)
目录线程基础知识作者(拜个神)什么是JUC为什么会出现多线程硬件方面摩尔定律失效软件方面弊端&问题从线程启动开始Java线程理解以及openJDK的实现更加底层的的C++源码线程基础知识作者(拜个神)DougLea,中文名为道格·利。美国国籍,现担任纽约州立大学Oswego分校教师。什么是JUCJUC全称java.util.concurrent,是在并发编程中使用的工具包为什么会出现多线程硬件方面
AQin1012
·
2023-09-12 20:50
Java
JUC
java
thread
juc
多线程
今天面了一个来字节要求月薪25K,明显感觉他背了很多面试题...
问的问题主要涉及这几个方面:
基础面试题
自我介绍介绍一下简历里的项
测试界的扛把子
·
2023-09-12 20:47
面试
技术分享
职场和发展
自动化测试
java并发编程
实战笔记:线程池的使用
任务与策咯之间的耦合上文中说了java通过excutor框架把任务的执行和提交解耦了,实际上对于任务和执行策咯,有时候是有一定的耦合的,并不是所有的任务都能用任意的执行策略。比如,一个任务依赖别的任务,只能在一个线程里执行的任务,响应特别敏感的任务(GUI),这些任务都不能用普通的线程池从,而是要为任务定制相应的执行策略。当任务彼此独立,且类型相同时,线程池能发挥最大的作用线程饥饿死锁当线程池里的
xuefeiliuyuxiu
·
2023-09-12 19:42
java
《
Java并发编程
实践》五(3):原子变量和非阻塞同步
java并发库(java.util.concurrent)提供了很多(相比锁)性能更优越的同步设施,比如ConcurrentLinkedQueue。本章的主题,是研究此类并发装置的性能秘密:原子变量和非阻塞同步。锁的性能劣势对现代JVM来说,在锁未发生竞争的情况下,JVM执行“加锁、释放锁”操作是非常快的;但是一旦发生竞争,就需要执行系统调用来挂起竞争失败的线程,等将来锁释放时再唤醒它们。挂起和唤
longhuihu
·
2023-09-12 15:13
java并发
算法
java
并发编程
多线程
《
Java并发编程
实战》读书笔记二:构建线程安全
一、用组合来实现线性安全1.设计线程安全的类设计线程安全类的三个基本要素:1.找出构成对象状态的所有变量2.找出约束状态变量的不变性条件3.建立对象状态的并发访问管理策略要分析对象的状态,首先从对象的域开始。如果对象所有的域都是基本类型的变量,那么这些域将构成对象的全部状态;如果对象的域中引用了其他对象,那么该对象的状态将包含被引用的对象的域。2.实例封闭当一个对象被封装到另一个对象中,能够访问到
小七奇奇
·
2023-09-12 14:55
Java并发编程
线程协作、控制并发流程
1.什么是控制并发流程控制并发流程的工具类,作用就是帮助我们程序员更容易的让线程之间合作让线程之间相互配合,来满足业务逻辑比如让线程A等待线程B执行完毕后再执行等合作策略有哪些控制并发流程的工具类?类作用说明Semaphore信号量,可以通过控制“许可证”的数量,来保证线程之间的配合线程只有拿到“许可证”后才能继续运行。相比于其他同步器更灵活CyclicBarrier线程会等待,直到足够多线程达到
香沙小熊
·
2023-09-12 12:15
显式锁与隐式锁的区别
在面试的过程中有可能会问到:在
Java并发编程
中,锁有两种实现:使用隐式锁和使用显示锁,其中它们分别是什么?两者的区别是什么?
所遇所思
·
2023-09-12 10:00
Java
java并发编程
SynchronousQueue详解
longnanos)3.1.1TransferStack实现3.1.2TransferQueue实现3.2外部方法3.2.1put(Ee)3.2.2offer(Ee)3.2.3take()3.2.4poll()4总结
java
java爬坑中
·
2023-09-12 10:18
java并发编程
java
开发语言
java并发编程
CountDownLatch详解
文章目录1CountDownLatch是什么2核心属性详解3核心方法详解3.1countDown()3.2await()4总结
java并发编程
系列文章目录1CountDownLatch是什么java这个类上已经写了
java爬坑中
·
2023-09-12 10:44
java并发编程
java
开发语言
学习Java
基础面试题
第五天
一、Java面试题第五天1.spring字符串的最大长度转自:String字符串的最大长度是多少?在学习和开发过程中,我们经常会讨论short,int和long这些基本数据类型的取值范围,但是对于String类型我们好像很少注意它的“取值范围”。那么对于String类型,它到底有没有长度限制呢?其实String类型的对象,他们是有长度限制的,String对象并不能“存储”无限长度的字符串。关于St
阿福66
·
2023-09-12 08:01
学习
java
开发语言
面试
volatile必懂知识点
在
Java并发编程
中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性、可见性和有序性。只要有一条原则没有被保证,就有可能会导致程序运行不正确。volatile关键字被用来
earl哦哦哦
·
2023-09-12 07:41
java并发编程
(二) 线程的6种状态
一、线程的状态初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得
卡戎li
·
2023-09-12 07:00
java学习方向
39tags:[tips]categories:[other]设计模式《大话设计模式》代码编写优化《重构改善既有代码的设计》《effectivejava》Java深入虚拟机《深入理解Java虚拟机》并发《
Java
一路摇到顶
·
2023-09-12 00:55
iOS
基础面试题
2018
1.写一个setter方法用于完成@property(nonatomic,retain)NSString*name,写一个setter方法用于完成@property(nonatomic,copy)NSString*name.若想令自己所写的对象具有拷贝功能,则需实现NSCopying协议。如果自定义的对象分为可变版本与不可变版本,那么就要同时实现NSCopyiog与NSMutableCopying
赫子丰
·
2023-09-11 23:10
【漫画】
JAVA并发编程
如何解决原子性问题
在并发编程BUG源头文章中,我们初识了并发编程的三个bug源头:可见性、原子性、有序性。在如何解决可见性和原子性文章中我们大致了解了可见性和有序性的解决思路,今天轮到最后一个大bug,那就是原子性。知识回顾_1锁模型_2_3JAVA中的锁模型锁是一种通用的技术方案,Java语言提供的synchronized关键字,就是锁的一种实现。synchronized是独占锁/排他锁(就是有你没我的意思),但
胖滚猪学编程
·
2023-09-11 21:22
前端面试
基础面试题
——8
1.简单描述下微信小程序的相关文件类型?2.你是怎么封装微信小程序的数据请求的?3.微信小程序有哪些参数传值的方法?4.你使用过哪些方法,来提高微信小程序的应用速度?5.小程序与原生App哪个好?6.简述微信小程序原理?7.分析下微信小程序的优劣势?8.小程序的wxss和css有哪些不一样的地方?9.使用webview直接加载要注意哪些事项?10.小程序调用后台接口遇到哪些问题?1.简单描述下微信
翻斗花园-图图
·
2023-09-11 16:56
前端
【JUC】一、
Java并发编程
基础知识
JUC基础前置知识进程与线程进程程序由指令和数据组成,程序要执行就必须将指令加载到CPU,将数据加载至内存。同时在程序的运行过程中还需要用到磁盘、网络等设备,进程就是用来加载指令、管理内存、管理IO的。程序被执行时,程序会将代码加载至内存,这时就开启了一个进程进程可以视为是程序的一个实例。大部分程序可以同时运行多个实例(记事本、画图、浏览器等),但也有一部分程序只能运行一个实例(安全卫士、网易云音
清河__
·
2023-09-11 14:01
JUC
java
开发语言
java
基础面试题
第二天
1.java
基础面试题
第三天1.数组到底是不是对象是对象。先说说对象的概念。对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体。
阿福66
·
2023-09-11 00:41
java
开发语言
面试
java
基础面试题
第四天
一、java
基础面试题
第四天1.String为什么不可变?
阿福66
·
2023-09-11 00:38
java
spring
开发语言
java并发编程
LinkedBlockingQueue详解
文章目录前言1LinkedBlockingQueue是什么2核心属性详解3核心方法详解3.1offer(Ee)3.2put(Ee)3.3take()3.4poll()3.5peek()3.6remove(Objecto)3.7drainTo(Collectionc,intmaxElements)总结前言学习LinkedBlockingQueue需要掌握ReentrantLock原理,或者了解其使用
java爬坑中
·
2023-09-10 21:58
java并发编程
java
java并发编程
LinkedBlockingDeque详解
文章目录1LinkedBlockingDeque是什么2核心属性详解3核心方法详解3.1addFirst(Ee)3.2offerFirst(Ee)3.3putFirst(Ee)3.4removeFirst()3.5pollFirst()3.6takeFirst()3.7其他4总结1LinkedBlockingDeque是什么首先queue是一种数据结构,一个集合中,先进后出,有两种实现的方式,数组
java爬坑中
·
2023-09-10 21:58
java并发编程
java
java并发编程
PriorityBlockingQueue详解
文章目录1PriorityBlockingQueue是什么2核心属性详解3核心方法详解3.1offer(Ee)3.2poll()3.3take()3.4peek()4总结1PriorityBlockingQueue是什么PriorityBlockingQueue类上的注释描述:一个无界阻塞队列,它使用与类PriorityQueue相同的排序规则,并提供阻塞检索操作。PriorityQueue又是什
java爬坑中
·
2023-09-10 21:58
java并发编程
java
java并发编程
ConcurrentLinkedQueue详解
文章目录1ConcurrentLinkedQueue是什么2核心属性详解3核心方法详解3.1add(Ee)3.2offer(Ee)3.3poll()3.4size()3.5并发情况分析4总结1ConcurrentLinkedQueue是什么ConcurrentLinkedQueue是一个无界的并发队列,和LinkedBlockingQueue相比,它是通过完全的cas实现的,是非阻塞的。Linke
java爬坑中
·
2023-09-10 21:57
java并发编程
java
Java并发编程
-认识Java里的线程
上一篇我们已经了解进程和线程的相关概念CPU线程调度的基本原理,这回我们来看看java是怎么支持多线程的。任何一个程序都必须要创建线程,特别是Java。不管任何程序都必须启动一个main函数的主线程;JavaWeb开发里面的定时任务、定时器、JSP和Servlet、异步消息处理机制,远程访问接口RM等都离不开线程。文章目录1.Java程序天生就是多线程的2.创建和启动线程3.带有返回值的线程4.线
千月落
·
2023-09-10 20:55
Java
多线程
thread
并发编程
前端面试
基础面试题
——7
1.一个div,有几种方式得到这个div的jQuery对象?2.是否知道自定义事件?jQuery里的fire函数是什么意思,什么时候用?3.针对jQuery的优化方法?4.jQuery通过哪个方法和Sizzle选择器结合的?5.jQuery对象的特点?6.介绍下Promise.all使用、原理实现及错误处理?7.jQuery的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?8.jQuer
翻斗花园-图图
·
2023-09-10 19:50
前端
多线程大汇总
如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(
Java并发编程
与技术内幕:线程池深入理解),或者看这个专栏:
Java并发编程
与技术内幕。你将会对Java里头的高并发场景下的线程
雪飞静
·
2023-09-10 09:52
【深入java并发编程吧】
多线程
Vue面试基础题 标准答案汇总二
面试问题今天还是这位小姐姐陪我们来看第二篇VueJs的
基础面试题
汇总,方便大家记住和理解面试过程中的一些理论知识点。
小北哥哥
·
2023-09-10 02:57
了解 Java 并发编程中的 volatile 关键字
@作者:一恍过去@主页:https://blog.csdn.net/zhuocailing3390@社区:Java技术栈交流@主题:了解
Java并发编程
中的volatile关键字⏱️@创作时间:2023
一恍过去
·
2023-09-10 01:36
java
开发语言
jvm
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他