我在接受采访时被问到这个问题,我只能回答jndi并且不确定是否还有其他类似对象池,线程池。任何人都可以帮忙吗?
答案 0 :(得分:1)
在计算机科学中,池是一组可以随时使用的资源,而不是在使用时获取并在之后发布。在此上下文中,资源可以引用系统资源,例如文件句柄,它们是进程外部的,或者是内部资源,例如对象(更多信息)。
在Java中有
扩展线程池你可以拥有
java中有各种线程池:
单线程执行程序:只有一个线程的线程池。因此,所有提交的任务将按顺序执行。方法:Executors.newSingleThreadExecutor()
缓存线程池:一个线程池,它创建了以并行方式执行任务所需的线程数。旧的可用线程将重新用于新任务。如果在60秒内未使用某个线程,它将被终止并从池中删除。方法:Executors.newCachedThreadPool()
固定线程池:具有固定线程数的线程池。如果某个线程不可用于该任务,则该任务将进入队列,等待其他任务结束。方法:Executors.newFixedThreadPool()
预定线程池:用于安排未来任务的线程池。方法:Executors.newScheduledThreadPool()
单线程预定池:只有一个线程的线程池,用于安排将来的任务。方法:Executors.newSingleThreadScheduledExecutor()
就内存池而言,我不完全确定执行内存分配(类似于malloc,calloc等)的垃圾收集和/或Java的其他功能是否使用内存游泳池与否。