首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java
纵然间
创建于2024-02-24
订阅专栏
Java全栈知识体系
等 1 人订阅
共152篇文章
创建于2024-02-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java多线程并发编程问答-No8
一.Java中用到的线程调度算法是什么? 抢占式。 一个线程用完CPU指挥,操作系统会根据线程优先级、线程饥饿情况等数据算出一个总的优先级并分配下一个时间片给某个线程执行。 二.什么是线程调度器和时间
Java多线程并发编程问答-No7
一.线程的调度策略 线程调度器选择优先级最高的线程运行,但是,如果发生以下情况,就会终止线程的运行: 1.线程体中调用了yield方法让出了对CPU的占用权力 2.线程体中调用了sleep方法使
Java多线程并发编程问答-No6
一.ReadWriteLock是什么? 首先明确一下,不是说ReentrantLock不好,只是ReentrantLock某些时候有局限。如果使用ReentrantLock,可能本身是为了 防止线程A
Java多线程并发编程问答-No5
一.什么是CAS? CAS是compare and swap的缩写,即我们所说的比较交换。 CAS是一种基于锁的操作,而且是乐观锁。在Java中锁分为乐观锁和悲观锁。悲观锁是将资源锁住,等一个之前获取
Java多线程并发编程问答-No4
一.创建线程有哪些方式? 1.继承Thread类创建线程类 2.通过Runnable接口创建线程类 3.通过Callable和Future创建线程 4.通过线程池创建 二.创建线程的三种方式对比 1.
Java多线程并发编程问答-No3
一.同步方法和同步块,哪个是更好的选择? 同步块是更好的选择,因为它不会锁住这个对象(当然你也可以让它锁住整个对象)。同步方法会锁住整个对象,哪怕这个类中有多个不相关联的同步块,这通常导致它们停止执行
Java多线程并发编程问答-No2
一.什么是阻塞方法? 阻塞式方法是指程序会一直等待该方法完成期间不做其它事情,ServerSocket的accept()方法就是一直等待客户端连接。这里的阻塞是指调用结果返回之前,当前线程会被挂起,直
Java多线程并发编程问答-No1
一.CopyOnWriteArrayList 可以用于什么应用场景? CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这个列表时,不会抛出Concurrent
java并发编程基础面试问答
1.什么是FutureTask?使用ExecutorService启动任务 在Java并发程序中FutureTask表示一个可以取消的异步运算。它有启动和取消运算、查询运算是否完成和取回运算结果等方法
什么是不可变对象?它对并发应用有什么帮助?
不可变对象(Immutable Objects)即对象一旦被创建它的状态(对象的数据,也就是对象属性值)就不能改变,反之即为可变对象(Mutable Objects)。 不可变对象的类即为不可变类(
线程等待、唤醒、实现相关
1.Java如何实现多线程之间的通讯和协作? 中断 和 共享变量。 2.notify()和notifyAll()有什么区别? 当一个线程进入wait之后,就必须等其他线程notify/notifyal
多线程锁相关面试
1、SynchronizedMap和ConcurrentHashMap有什么区别? SyncronizedMap一次锁住整张表来保证线程安全,所以每次只能有一个线程来访问map。 Concurrent
什么是原子操作?在Java 中有哪些原子操作?
原子操作(Atomic operation)意为”不可被中断的一个或一系列操作“。处理器使用基于对缓存加锁或总线程加锁的方式来实现多处理器之间的原子操作。 在Java中可以通过锁和循环CAS的方式来实
什么是Daemon线程?它有什么意义?
所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这个线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程
Java中Executor和Executors区别
Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务的需求。 Executor接口对象能执行我们的线程任务。 ExecutorService接口继承了Executor接口并
为什么使用Executor框架
每次执行任务创建线程 new Thread() 比较消耗性能,创建一个线程是比较耗时、耗资源的。 调用new Thread() 创建的线程缺乏管理,被称为野线程,而且可以无限制的创建,线程之间的相互竞
Java线程相关知识点盘点
1、Java中守护线程和本地线程区别 Java中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bo
Innodb如何实现事务的
Innodb通过buffer Pool,LogBuffer,Redo log,Undo log来实现事务,以update语句为例: 1、Innodb在收到一个update语句后,会先根据条件查找数据所
Redis和MySQL保证数据一致
1、先更新MySQL,再更新Redis,如果更新Redis失败,可能数据不一致 2、先删除Redis缓存数据,再更新MySQL,再次查询的时候再将数据添加到缓存中,这种方案能解决1方案的问题,但是在高
理解Netty和Tomcat区别和特点
Netty是一个基于NIO的一步网络通信框架,性能高,封装了原生NIO编码的复杂度,开发者可以直接使用Netty来开发高效率的各种网络服务器,并且编码简单。 Tomcat是一个Web服务器,是一个Se
下一页