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并发编程基础面试题
Redis
基础面试题
1、谈谈你对Redis的理解?它的使用场景有哪些?Redis是一个开源的内存中的数据结构存储系统、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,消息中间件。Redis使用场景:1)会话缓存(SessionCache),是Redis最常使用的一种情景;2)全页缓存(FPC);3)用作网络版集合和队;4)排行榜和计数器,Redis在内存中对数字递增、递减的操作实现的非常好。Set和
执着的逗比
·
2023-08-18 05:20
[Go版]算法通关村第十二关白银——字符串经典
基础面试题
目录反转专题题目:反转字符串思路分析:左右双指针+对向交换复杂度:时间复杂度O(n)O(n)O(n)、空间复杂度O(1)O(1)O(1)Go代码题目:反转字符串II思路分析:K个一组反转思想(找到每组的首尾索引)复杂度:时间复杂度O(n)O(n)O(n)、空间复杂度O(n)O(n)O(n)Go代码题目:仅仅反转字母思路分析:左右双指针+对向交换字母+跳过非字母复杂度:时间复杂度O(n)O(n)O(
小小小熊猫5
·
2023-08-18 02:12
算法与数据结构
算法
golang
基础面试题
:大端、小端及转换方式
理解网络中大端和小端往往是一道
基础面试题
,这里作为记录和整理,希望能帮到大家目录前言一、字节序二、什么小端顺序三、什么大端顺序四、处理器体系所属网络字节顺序五、大小端转换1、大端整形转换为小端2、小端转换为小端
魂玉天成
·
2023-08-17 20:40
基础面试题
网络协议
java
基础面试题
总结
java中==和equals和hashCode的区别1、基本数据类型byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。2、复合数据类型(类)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址3、equals是Objec类的方法,用于比较两个对象是否相等,默认Object类的equals方法是比
zhuzhiqiang00
·
2023-08-17 13:52
java
基础面试题
——ArrayList底层和LinkedList的区别呢
java
基础面试题
001—ArrayList底层机制和LinkedList比较总结List、Set实际应用一、ArrayList对比LinkedList1、ArrayList的介绍:2、LinkedList
BigTree的学习之路
·
2023-08-17 06:36
《程序员必学的基础》
java
链表
面试
Java
基础面试题
之ArrayList和LinkedList有什么区别?
Java
基础面试题
之ArrayList和LinkedList有什么区别?ArrayList和LinkedList都是List集合的一部分。两者在底层构造上面有着很大的不同。
Concentration.
·
2023-08-17 06:01
java
链表
数据结构
面试
每日一道Java
基础面试题
— ArrayList 和 linkedList的区别
List—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。List有两个重要的实现类:ArrayList和LinkedListArrayList:可以看作是能够自动增长容量的数组ArrayList的toArray方法返回一个数组ArrayList的asList方法返回一个列表ArrayList底层的实现是Array,数组扩容实现LinkedList是一个双
CSNZのBlog
·
2023-08-17 06:31
#
Java基础面试题
java
数据结构
链表
Java
基础面试题
4-描述一下ArrayList和LinkedList各自实现和区别
1.List是接口类,ArrayList和LinkedList是List的实现类。2.ArrayList是动态数组(顺序表)的数据结构。顺序表的存储地址是连续的,所以在查找比较快,但是在插入和删除时,由于需要把其它的元素顺序向后移动(或向前移动),所以比较熬时。3.LinkedList是链表的数据结构。链表的存储地址是不连续的,每个存储地址通过指针指向,在查找时需要进行通过指针遍历元素,所以在查找
滨仔_
·
2023-08-17 06:00
java面试
高并发编程系列:并发容器的原理,7大并发容器详解、及使用场景
并发容器的由来在
Java并发编程
中,经常听到Java集合类,同步容器、并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢?
晴栀吖
·
2023-08-17 06:03
Java并发编程
:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。以下是本文目录大纲:一.对ThreadLocal的理解二.深入解析ThreadLocal类三.ThreadLocal的应用场景若有不正之处
03ca2835cf70
·
2023-08-17 02:32
JAVA面试宝典-Java 基础 知识
JAVA
基础面试题
1.Java基础知识1.1面向对象的特征1.2JAVA中基本数据类型1.3JDKJREJVM的区别1.4重载和重写的区别1.5Java中==和equals的区别1.6StringStringBufferStringBuilder
sprout~
·
2023-08-16 13:07
JAVA面试宝典
java
面试
经验分享
Java并发编程
(七)实践[生产者-消费者]
生产者-消费者概述生产者消费者问题,也称有限缓冲问题,是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程在多线程开发中,如果生产者(生产数据的线程)处理速度很快,而消费者(消费数据的线程)处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,便有了生产者和消费者模式具
奉先节度使
·
2023-08-16 04:57
#
Java
java
Java并发编程
(五)线程同步 下 [CAS/原子类/同步容器类/同步工具类]
CAS概述CAS全称为Compare-And-Swap。它是一条CPU的原子指令,是硬件对于并发操作共享数据的支持。其作用是CPU在某个时刻比较两个值是否相等核心原理:在操作期间CAS先比较下主存中的值和线程中工作内存中的值是否相等,如果相等才会将主存中的值更新为新值,不相等则不交换(如果不相等则会一直通过自旋方式尝试更新值)CAS指令存在如下问题:ABA问题:两个时刻比较值都会存在ABA问题,原
奉先节度使
·
2023-08-16 04:27
#
Java
java
Java并发编程
(六)线程池[Executor体系]
概述在处理大量任务时,重复利用线程可以提高程序执行效率,因此线程池应运而生。它是一种重用线程的机制,可以有效降低内存资源消耗提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行线程池可以帮助我们更好地管理线程的生命周期和资源使用,避免线程频繁地创建和销毁带来的性能问题同时,线程池还可以提供一些额外的功能,例如线程池的大小控制、线程池的任务队列、线程池的拒绝策略等。线程池中通常维护一
奉先节度使
·
2023-08-16 04:26
#
Java
java
转载】
Java并发编程
系列04 | Java内存模型详解
文章见:【原创】
Java并发编程
系列03|重排序-可见性和有序性问题根源那么,作为从最开始就支持并发的语言,Java是如何解决这些核心问题的呢?
大锤强无敌
·
2023-08-16 03:38
JAVA多线程—Executor
这里借用《
Java并发编程
的艺术》提到的来说一下使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。
Zak1
·
2023-08-16 01:18
java并发编程
(一)缓存一致性协议
多线程环境下存在的问题缓存一致性问题,指令重拍问题,可见性,有序性,缓存一致性问题在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存(MainMemory)。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是也引入了新的问题:缓存一致性(CacheCoherence)。当多个处理器的运算任务都涉及同一块主内存区域时,将可能导致各自的缓存数据不一致的情况,如果真的发生
胡志强
·
2023-08-16 01:03
html
基础面试题
& html的元素居中的常用方法(基础知识温习)
html
基础面试题
&html的元素居中的常用方法日常温习1,使用text-align:center;属性:对于内联元素(如文本或图片),可以将其父元素的text-align属性设置为center。
·
2023-08-15 16:50
前端html5居中
Java并发编程
:CAS和AQS
一、什么是CASCAS(CompareAndSwap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数————内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。CAS有效地说明了“我认为位置V应该包含值A;如果包
程序员116号
·
2023-08-15 11:43
html
基础面试题
& html的元素居中的常用方法(基础知识温习)
html
基础面试题
&html的元素居中的常用方法日常温习1,使用text-align:center;属性:对于内联元素(如文本或图片),可以将其父元素的text-align属性设置为center。
天渺工作室
·
2023-08-15 11:54
Html5+Css3
前端面试题
html
html居中
前端
基础面试题
(JavaScript部分)
1、什么是JavaScript?基于对象和事件驱动可解释性脚本语言2、JavaScript与ECMAScript的关系?JavaScript是ECMAScript的表现,ECMAScript是JavaScript的规范3、变量的命名规则?1.名字见名知义,遵循驼峰标识。例:userNamepassWord2.变量名只能以字母,_,$开头3.不能使用关键和保留字4.变量名不要相同(后面的会覆盖前面)
编码梦想家
·
2023-08-15 07:35
Java
基础面试题
第二期(2021最新版)
本文收录于《面试小抄》系列,Github地址(可下载pdf):https://github.com/cosen1024/Java-Interview国内Gitee(可下载pdf):https://gitee.com/cosen1024/Java-Interview本文包含了String、包装类型、反射、泛型、序列化、异常和IO的常见面试题。本文收录于《面试小抄》系列,Github地址:https:
程序员库森
·
2023-08-15 07:24
Java并发编程
之验证volatile指令重排-理论篇
Java并发编程
之验证volatile指令重排-理论篇Java并发包下的类中大量使用了volatile关键字。
凯哥Java
·
2023-08-15 04:06
Java并发编程
的艺术_Conc
Java并发编程
的艺术1并发编程的挑战1.1上下文切换即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。
silverbo1
·
2023-08-14 23:54
java并发编程的艺术
java
并发编程
Linux运维工程师常见
基础面试题
1、tcp三次握手四次挥手详解TCP是一种面向连接的协议,通信前需要建立连接,通信结束后需要释放连接。TCP通过三次握手建立连接,四次挥手释放连接。三次握手:1、客户端向服务器发送SYN包,表示请求建立连接。2、服务器收到SYN包后,回复一个SYN+ACK包,表示确认收到请求,并准备好建立连接。3、客户端收到服务器的SYN+ACK包后,回复一个ACK包,表示确认建立连接。四次挥手:1、客户端发送一
完颜振江
·
2023-08-14 16:38
linux
运维
服务器
java
基础面试题
-String深入理解
String实现源码image.png在java6之前,String对象主要有四个成员变量:char[]数组,offset偏移量,count字符数量,hash哈希值;通过offset和count两个属性可以定位char[]数组,共享数组对象,但是有可能会导致内存泄露。泄露原因:调用subString获取小段字符串时,会共享原String对象,如果subString的对象一直被引用,且原String
d6bebf38e463
·
2023-08-14 08:12
JUC线程池的实战问题 - 线程池参数应该如何配置?
在《
Java并发编程
实战》一书中,作者BrianGoetz等人指出,线程池的规模应该根据任务类型和计算密集度来确定,对于CPU密集型任务,应该将核心线程数设置为处理器核心数加1或者2;对于I/
@Autowire
·
2023-08-13 14:08
JUC面试题汇总
java
2023年最新JavaScript
基础面试题
(62题&附答案)
目录1.介绍JavaScript的基本数据类型?2.浅谈JavaScript中变量和函数声明的提升?3.什么是闭包,闭包有什么特性?4.说说对闭包的理解和闭包的作用5.说说This对象的理解6.事件模型的理解7.new操作符具体干了什么?8.说说栈和堆的理解,以及它们的区别?9.JS数组和对象的遍历方式,以及几种方式的比较10.map与forEach的区别11.谈一谈箭头函数与普通函数的区别?12
Achong_0427
·
2023-08-13 10:35
前端面试秘籍
javascript
开发语言
面试
分布式定时任务系列5:XXL-job中blockingQueue的应用
传送门分布式定时任务系列1:XXL-job安装分布式定时任务系列2:XXL-job使用分布式定时任务系列3:任务执行引擎设计分布式定时任务系列4:任务执行引擎设计续
Java并发编程
实战1:java中的阻塞队列引子这篇文章的主要目不是讨论
kobe_t
·
2023-08-13 06:39
#
分布式调度
java
Java并发编程
(四)线程同步 中 [AQS/Lock]
概述Java中可以通过加锁,来保证多个线程访问某一个公共资源时,资源的访问安全性。Java提出了两种方式来加锁第一种是我们上文提到的通过关键字synchronized加锁,synchronized底层托管给JVM执行的,并且在java1.6以后做了很多优化(偏向锁、自旋、轻量级锁),使用很方便且性能也很好,所以在非必要的情况下,建议使用synchronized做同步操作;第二种是本文将要介绍的通过
奉先节度使
·
2023-08-12 23:33
#
Java
java
Java并发编程
(一)多线程基础概念
概述多线程技术:基于软件或者硬件实现多个线程并发执行的技术线程可以理解为轻量级进程,切换开销远远小于进程在多核CPU的计算机下,使用多线程可以更好的利用计算机资源从而提高计算机利用率和效率来应对现如今的高并发网络环境并发编程核心三要素原子性原子,即一个不可再被分割的颗粒。在Java中原子性指的是一个或多个操作要么全部执行成功要么全部执行失败有序性程序执行的顺序按照代码的先后顺序执行。(处理器可能会
奉先节度使
·
2023-08-12 23:03
#
Java
java
Java并发编程
(二)并发理论[JMM/重排序/内存屏障/Happens-Before 规则]
JMM(Java内存模型)概述JMM即Java内存模型(JavaMemoryModel),是一种抽象的概念,并不真实存在,JMM描述的是一组规则或规范,通过这组规范定义了程序中各个变量的访问方式Java内存模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作必须在工作内存中进行,所以首先要将变量从主内存拷贝的自己的工作内存空间,然后对变量进行操作,操作完成
奉先节度使
·
2023-08-12 23:03
#
Java
java
Java并发编程
(三)线程同步 上[synchronized/volatile]
概念当使用多个线程来访问同一个数据时,将会导致数据不准确,相互之间产生冲突,非常容易出现线程安全问题,比如多个线程都在操作同一数据,都打算修改商品库存,这样就会导致数据不一致的问题。所以我们通过线程同步机制来保证线程安全,加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。线程同步本质就是“排队“,多个线程之间要排队,然后一个一个对共享资源进行操作,而不是
奉先节度使
·
2023-08-12 23:30
#
Java
java
Java并发编程
:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。今天我们就来讨论
小小哭包
·
2023-08-12 23:40
开发技巧经验分享
java
开发语言
Java
基础面试题
Java
基础面试题
什么是面相对象?谈谈对面向对象的理解?jdkjrejvm他们的关系是什么?==和equal?==比较的是栈中的值。
指尖‖舞者
·
2023-08-12 17:15
java
开发语言
26.Netty源码之ThreadLocal
ThreadLocal可以理解为线程本地变量,它是
Java并发编程
中非常重要的一个类。
然而,然而
·
2023-08-11 15:22
.net
python
开发语言
AbstractQueuedSynchronizer 队列同步器源码分析
(摘自《
Java并发编程
的艺术》)我们知道获取同步状态有独占和共享两种模式,本文先针对独占模式进行分析。变量定义privatetransientvolatileNodehead;head
断风雨_2669
·
2023-08-11 06:23
线程池的getPoolSize()方法只增不减?
在《
Java并发编程
的艺术》第九章9.2.5节中,对线程池的参数监控方法有以下描述:getPoolSize:线程池的线程数量。如果线程池不销毁的话,线程池里的线程不会自动销毁,所以这个大小只增不减。
Divenier
·
2023-08-11 02:02
java
基础面试题
(一)
1.知道synchronized原理么?synchronized是java提供的原子性内置锁,这种内置的并且使用者看不到的锁被陈伟监视器锁。使用synchronized之后,会在编译之后在同步代码块前后添加monitorenter和monitorexit字节码指令,依赖操作系统底层互斥锁的实现,作用是实现原子性操作和解决共享变量的内存可见性问题。执行monitorenter指令时会尝试获取对象锁,
Chen_leilei
·
2023-08-10 22:37
JAVA
面试
java
开发语言
【
Java并发编程
】再现ABA问题与解决ABA问题
文章目录1.什么是ABA问题2.如何解决ABA问题1.什么是ABA问题如果另一个线程把值A,先修改为B,再修改为A。当前线程看到的值还是A,并不知道值中间是否发生过变化。这就是ABA问题。举个:在你非常渴的情况下你发现一个盛满水的杯子,你一饮而尽。之后再给杯子里重新倒满水。然后你离开,当杯子的真正主人回来时看到杯子还是盛满水,他当然不知道是否被人喝完重新倒满。我们考虑下面一种ABA的情况:在多线程
Fire Fish
·
2023-08-10 06:33
java
java
开发语言
【
Java并发编程
】使用CompletableFuture最佳实践
文章目录1.什么是CompletableFuture2.为什么需要CompletableFuture3.使用CompletableFuture创建类接续类(thenXxx)4.使用CompletableFuture的一般范式CompletableFuture是Future的增强版,是多线程开发的利器。本文通俗易懂的介绍了CompletableFuture的用法,最后祭出CompletableFut
Fire Fish
·
2023-08-10 05:56
java
java
【连载】第3章-3.1.2-4可见性(long在多线程下不具有原子性)
《
JAVA并发编程
实战》解读【连载】第3章-3.1.2-4可见性回顾:上一节聊了共享变量,如果多线程共有,可能会导致失效的风险,增加synchronized保护后,可以避免风险的发生,这一节聊一聊可见性的其他问题和解决方式
可爱猪猪
·
2023-08-09 13:14
Java并发之原子变量及CAS算法-下篇
Java并发之原子变量及CAS算法-下篇概述本文主要讲在
Java并发编程
的时候,如果保证变量的原子性,在JDK提供的类中式怎么保证变量原子性的呢?。
凯哥Java
·
2023-08-09 08:06
Java并发编程
之顺序一致性
如果程序是正确同步的,程序的执行将具有顺序一致性(SequentiallyConsistent)——即程序的执行结果与该程序在顺序一致性内存模型中的执行结果相同。同步,即排队。同一时刻,只能有一个线程和内存交互!!顺序一致性内存模型两大特性一个线程中的所有操作必须按照程序的顺序来执行。(不管程序是否同步)所有线程都只能看到一个单一的操作执行顺序。在顺序一致性内存模型中,每个操作都必须原子执行且立刻
yYahoo~
·
2023-08-09 02:45
并发编程
Java
java
python
基础面试题
汇总(持续更新),冲击offer
目录1.概念理解题python内置数据结构,哪些是不可变的python新式类和经典类的区别is和==有什么区别Python中变量查找顺序python函数的参数是值传递还是引用传递python垃圾回收机制什么是闭包什么是装饰器,开发中用到举例如何实现只读属性Python中类方法、实例方法、静态方法有何区别new和init的区别,什么时候使用到如何查一个对象的所有属性Python中如何动态获取和设置对
coder Ethan
·
2023-08-08 17:42
面试冲击
python
开发语言
后端
并发——线程的生命周期和状态
文章目录Java线程在运行的生命周期中的指定时刻只可能处于下面6种不同状态的其中一个状态(图源《
Java并发编程
艺术》4.1.4节)。
挨打且不服66
·
2023-08-08 15:16
java笔记整理
java
Linux
基础面试题
(二)分享,看看你能答对几道(附带答案)?
1.显示一个文件最后几行的命令是:A.tacB.tailC.rearD.last2.如何快速切换到用户John的主目录下?
[email protected]
#JohnC.cd&JohnD.cd~John3.把一个流中所有字符转换成大写字符,可以使用下面哪个命令?A.tra-zA-ZB.taca-zA-ZC.sed/a-z/A-ZD.sed--toupper4.使用什么命令可以查看Linux的启动信息?A.
小猿圈加加
·
2023-08-08 14:30
Java 编程之美:并发编程高级篇,必须码住了!
前言借用
Java并发编程
实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。
Java喵
·
2023-08-08 09:58
Java并发编程
实战
线程安全性一个对象是否线程安全,取决于它是否被多个线程访问Java的同步机制关键字是synchronized,它提供了一种独占的加锁方式,但“同步”这个术语还包括volatile类型的变量,显式锁以及原子变量由于不恰当的执行时序而出现不正确的结果这种情况成为:静态条件(racecondition,这里的condition翻译成情况更合适)大多数竞态条件的本质:基于一种可能失效的观察结果做出判断或者
官大航
·
2023-08-08 01:18
Java并发编程
:什么是CAS?这回总算知道了
无锁的思想众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全。然而,锁虽然有效,但采用的是一种悲观的策略。它假设每一次对临界区资源的访问都会发生冲突,当有一个线程访问资源,其他线程就必须等待,所以锁是会阻塞线程执行的。当然,凡事都有两面,有悲观就会有乐观。而无锁就是一种乐观的策略,它假设线程对资源的访问是没有冲突的,同时所有的线程执行
鄙人薛某
·
2023-08-07 23:32
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他