文章 2023-03-28 来自:开发者社区

Java 最常见的面试题:spring 中的 bean 是线程安全的吗?

Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说spring容器中的Bean本身不具备线程安全的特性,但是具体还是要结合具体scope的Bean去研究。

文章 2023-03-16 来自:开发者社区

JAVA面试——JAVA多线程并发(四)

4.1.24.什么是AQS (抽象的队列同步器)AbstractQueuedSynchronizer类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问 共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch。它维护了一个volatile int state (代表共享资源)和一个FIFO线程等待队列(多线程争用....

JAVA面试——JAVA多线程并发(四)
文章 2023-03-16 来自:开发者社区

JAVA面试——JAVA多线程并发(三)

4.1.14.JAVA阻塞队列原理阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:1.当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放 入队列。 2.当队列中填满数据的情况下,生产者端的所有线程都会被自动阻塞(挂起),直到队列中有 空的位置,线程被自动唤醒。4.1.14.1.阻塞队列的主要方法■ 抛出异常:抛出一个异常;....

JAVA面试——JAVA多线程并发(三)
文章 2023-03-14 来自:开发者社区

Java 最常见面试题:哪些集合类是线程安全的?

vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。statck:堆栈类,先进后出。hashtable:就比hashmap多了个线程安全。enumeration:枚举,相当于迭代器。

文章 2023-03-13 来自:开发者社区

JAVA面试——JAVA多线程并发(二)

4.1.9.5. ReentrantLockReentantLock 继承接口 Lock 并实现了接口中定义的方法,他是一种可重入锁,除了能完成 synchronized 所能完成的所有工作外,还提供了诸如可响应中断锁、可轮询锁请求、定时锁等避免多线程死锁的方法。Lock 接口的主要方法1. void lock(): 执行此方法时, 如果锁处于空闲状态, 当前线程将获取到锁. 相反, 如果锁已经....

JAVA面试——JAVA多线程并发(二)
文章 2023-03-13 来自:开发者社区

JAVA面试——JAVA多线程并发(一)

3.1.1 JAVA 并发知识库3.1.2 JAVA 线程实现/创建方式3.1.2.1 继承 Thread 类Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法。--------------------....

JAVA面试——JAVA多线程并发(一)
文章 2023-03-10 来自:开发者社区

JAVA面试——JVM(一)线程与内存

1.JVM基本概念JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。运行过程我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。也就是如下:① J....

JAVA面试——JVM(一)线程与内存
文章 2023-02-22 来自:开发者社区

Java面试题之线程池应用及原理

目录一、线程是不是越多越好二、线程池API1、接口定义和实现类2、方法定义3、ThreadPoolExecutor构造器参数详解4、Executors工具类三、线程池原理1、线程池组成2、线程池中的概念3、线程池任务执行过程四、如何确定合适的线程数量一、线程是不是越多越好1.线程在java中是一个对象,更是操作系统的资源,线程创建、销毁需要时间。如果创建时间 + 销毁时间大于执行时间就很不合算。....

Java面试题之线程池应用及原理
文章 2023-02-22 来自:开发者社区

Java面试题之线程通信的方式

一、线程通信的方式二、线程协作-JDK API1、被弃用的suspend和resume(1) 正常的suspend/resume使用示例(2) 造成死锁的suspend/resume示例2、wait/notify机制(1) wait/notify正确使用示例(2) wait/notify死锁示例(notify先调用)3、park/unpark机制(1) 正确的park/unpark使用示例(2)....

Java面试题之线程通信的方式
文章 2023-02-22 来自:开发者社区

Java面试题之线程状态

一、线程状态的6个定义ava中线程状态的定义在java.lang.Thread.State类里,共分为5个状态,如下:New:尚未启动的线程的线程状态。Runnable:可运行线程的线程状态,等待CPU调度。Blocked:线程阻塞等待获取同步监视器锁定的线程状态,处于阻塞状态的线程在进入同步代码块/同步方法或者再次进入同步代码块/同步方法前需获取同步监视器的锁定。Waiting:等待线程的状态....

Java面试题之线程状态

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注