各大公司Java后端开发面试题总结
发布时间:2021-01-01 08:50:04 所属栏目:交互 来源:网络整理
导读:ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadL
线程池本身的状态: 等待任务队列和工作集:
线程池的主要状态锁:
线程池的存活时间和大小:
1.2 ThreadPoolExecutor 的内部工作原理有了以上定义好的数据,下面来看看内部是如何实现的 。 Doug Lea 的整个思路总结起来就是 5 句话:
Executor包结构 CopyOnWriteArrayList : 写时加锁,当添加一个元素的时候,将原来的容器进行copy,复制出一个新的容器,然后在新的容器里面写,写完之后再将原容器的引用指向新的容器,而读的时候是读旧容器的数据,所以可以进行并发的读,但这是一种弱一致性的策略。使用场景:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。
Linux常用命令:cd,cp,mv,rm,ps(进程),tar,cat(查看内容),chmod,vim,find,ls 死锁的必要条件
解决死锁,第一个是死锁预防,就是不让上面的四个条件同时成立。二是,合理分配资源。三是使用银行家算法,如果该进程请求的资源操作系统剩余量可以满足,那么就分配。 进程间的通信方式
数据库事务是指作为单个逻辑工作单元执行的一系列操作。 友情链接:
(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |